Time Nick Message 01:30 MTDiscord Guest54: that is a really good question. They were all there the last time I released, and now they're not 01:30 MTDiscord @wsor any ideas? 01:31 Guest54 i bet it got deleted because of some copyright 01:31 MTDiscord > okay i was informed the older versions had copyright infringement 01:32 Guest54 AncientMariner i bet i'd not be the only person who would appreciate if you could put out a version that supports 5.4 there (it's in ubuntu LTS or something like that) without the offending files 01:32 Guest54 anyways, i understand that cdb is doing this, no one wants to get steamrolled by copyright maximalists 01:33 MTDiscord oh right, shouldn't i be notified of this? 01:33 Guest54 well … if this is new to you, probably lol 01:34 Guest54 maybe the prev maintainer got a mail? no idea when it was 01:34 MTDiscord i understand they have to do these things and act quickly, so no objections to the action 01:34 Guest54 btw, you can remote control boats by attaching to something else 01:34 Guest54 like, sit in a boat, get in a minecart, you still control the boat 01:36 MTDiscord Guest54, if you use the forum post for compatability, you could probably get it from tags: https://git.minetest.land/MineClone2/MineClone2/tags 01:37 Guest54 Guest54, the thing is, cdb works by version numbers and you simply can't download it if your client is too old 01:37 Guest54 i mean AncientMariner 01:37 Guest54 but yes, i'll use that 01:37 MTDiscord https://forum.minetest.net/viewtopic.php?t=16407 01:37 MTDiscord yeah, I cannot do anything about copyright strike 01:38 MTDiscord plus we only support the last 2 versions 01:38 MTDiscord if you're on debian super stable, you might be a little too far from the bleeding edge 😛 01:38 Guest54 well you could tell me which files that were 01:38 MTDiscord Download version 0.76.0 (for Minetest 5.4.1 / 5.5.1) (ca. 34 MiB) Download version 0.71.0 (for Minetest 5.3.0 / 5.4.0) (ca. 28 MiB) 01:38 MTDiscord the forum post has it all 01:39 MTDiscord but the game has moved on a lot 01:39 Guest54 wdym moved on 01:39 MTDiscord you'd have more joy updating 01:39 MTDiscord or using flatpak 01:39 MTDiscord the game is unrecognisable from about 3 releases ago 01:39 MTDiscord even more, and i cannot imagine it 01:39 Guest54 not sure if i want it 01:40 Guest54 also why is 0.82.0 50MB and 0.81.1 is 34MB 01:40 Guest54 like what kind of bloat happened in between 01:40 Guest54 or did someone finally add all the source files for the models? 01:41 Guest54 or is that all new content? 01:41 Guest54 i mean “unrecognizable” could be a 16MB difference 01:41 MTDiscord music... 01:42 MTDiscord i mean we're a clone of minecraft, and minecraft... uh.... has... music 01:42 MTDiscord but if you want to call it bloat 01:42 MTDiscord we can get it down to 1kb by deleting lots of code etc. if you'd like 🙂 01:42 Guest54 the ISO-9001 compatible stone 01:42 Guest54 super secure 01:42 Guest54 you just have to document how you made it! 01:43 MTDiscord you'd probably get warmer responses from me if every change you see isn't followed by a negative comment about the change or the contributor 01:44 MTDiscord it's called giving people the benefit of the doubt.... 01:46 Guest54 btw, did you recompress the 80kbps files from wave files to make the 64kbps files? if so, that may not be a good idea, you are losing quality each time. 01:46 Guest54 i mean 01:46 Guest54 sorry i am sleepy 01:46 Guest54 you have to recompress them from the source, not the compressed version 01:47 MTDiscord we had 80kb, we had 46kbs (which didn't sound great), and went with the middle ground, freshly from masters 01:47 MTDiscord fortunately someone who knows much more about audio than i do did the magic 01:47 MTDiscord also balanced everything to perceived volume 01:47 Guest54 maybe minetest should get with the times and support ogg opus some day 01:47 MTDiscord diminixed is a champ 01:48 Guest54 i heard it is better than any other codec 01:48 Guest54 opus i mean 01:48 MTDiscord i'm new to ogg opus, but a few months ago i was new to ogg 🙂 01:48 Guest54 do you have a link to the music used maybe? i like ambient music in general 01:49 Guest54 like, not to the repo, but the original songs 01:49 MTDiscord i'm afraid not 01:49 MTDiscord only in the repo 01:49 Guest54 oh 01:49 MTDiscord i think i originally checked in the larger files 01:49 MTDiscord and then the smaller ones 01:49 MTDiscord so in the git history, it may have the original 01:49 Guest54 but you are sure they are correctly permissively licensed? 01:49 MTDiscord (if we had it) 01:49 MTDiscord yes, all cc-by-sa 3 or 4 01:50 MTDiscord all by the artists themselves 01:50 Guest54 i see 01:50 Guest54 btw, ogg is just an encapsulation format for stream data. it is a very clever one though, that works seamlessly for both web streaming and local playback. 01:50 MTDiscord wsor will be ready for me if i don't check that 🙂 01:52 MTDiscord * if someone complains or notices 01:53 MTDiscord but it's good. keeps us on our toes. we have to protect mcl2 and mt 01:53 MTDiscord ip vultures be circling 01:53 Guest54 AncientMariner you should check chicken egg probably 01:54 Guest54 throwing a chicken egg on the ground creates a chicken that flies into the sky 01:54 MTDiscord we have 780 bugs. with all due respect, i couldn't give a flying... egg about this one right now 😉 01:55 Guest54 well, it *used* to work and it kinda makes chicken farming useless unless you do it in a cave 01:55 Guest54 also it looks extremely funny 01:55 Guest54 i suggest you check it out for the comedic value 01:55 MTDiscord can also breed chickens 🙂 01:55 MTDiscord your complaint has been forwarded to /dev/null :trollface: 01:55 Guest54 i thought chickens laid eggs 01:56 MTDiscord i mean, they do 01:56 Guest54 but they also breed normally? 01:56 Guest54 TIL 01:56 MTDiscord but you can get chickens from the eggs, or i'm assuming standard breeding with seed 01:56 MTDiscord pretty sure they do 01:56 Guest54 all animals are genderless and breed everytime they eat lol 01:56 MTDiscord horny and hungry mobs 01:56 MTDiscord floating trees 01:57 Guest54 ok i think the world is just borked 01:57 Guest54 lamas look up too 01:57 MTDiscord yup, got a bug for the llama one 01:57 MTDiscord they a bit weird 01:58 MTDiscord what do you mean by borked? 01:58 MTDiscord and what world? 01:58 MTDiscord created on version and playing on version? 02:00 Guest54 i understood it 02:01 Guest54 it seems someone mishandled mobs near the map border 02:01 Guest54 and i was close enough 02:01 Guest54 i make a screenshot 02:06 MTDiscord probably me 02:06 MTDiscord they now freeze. we had some out of bounds crashes, and it was one of the mitigations 02:06 MTDiscord i may, or may not revisit it at some point 02:06 MTDiscord but you'll survive it 🙂 02:08 Guest54 uh what 02:08 Guest54 you might have been off by a few nodes with your bounds 02:08 Guest54 mobs do not stop at the map border, they stop *before* they reach it 02:09 Guest54 also i think they can still move, e.g. the chickens move skywards 02:09 MTDiscord i know 02:09 MTDiscord and i know i was off 02:09 MTDiscord i'm not a perfectionist 🙂 02:09 Guest54 if it is about out of bounds crashes, i *think* a player just needs to get high enough 02:09 Guest54 https://mister-muffin.de/p/izOE.png 02:09 MTDiscord i thought i'd rather players kill a frozen mod then them going out and crashing 02:10 Guest54 this is how chickens and lamas look skywards btw 02:10 Guest54 okay, but what kind of crash is fixed by it? 02:10 Guest54 (and why not fix that crash?) 02:10 MTDiscord none, it was a mitigation to avoid it. i have since learnt a bit more about the issue 02:10 MTDiscord but it's a 2 year old bug 02:11 Guest54 oh no, is this the get_light thing? 02:11 MTDiscord get_natural_light will sporadically crash with what looks like an out of bounds warning 02:11 Guest54 it's some kind of cursed bug that drives people to do weird stuff 02:11 Guest54 are you sure the area is loaded? 02:11 MTDiscord i checked for ignore, it is 02:11 Guest54 have a link to the crash? 02:11 MTDiscord but maybe things near it, aren't 02:11 MTDiscord but the code seems to emerge it 02:12 MTDiscord i'm going to have to dig a bit more into it at some point 02:12 MTDiscord but i've now wrapped every get_natural_light call in a pcall so we can avoid the crash 02:14 MTDiscord the link to it is: https://git.minetest.land/MineClone2/MineClone2/issues/1392 (ignore the non-relevent stuff) 02:15 Guest54 so why are the mobs still being stupid aronud the border if you mitigated it otherwise, can't you just git revert it? 02:16 MTDiscord lol, i have other priorities 02:16 MTDiscord and of the issues we have, that is low down 🙂 02:16 MTDiscord i may, revisit it at some point 02:16 MTDiscord but in terms of making a great game, it affects very few players 02:16 Guest54 that still does not answer *why* 02:17 Guest54 like, “git revert” is one command 02:17 MTDiscord why? because if i do work on anything, it won't be that 02:17 Guest54 anyways, i pushed out a mob in a boat and the game did not crash 02:17 MTDiscord and i'm not sure that'll help anyway 02:17 MTDiscord i want to get to the root of the issue before mitigations are removed 02:18 MTDiscord it's a sporadic crash 02:18 MTDiscord if i could recreate it, it would be lovely 02:18 Guest54 > Lua: Runtime error from mod '??' in callback luaentity_Step(): createSector(): pos. over max mapgen limit 02:18 Guest54 i think a) that's an engine issue b) you should not be able to trigger it using mobs that move out of the map anyway 02:19 Guest54 if you looked into how the thing works … there is an entire unused shell around the map 02:19 Guest54 that is invisible 02:19 MTDiscord a) i think you're right, and i do need to raise a ticket, or add to another one 02:19 Guest54 i can show you the ticket probably 02:19 MTDiscord b) it crashed mobs originally, which is why i went down that path 02:19 Guest54 but anyway, what are you doing that tries to do that? 02:20 MTDiscord i think i saw a ticket where you discussed this 02:20 MTDiscord what do you mean? 02:20 Guest54 could be similar to this one https://github.com/minetest/minetest/issues/11835 02:20 MTDiscord but if you have a link, it'd be appreciated 02:21 MTDiscord ah, yeah. i have that one bookmarked 02:21 MTDiscord same issue, maybe different cause 02:21 Guest54 well, if that is indeed the same issue (which i kinda doubt) the problem is that no one believes me when i say things about the map border lol 02:22 Guest54 the gist of it is that every time something happens at the visible map border, someone wants to do stuff with “MAX_MAP_GENERATION_LIMIT”, but that is entirely the wrong way to do it 02:22 Guest54 it's just plausible if you don't think too much about it 02:22 Guest54 in general though you should not be able to trigger the mapgen that far 02:23 Guest54 anyways, whatever you did to the mobs so they stop doing things will not help you, since there is an entire invisible mapblock before you can actually trigger that issue, if i am not mistaken 02:24 Guest54 i'll test it for a bit 02:24 MTDiscord maybe, it will, maybe it won't 02:24 MTDiscord but until i get a root cause, i'm not removing mitigations 02:24 MTDiscord having servers crash frequently is not ok imho 02:24 Guest54 it's not a mitigation if you are not mitigating anything 02:25 Guest54 and yes, having servers crash is not okay 02:25 Guest54 so what does your pcall thing do? 02:25 MTDiscord it's a protected call. lua error handling 02:26 MTDiscord it catches the exception and carries on without taking down the server 02:28 Guest54 can you save a trace or so 02:28 MTDiscord errr, it'll give you the first line, but not the full stack 02:28 MTDiscord xpcall gives you the full stack 02:28 MTDiscord but it's not supported in the bundle lua (luajit) 02:29 MTDiscord as it's a 5.2 features, and it was forked at 5.1 02:29 MTDiscord i miss java, you can catch an exception easily and log it 02:29 MTDiscord many languages have much better and more intuitive error handling 02:34 Guest54 you are only a nil away from total chaos in lua lol 02:36 Guest54 hahaha, throwing an egg at the frozen mobs makes them fly to the moon 02:38 Guest54 okay, i found out that you can, indeed crash the server using eggs. 02:38 Guest54 and that's at the *real* world border, not the arbitrary one where the mobs stop walking 02:38 MTDiscord ha, what? you crashed it with an egg? 02:39 MTDiscord if i can keep that from crashing, i'd keep that bug. i love the sound of it 02:40 MTDiscord and by real, do you mean the visible one, or the non visible engine one? 02:40 Guest54 the invisible one 02:40 Guest54 the visible border is not real 02:41 Guest54 you can easily figure that out by pushing a boat “outside the map” 02:41 Guest54 or placing tnt in the invisible part and lighting it up 02:41 Guest54 (you will see the boat and the tnt entity) 02:42 MTDiscord but these are scenarios that players on a survival server cannot trigger 02:43 MTDiscord surely they're academic, rather than real recreations? 02:43 Guest54 if you say so 02:43 MTDiscord are you saying they can? 02:43 MTDiscord without a cheat client? 02:43 Guest54 i generally take pride in glitching without a cheat client, hehe 02:44 Guest54 yes, players can get entities and nodes outside the visible area without a cheat client. they actually do. 02:44 Guest54 i have seen a server in which someone figured out that placing boats out of the visible area enabled them to hop between the boats 02:44 MTDiscord It's all academic until someone brings out the cheat client 8) 02:44 Guest54 as a kind of teleport 02:45 Guest54 jordan4ibanez has a funny map border story, mesecons button used to crash when adjacent to an unloaded mapblock 02:45 Guest54 the map border is permanently unloaded 02:45 Guest54 so jordan tried to “fix” that by adding an explosion to the thing 02:46 Guest54 needless to say this would have created the opportunity for a crashloop using a step-on-plate and a hopping mod or so 02:46 Guest54 because if you actually crash the game the map might not be saved 02:47 MTDiscord Yes yes, I do miss that explosion fix, it was such a simple implementation. My second favorite was if you pushed a button at the world border it would crash the entire server, I don't remember how though sadly 02:47 Guest54 it was simply that the „is this powered on” function choked on ignore, i.e. it could have happened if you brought mesecons close enough to a not-yet-generated area 02:48 Guest54 also how come everything you fix is explosions lol 02:48 Guest54 i remember jordancreepers 02:48 Guest54 lizzy said that a jordencreeper exploded an entire house lol 02:48 MTDiscord Oh god, what about pooping santa 02:49 Guest54 what 02:49 Guest54 do you have a pooping santa mod? 02:49 Guest54 in general, the only game i remember that uses poop is mesecraft 02:49 Guest54 cows poop in it 02:50 MTDiscord In crafter it was utilizing a raycast sphere to allow explosion force, but I never thought to implement absorption, so the explosion would literally chew through anything that wasn't obsidian. It was just brutal 02:50 MTDiscord Let me see if I can find it 02:50 Guest54 maybe you want to play liero with me? 02:50 Guest54 it has explosions 02:50 Guest54 lots of them 02:50 Guest54 and blood 02:52 MTDiscord I am so confused by my own comments but here it is https://forum.minetest.net/viewtopic.php?t=4075 02:53 MTDiscord That looks pretty dang cool 02:53 Guest54 haha, found another crash 02:54 Guest54 hmm can i use those to barter? 02:59 MTDiscord Oh, instead of having a hard limiter in c++, ancientmariner could do a hard limiter override of minetest get area loaded and do a 2d out of bounds check instead and if it's out of bounds. Or you could do a custom one that chains is area loaded with the bounds check hmmm hmm hmm 03:00 Guest54 or maybe, just maybe, this is just a stupid thing because people forget nil checks 03:00 Guest54 and do not believe in unit tests 03:00 Guest54 or fuzzing, for that matter 03:00 Guest54 or semgrep 03:01 MTDiscord Hmmm 03:01 MTDiscord Wait You're onto something there 03:01 MTDiscord What if we could unit test mods 03:03 Guest54 if only there was some person explaining that shit 03:03 Guest54 i heard someone even wrote a book on that topic 03:03 Blockhead256[m] jordan4ibanez: there's a project for that, mineunit: https://github.com/S-S-X/mineunit 03:03 Guest54 https://rubenwardy.com/minetest_modding_book/en/quality/unit_testing.html 03:03 MTDiscord Damn, everyone gets to my ideas first hahaha 03:04 Blockhead256[m] that's why it pays to do market research :) 03:20 Guest54 found another crash lol 03:20 Guest54 AncientMariner can i trade crashes against “texture packs and mods that rely on existing texture names work again”? 03:23 Blockhead256[m] allow me to introduce override.txt 03:27 Guest54 Blockhead256[m] does not work for stuff that relies on texture names, like this mod https://content.minetest.net/packages/rudzik8/mcl_decor/ 03:27 Guest54 well, i have a bunch of crashes and maybe a way to find more of them 03:27 Guest54 programmatically 03:28 Blockhead256[m] :( your right 03:28 Blockhead256[m] * you are you're 03:28 Guest54 and i'll trade access to that knowledge for “don't break third-party mods” 03:28 Guest54 i think that's a fair deal 03:30 Blockhead256[m] I mean it would be nice to have an API like minetest.get_texture_override(basenode) -> table 03:31 Guest54 what why 03:31 Guest54 what would that API even do 03:34 MTDiscord Looks like it would get the original texture in the chain? 03:35 Blockhead256[m] Return the tiles table for a node but according to the current texture pack. Because I don't think override.txt updates that table (could be wrong), and it's a semantic way of saying "this face of this node" instead of an absolute texture reference 03:35 Blockhead256[m] it is a lot of indirection though really so it's probably better to just tell people to fix their stuff on the texture pack side 03:35 Guest54 why would you want the tiles according to the texture pack 03:35 Guest54 it's transparent as far as i know 03:36 Guest54 like you just use the same names as the node you are stealing from? 03:36 Guest54 maybe i am too sleepy 03:36 Guest54 can you even get at special textures via node properties? 03:37 Blockhead256[m] "special textures" (special_tiles) are a node property.. they're registered that way.. so yes.. 03:38 Blockhead256[m] anyway: I mean we are talking about the context of re-using textures from a base game right? So imagine you want a new modded crafting table, and you want to make sure it doesn't hardcode the crafting table's texture names. You'd use the get_texture_override API 03:38 Blockhead256[m] that way any texture pack that overrides and potentially changes the crafting table's textures also automatically looks right thanks to the mod author 03:39 Guest54 maybe 03:39 Blockhead256[m] but like I said, this is a lot of indirection and is only useful if override.txt files don't alter minetest.registered_nodes entries, which I didn't think 03:39 Blockhead256[m] or another perspective again: maybe you shouldn't use custom texture names in your texture pack without a good name. Then it would work anywya 03:57 Blockhead256[m] *without a good reason 10:51 MinetestBot 02[git] 04SmallJoker -> 03minetest/minetest: Limit formspec fields to 640K (#13380) 13d975ebd https://github.com/minetest/minetest/commit/d975ebdcb98512c8b7c17af4a95481238a520078 (152023-04-07T10:49:23Z) 10:51 MinetestBot 02[git] 04SmallJoker -> 03minetest/minetest: Lua API: Catch serialization error for chat messages (#13337) 139c9309c https://github.com/minetest/minetest/commit/9c9309cdbb053598aaf08506928a4824e78b4622 (152023-04-07T10:49:35Z) 13:03 Guest54 AncientMariner I have a semgrep rule that finds like 20 opportunities for crashes or so ^^ 13:09 Guest54 does anyone have a ready-made script to download all of cdb? i think my approach to automated crash-finding may do the crashy in other mods too 13:13 Guest54 AncientMariner again, i am willing to trade all my knowledge on the crashes, plus an automated approach for preventing the entire category of errors for “texture packs and mods do not break in the next release of mcl2”. if you don't want that, find them yourself, good luck. 13:14 Guest54 (you will, eventually. it is just more work) 13:16 Oblomov I'm seriously offended that https://github.com/minetest/minetest/commit/d975ebdcb98512c8b7c17af4a95481238a520078 didn't put “640K should be enough for everyone” anywhere in the title, body or patch 13:16 Guest54 Oblomov i am serously offended that bookbanning is now banned 13:17 Guest54 now minetest will NEVER reach feature parity with minecraft 13:18 Guest54 how can you ever deny the users to write books that are like a bazillion jiggabytes 13:18 Guest54 !!! 13:22 rubenwardy Oblomov: it is in the patch 13:22 rubenwardy But with ought 13:22 rubenwardy Which is correct, as the original quote is “640K ought to be enough for anybody" 13:23 Oblomov oh damn, you're right, I missed it 13:23 Oblomov fair enough 13:37 muurkha I think the quote is fake anyway 13:42 muurkha https://groups.google.com/g/alt.folklore.computers/c/mpjS-h4jpD8 13:44 Guest54 muurkha do you have experience with semgrep btw? 13:45 muurkha no 13:45 muurkha it sounds cool 13:45 Guest54 so i wrote a rule to find crashes after verifying 3 crashes in mcl2 that i found with my automated approach 13:45 Guest54 and i found 262 possible crashes across 22 games i have installed 13:45 Guest54 makes about 10 crashes per game on average 13:45 Guest54 ofc some games are bigger, like mcl2 and mesecraft 13:45 muurkha more recent investigation: quoteinvestigator.com/2011/09/08/640k-enough/ 13:46 Guest54 but i wonder now what other bugs to find automatically 13:46 Guest54 like, obviously breaking bedrock and duping items 13:46 muurkha is "crashes per game" the right metric? 13:46 Guest54 it should be crashes per invocation of the functionality in question probably 13:46 Guest54 like, i have a positive rule that catches all invocations of an API 13:46 Guest54 and then a negative rule that rejects the finding if the thing is used properly 13:47 Guest54 let me see 13:48 Guest54 muurkha haha it's worse, 262 findings vs 294 use of the functionality 13:48 Guest54 thanks for the hint 13:49 Guest54 that's almost 90% unsafe code 16:33 independent56 Let's say i did the 2023 or 2024 game jam using ChatGPT and Dall-E for most assets and code, where i just provide the direction and prompting and debugging and stressing. Would it be fair for me to win or would it be against the spirit of the jam? Where is the breakpoint that AI-helped content is banned? Debugging? Code generation? Idea generation? 16:35 independent56 Would it be considered cheating to begin development 6 months before the announcement? 16:37 MTDiscord > Would it be considered cheating to begin development 6 months before the announcement? per past rules, yes 16:38 independent56 Oh, ok then fine 16:39 independent56 So i can't just submit Mineclone 3 and then say "i maintain this fork, give me the $400" dammit 16:40 Guest54 > Where is the breakpoint that AI-helped content is banned? Debugging? Code generation? Idea generation? 16:41 Guest54 if you let your code be generated by an autocomplete on crack, you are *probably* doing something weird 16:41 Guest54 the thing is not that computers can not write programs, they can 16:41 Guest54 any idiot can write running programs (for various values of “running”) 16:42 Guest54 the problem is those need to a) follow the specs b) need to use actual functionality, not hallucinated one 16:42 Guest54 for assets though, i don't see the issue unless it gets spammy 16:43 Guest54 like i'm pretty sure if you want to make midjourney texture pack it's not bad, but if you submit 10k of them, the wardens of cdb will just tell you to bugger off 16:44 Guest54 meanwhile in the city of r'lyeh https://mister-muffin.de/p/Vu3-.png 16:44 Guest54 minetest should have more weird biomes 16:44 Guest54 “this place is not a place of honor” style ones 16:49 muurkha doing weird things is definitely what we should encourage 16:49 muurkha I don't know if midjourney has an option for generating tileable textures yet 16:52 Guest54 the ikea and backrooms things are funny in a way 16:52 Guest54 having an entire game underground could also be a thing 16:52 Guest54 or underwater 17:25 independent56 Guest4558, I had an idea for a post-apocoloyptic wasteland. You spend most of your time in the Paris metro eating baguettes from the floor as protests rage above, so the entire game is underground in a way 17:25 independent56 And you get killed by a train every now and then 17:26 Guest54 independent56 why 17:26 Guest54 also independent56 have you made any minetest mods? 17:26 independent56 Because i'm british and digging at the french is what i do 17:26 independent56 Yes, i made britsignals 17:26 independent56 To negative critic reception to say the least 17:26 Guest54 i must say that “digging at the french” gave the brits a tunnel 17:27 independent56 But i am generally very bad at modding and most of my mods are unpublished for a reason 17:27 Guest54 ultimately the french won, connecting the UK to the mainland 17:27 independent56 I want to do great things but there's something about programming for userspace rather then Minetest that makes it easier 17:27 independent56 It was really to send high-speed projectiles to them again 17:28 independent56 You can even put cars in it for extra potency 17:28 Guest54 wdym 17:29 Guest54 programming for userspace 17:29 independent56 hexchat, image viewers, other things 17:29 independent56 I have made quite a few 17:29 independent56 http://56independent.gitlab.io/portfolio/ 17:32 independent56 I did make this mod: https://content.minetest.net/uploads/7e902a4e84.png 17:32 independent56 https://content.minetest.net/uploads/d69795c01b.png 17:32 independent56 I really like it 17:32 independent56 https://content.minetest.net/packages/56independent/britsignals/ 17:37 Guest54 independent56 do the signals disable the tracks? 17:37 independent56 No signals yet 17:38 independent56 lol 22:13 MTDiscord During the mass battles on my server (30 players + 10 allies vs 500 to 1000 hostiles) most players get "enough" network packets, while a specific user's client who is on a pretty slim connection (1 MiB) seems to be overwhelmed by the amount of packets. The server settings are (active_object_send_range_blocks = 5) and (max_packets_per_iteration = 65535). I don't know if (max_simultaneous_block_sends_per_client = 1500) also plays a role, 22:13 MTDiscord since the issue seems to be entities, not blocks. The server step is 0.047 Question: Is there a CLIENT setting to limit or optimize the packets received? Like "nearby entites first" ? 22:18 Guest54 Bastrabun have you looked into the hostiles behaviour code? are they maybe doing unreasonably lots of stuff? 22:21 Guest54 Bastrabun i'd probably try to deal with it server-side by sending less packets for entities in the first place, but 1000 entities sounds like a lot! 22:21 MTDiscord Ofc the hostiles do a lot of stuff. Like ... trying to kill us 😄 22:22 MTDiscord It's not a problem of dtime though, server is mostly fine. 22:22 Guest54 Bastrabun, you do realize though that every update of a hostile may mean a packet? 22:22 MTDiscord Problem arises when this one specific player's connection gets clogged with packets, that's what we need to optimize. Does sight range help? 22:23 Guest54 i do not know what kind of entities you have, but simply giving them more coarse behaviour when they are further from a player may help 22:23 Guest54 share the source code of the hostiles if you want me to look at it 22:24 Guest54 the only time i saw more than 400k/s was buggy buggy bugs 22:24 Guest54 at least for entities 22:24 MTDiscord Each entity a packet? That sounds not very likely, don't server steps or network steps combine their actions into one packet? 22:24 MTDiscord Those hostiles are very normal stone monsters of mobs_monster 22:24 Guest54 let me see what they do then, have a link to the source code? 22:24 MTDiscord All they have is a fancy nametag 22:25 Guest54 each entity *change* might result in bandwith use 22:25 MTDiscord Sure. You can also visit the testserver where we are trying to reenact the battle and see if other settings may help 22:25 Guest54 did you look at the packets in wireshark? 22:25 Guest54 well let me compile minetest anew, i have address sanitizer turned on and that makes it crash 22:25 Guest54 (bc memory leak ig) 22:25 MTDiscord The client did and said "conenction clogged" 22:25 Guest54 well address weirdness in this case 22:26 Guest54 also, thread sanitizer makes it slow, so i need to recompile brb 22:26 Guest54 where is the testserver? 22:26 MTDiscord We're using those: https://notabug.org/TenPlus1/mobs_monster/src/master/stone_monster.lua 22:26 MTDiscord address: your-land.de port 30001 22:26 Guest54 ok i look at it while compiling 22:26 Guest54 i remember that your-land.de had a very nice testing regimen. have you tried using semgrep to eliminate bugs? if so, can i see your rules? 22:27 MTDiscord I haven't heard of semgrep yet 22:27 Guest54 it's a way to match ASTs 22:27 MTDiscord AST? 22:28 Guest54 abstract syntax trees 22:28 Guest54 semgrep understands the languages it is parsing 22:28 Guest54 do you know python? 22:28 MTDiscord Not enough 22:28 Guest54 in python you can import modules under another name 22:29 Guest54 with grep, if you want to figure out where function foo is used, you grep for foo(.*) or so 22:29 Guest54 with semgrep, you use the pattern foo(...) but it will also find the following 22:29 Guest54 import foo as bar 22:29 Guest54 bar(baz) 22:29 Guest54 because semgrep knows that bar is the same as foo in this case 22:30 MTDiscord Can this tool tell me how many network packets are sent out per entity per step? 22:30 Guest54 for C you can for example search for a pattern like: free($POINTER); ... ; free($POINTER) 22:30 Guest54 no, but i might be able to tell you if it sends too many when i look at the code, let's see 22:31 Guest54 i have debugged multiple mods that sent too many packets 22:32 Guest54 why does it say “    -- check surrounding nodes and spawn a specific spider” 22:32 MTDiscord most likely a copy paste error 22:34 Guest54 can you show me the mobs mod that it depends on? 22:35 MTDiscord https://notabug.org/tenplus1/mobs_redo 22:35 Guest54 ok 22:35 Guest54 thx 22:37 Guest54 is notabug.org very slow or is it me? 22:38 MTDiscord No, notabug IS very slow 22:38 Guest54 why though, that's *really* stupidly slow 22:38 MTDiscord You do not happen to have an account on the YL gitea instance? 22:39 Guest54 i do not 22:39 Guest54 > NotABug is experiencing an issue. 22:39 Guest54 RIP mobs_redo 22:45 MTDiscord Coz there's the modified code and branches. I doubt we did much to mobs_redo or mobs_monster though. Incase notabug refuses to do anything, you could get the stuff there as well. Until we're happy with code quality and all secrets player shouldn't know about are stored away they're private 22:47 Guest54 Bastrabun i downloaded it from cdb 22:47 Guest54 > Until we're happy with code quality and all secrets player shouldn't know about are stored away they're private 22:47 Guest54 mcl2 managed to put secrets hiding in plain sight though 22:47 Guest54 like how to duplicate items :D 22:48 MTDiscord Then they're smarter than I am 😄 22:48 Guest54 (no longer working AFAIK) 22:48 Guest54 no, it was more … emergent behaviour 23:26 * muurkha p;oints at Yad