Minetest logo

IRC log for #minetest, 2021-09-11

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:59 grouinos joined #minetest
02:29 queria^clone joined #minetest
02:32 rymiel joined #minetest
02:33 queria^clone joined #minetest
03:01 erstazi joined #minetest
03:20 rymiel joined #minetest
04:00 MTDiscord joined #minetest
04:04 nicbk joined #minetest
05:01 riff-IRC joined #minetest
06:06 Flabb joined #minetest
06:21 CWz joined #minetest
06:22 independent_ joined #minetest
06:54 CHADMIN[m] joined #minetest
07:01 twoelk left #minetest
07:18 specing joined #minetest
07:20 Alias joined #minetest
07:30 TomTom joined #minetest
07:32 Flabb joined #minetest
07:36 ssieb joined #minetest
07:50 Alias Yay, it crashed again, this time with gdb attached. But what does it mean? That's what I caught:
07:51 Alias mientestserver /path/to/minetest/src/inventorymanager.cpp:304: virtual void IMoveAction::apply(InventoryManager*, ServerActiveObject*, IGameDef*): Assertion `move_count <= count' failed.
07:51 independent_ joined #minetest
07:56 Flabb joined #minetest
08:03 Talkless joined #minetest
08:13 MTDiscord <luatic> Perhaps a cheater?
08:14 MTDiscord <luatic> Or probably a bug...
08:16 MTDiscord <luatic> Hmm, I could imagine this happening when it tries to add a to a stack which has more items than it's allowed to have...
08:17 MTDiscord <luatic> There's two places where move_count is set to something possibly nonzero:
08:18 MTDiscord <luatic> move_count = src_item.count - restitem.count; <- will wrap and yield crazy results if restitem > src_item
08:18 MTDiscord <luatic> move_count = list_from->moveItem(from_i, list_to, to_i, count, allow_swap, &did_swap);
08:21 MTDiscord <luatic> I could see that producing weird results if allow_swap was set to true, but it isn't if it's a move_somewhere.
08:22 Alias The user claimed all he did was take some compressed cobble from a chest. He said he used shift+click, so possible listring involved
08:26 MTDiscord <luatic> It definitely was a move_somewhere, I'm sure about that.
08:30 Alias Yes, there's a move event in the log. I asked the player to recreate it, but it didn't crash
08:31 MTDiscord <luatic> Did they recreate everything exactly?
08:32 MTDiscord <luatic> Did they have stacks with 99+ compressed cobble?
08:37 MTDiscord <luatic> NVM, it should handle 99+ stacks correctly.
08:39 Alias Right before the crash message there is a move event logged, but the player says he didn't receive the item. There are only max 99 stacks in the chest (and - hopefully - on the server
08:41 MTDiscord <luatic> Please provide the log message
08:42 Alias https://pastebin.com/r3n497GS
08:43 Alias I'm not sure if *all* of those messages are related to the incident, but they are close
08:49 sfan5 which version is this btw? 5.4?
08:50 Alias 5.4.1 debug build
08:51 Alias I attached gdb with the command you gave me, but failed to find where exactly it writes the dump to
08:53 Elzington_ joined #minetest
08:56 sfan5 the assertion message already provides the exact place it failed so don't worry about that
09:16 Talkless joined #minetest
09:21 Talkless joined #minetest
09:33 Fixer joined #minetest
10:20 Bond007 joined #minetest
10:21 calcul0n_ joined #minetest
10:24 Talkless joined #minetest
11:08 Alias Now the server crashed with yet another different error message. I'll put it up here: https://pastebin.com/5QXqN2sZ
11:09 Alias Gist: PostgreSQL database error: ERROR:  duplicate key value violates unique constraint "auth_name_key"
11:10 erlehmann luatic the only time i have seen cheaters crash servers accidentally was if their client crashed at the right moment and minetest couldn't handle a client just being gone lol
11:18 Alias We've now seen in the past 3 days: "A fatal error occurred: LUA PANIC: unprotected error in call to Lua API (bad argument #4 to '?' (userdata expected, got nil))" and "Assertion `move_count <= count' failed." and 'duplicate key value violates unique constraint "auth_name_key"' and surely one or another I even forgot by now.
11:18 ShadowBot https://github.com/minetest/minetest/issues/4 -- cppcheck warnings
11:18 proller joined #minetest
11:22 AristotIe joined #minetest
12:21 wolfshappen joined #minetest
12:27 wolfshappen joined #minetest
13:40 MinetestBot [git] sfan5 -> minetest/minetestmapper: Mention colors.txt generation in README 0198897 https://git.io/JurSB (2021-09-11T13:40:34Z)
13:48 calcul0n__ joined #minetest
14:08 appguru joined #minetest
14:17 delta23 joined #minetest
14:26 Desour joined #minetest
14:28 riff-IRC joined #minetest
14:53 sfan5 manjaro.org prominently links to that "shells" company run by Andrew Lee whose name everyone should have heard by now
14:53 sfan5 now that is interesting
14:53 sfan5 they also don't have a proper package search which is what I was actually looking for
14:55 celeron55 if it's a ssponsorship deal, i wonder what other projects are targeted
14:55 celeron55 -s
14:56 celeron55 gotta be some other minor distro that would have taken it too
15:10 erlehmann does anyone have experience with this? https://github.com/Dumpster-Studios/cheat_detection
15:17 MTDiscord <Jordach> @Переполнение стека
15:22 MTDiscord <Genshin> I see, someone's curious about my anti-cheat
15:24 MTDiscord <Genshin> also i'm working on rewriting it, since that is a prototype that can actually track dirty clients from doing most things like: Killaura, force fly, force fast, force noclip, jesus walk, and abnormal node breaking
15:27 MTDiscord <Genshin> the full version of this prototype after code cleanup and arrangements will be called hugin_&_munin
15:27 celeron55 was reading this and noticed something doesn't seem right here 8) https://github.com/Dumpster-Studios/cheat_detection/blob/main/init.lua#L248
15:27 MTDiscord <luatic> you'll replace that "&" by "and" though I hope
15:28 MTDiscord <luatic> you'll also definitely need some collisionboxes, so you might want to have a look at :modlib: https://github.com/appgurueu/modlib/blob/master/minetest/collisionboxes.lua
15:32 MTDiscord <Genshin> I've been aware of that c55, lol
15:32 MTDiscord <Genshin> this repo needs a cleanup
15:34 MTDiscord <Genshin> https://notabug.org/Genshin/cheat_detection/commit/090fbe148b0a5830da0878599a6de4aab5d44ee9 this one shouldn't have that error
15:34 erlehmann Genshin how would it figure out if someone is legit flying using elytra or glider?
15:35 MTDiscord <luatic> Yeah, does it take player jump / gravity / velocity / attachment into account?
15:36 erlehmann or what if someone teleports using a piston teleporter line
15:36 erlehmann those can move you across half the world
15:36 erlehmann in no time
15:36 MTDiscord <luatic> Does that use set_pos?
15:36 MTDiscord <luatic> Or add_[player]_velocity
15:36 sec^nd joined #minetest
15:36 erlehmann no idea look at mesecons how pistons push players
15:37 MTDiscord <Genshin> it can detect if a player is on a object, i'll also have to make it check whether or not it's attached to a object
15:37 erlehmann but several ppl (including me) have abused pistons for teleport purposes
15:37 erlehmann in mineclonia we actually have a test world that includes a functional minecart teleporter (it teleports a minecart, regardless of if a player is in it)
15:38 MTDiscord <Genshin> regular teleportation is fine, can the current dragon fire client can do force teleportation?
15:38 erlehmann by exploiting the timing behaviour of pistons
15:38 MTDiscord <Genshin> that's fine aswell, pistons are nodes
15:39 erlehmann you can easily replicate this by having something that triggers in the following way: player gets pushed by piston off a pressure plate onto another, which triggers a very fast retraction and pushing again
15:40 erlehmann usually ppl who want that have to turn off anticheat because anticheat is extremely stupid
15:40 erlehmann Genshin use waspaliva, it better than dragonfire
15:41 MTDiscord <Genshin> default anticheat usually resets a player's position if their velocity is higher than it's supposed maximum
15:42 MTDiscord <Genshin> also it's kinda faulty since it can't track very well when lag is happening
15:43 MTDiscord <Genshin> already tried waspaliva and dragonfire client while working on this cheat detection mod
15:47 Desour joined #minetest
15:54 Extex joined #minetest
15:56 erlehmann Genshin the commands are .teleport and .warp for teleportation
15:57 erlehmann Genshin default anticheat even breaks gameplay when you get on a bouncy node from high enough (fall speed is unlimited, upwards speed is limited)
16:07 fluxionary joined #minetest
16:09 hendursaga joined #minetest
16:21 hendursaga Is Loria the only MT mod/subgame written in Fennel, or are there more?
16:23 MTDiscord <Jonathon> Worst game or something was i thought
16:24 hendursaga Also I assume I don't need to compile MT from source to get it working? Fennel just transpiles to Lua and you use that?
16:26 Calinou if the language compiles to LuaJIT-compatible Lua, then a vanila Minetest build can run it
16:26 Calinou it would be interesting to see if TypeScriptToLua can be used too
16:26 Calinou https://github.com/TypeScriptToLua/TypeScriptToLua
16:26 sfan5 that looks very interesting
16:26 Calinou although you'd need to generate typing information for the Minetest modding API to get more safety
16:27 hendursaga Jonathon: you mean this? it appears it uses moonscript, which is different, so.. https://gitlab.com/worstconcept/worstblockgame
16:27 Calinou the main downside right now is that you need to install Node.js + npm to run the TS2Lua compiler, hopefully there will be a single-binary distribution in the future (e.g. using `pkg`)
16:27 Calinou or even using Deno, which is smaller but will require a lot of internal changes
16:30 nicbk joined #minetest
16:30 MTDiscord <Jonathon> Hendursaga, ah, sorry. I remembered it didnt use lua but not exactly what
16:32 hendursaga MoonScript does transpile to Lua but yeah
16:41 Talkless joined #minetest
16:47 kamdard joined #minetest
16:58 Fixer_ joined #minetest
17:11 Extex joined #minetest
17:23 Desour I hate it so much that github uses tab width 2 for diffs, and good width 4 when normally looking at files or when expanding diffs
17:26 specing I guess you do not hate it enough to stop using that proprietary closed-source platform
17:30 Desour yep. I don't hate this problem enough to stop doing anything with minetest, or any other project on github
17:33 sfan5 Desour: the MutexAutoLock in the method should have been a clue that returning references doesn't work but I didn't see that either
17:34 Desour I haven't looked at the whole function
17:34 sfan5 https://0x0.st/-x8E.png just this one I mean
17:35 hendursaga Desour: you've used SourceHut yet?
17:36 Desour oh, I've looked at neither of the functions as a whole x)
17:36 sfan5 heh
18:35 independent_ joined #minetest
18:41 independent_ joined #minetest
18:43 Boingo joined #minetest
18:43 longerstaff13 joined #minetest
19:07 MinetestBot [git] sfan5 -> minetest/minetest: Make sure relevant std::stringstreams are set to binary 75bf9b7 https://git.io/JuKeB (2021-09-11T19:06:57Z)
19:14 independent_ joined #minetest
19:14 specing_ joined #minetest
19:16 independent_ joined #minetest
19:21 independent_ joined #minetest
19:27 independent_ joined #minetest
19:44 fkbm joined #minetest
19:58 absurb joined #minetest
20:01 illwieckz joined #minetest
20:03 Flabb_ joined #minetest
20:17 independent_ joined #minetest
20:20 independent_ joined #minetest
20:46 erlehmann joined #minetest
20:47 Taoki joined #minetest
21:11 Extex joined #minetest
21:25 Alias Yay, another server crash, this time nicely captured. https://pastebin.com/34AT4z3B
21:28 sfan5 that that happened after "ACTION[Main]: Server: Shutting down" that unfortunately looks like not the actual issue
21:28 sfan5 (still shouldn't crash of course)
21:28 sfan5 if that*
21:28 Alias Ok, I got the log before that, too. What should I look for?
21:29 Alias Last recorded action was someone crafting 99 ropes :D
21:31 sfan5 anything that looks like a reason the server would shut down
21:31 sfan5 though I don't really get how the situation in the crash log can happen at all...
21:31 erlehmann sfan5, what do you mean?
21:31 erlehmann why should it not happen?
21:31 Alias What bugs me most is that all the issues happened at different parts of MT
21:33 Alias How far into the past should I look for crash reasons? I can only see crafting and building actions, and the occasional active block modifier that took too long
21:33 sfan5 less than 1 minute
21:33 sfan5 erlehmann: if the server is shutting down the serverthread has no business still running
21:34 erlehmann well minetest is not exactly threadsafe or is it?
21:35 sfan5 what is that supposed to mean?
21:35 erlehmann that the different threads interact with the shared state perfectly without bugs
21:36 erlehmann i think i have had situations at shut down that might have been similar, i.e. threads still running though they shoud not
21:36 erlehmann i did not get such a nice trace though
21:36 sfan5 Minetest is not "perfect" and "without bugs", no
21:36 erlehmann i mean specifically in regard to threads
21:37 erlehmann brb checking something
21:37 Alias The last 2 minutes before the crash are around 430 lines. At least _I_ cannot see anything strange in there.
21:38 Alias Since those lines contain player names and positions, I'd rather send it in private, if you want to take a look?
21:38 sfan5 sure
21:41 erlehmann ok i'm looking at the thread stuff now to see if i can find thread weirdness at shutdown without having a huge server with many users. don't count on it, i have no idea what i'm doing!
21:43 Alias erlehmann: If it helps, I'd forward those two minute log to you, too. I only can't have it in general public
21:43 erlehmann no do not
21:43 erlehmann i'm just trying to see if there is a general issue that you noticed and everyone else did not
21:44 erlehmann do not expect me to be of as much help as sfan5, i have very little familiarity with the engine
21:44 erlehmann (i am working on that)
23:16 MTDiscord <Jonathon> sfan5, earlier in dev irc, you said that dynamic media would be useful for mineclone, however once its used its pushed to all clients that join anyways, so what is the difference for the clients after its used once?
23:17 sfan5 you must have missed the API improvements merged a few days ago
23:17 MTDiscord <Jonathon> i noticed
23:18 sfan5 regardless of that though it would still move the loading overhead to the first time it was used
23:18 MTDiscord <Jonathon> yes i can send it per player specifically, however it needs to play at a pos, so unless you want to patrol with a globalstep, sending to all players would be required
23:19 MTDiscord <Jonathon> >regardless of that though it would still move the loading overhead to the first time it was used ah ok, thats what i thought
23:19 MTDiscord <Jonathon> thank you
23:20 sfan5 it'd mostly make a relevant different for android singleplayer loading times
23:20 sfan5 where "all players" is just one player anyway
23:20 MTDiscord <Jonathon> yeah, as long as they join before its used is the only time it makes a difference
23:21 erlehmann i don't get it where would it be useful for mineclone
23:21 MTDiscord <Jonathon> >jukeboxes
23:21 erlehmann oh lol
23:21 MTDiscord <Jonathon> also, please dont start a mineclone rant
23:21 erlehmann nah
23:22 erlehmann you want laggy jukeboxes? bc to me it seems like that way you get laggy jukeboxes
23:22 MTDiscord <Jonathon> i mean, if people never use them, then thats a benifit all the time, but the first time someone uses it, its pointless
23:22 MTDiscord <Jonathon> *benefit
23:23 MTDiscord <Jonathon> waiting like a second or two to start music is a big deal?
23:23 erlehmann i see the potential benefit here though, the jukebox tracks are 15M
23:23 erlehmann and jukeboxes that had many more tracks would ofc benefit
23:23 Pexin w wut..
23:24 MTDiscord <Jonathon> saves loading till its used, after that, not point
23:24 MTDiscord <Jonathon> *no
23:24 Pexin 15M seems excessive
23:24 erlehmann Pexin, all tracks together are 15M
23:24 Pexin ah
23:24 Pexin that's much better
23:24 erlehmann that is 15M of media that is very rarely used
23:25 MTDiscord <Jonathon> seems dynamic media v1 could be used for this no problem
23:25 Pexin maybe someone will make a newer jukebox with more than 9 tracks that can dynamically pull from a web source
23:26 MTDiscord <Jonathon> pexin: sure, but once someone plays all those tracks, all players afterwords will have to load them
23:26 erlehmann the thing is, if you make it load at playtime, it can stall the game you are playing pretty effectively
23:26 erlehmann i mean filling a mapblock with 4MB of meta already does
23:27 Pexin not if the jukebox only stores a uri
23:28 erlehmann Pexin, mcl2 actually introduced a jukebox API to register arbitrary tracks, it is a bit buggy (i fixed that when i ported it to mineclonia), but you can basically make a mod that registers an arbitrary number of music discs now.
23:28 MTDiscord <Jonathon> pexin: read the manual on how dynamic media works
23:29 MTDiscord <Jonathon> >Adds the file to the media sent to clients by the server on startup
23:29 MTDiscord <Jonathon> sending it to specific players would not work in this case as your playing it to all player in a pos area, thus all players need to have the audio
23:29 Pexin isn't that what's currently being discussed for fixing?
23:30 Pexin ohhh
23:30 MTDiscord <Jonathon> with dynamic media v2 you can send to specific players and not add to all players after words, but in this case you can not do so
23:31 MTDiscord <Jonathon> i case of per player and not added to global media loading what be only sending per player ambience for areas like the nether
23:31 MTDiscord <Jonathon> *a case
23:31 erlehmann Jonathon, i believe you might be mistaken about mcl jukeboxes, they only play sound to players that inserted the disc
23:31 erlehmann not all players in the area
23:31 Pexin I should refrain from joining a conversation midway while I'm half paying attention to listening to my own playlist haha
23:31 MTDiscord <Jonathon> oh really? i looked up how minecraft ones work
23:31 MTDiscord <Jonathon> i assumed mineclone did similar
23:32 erlehmann look at the code. i consider it unfortunate that it works that way.
23:32 erlehmann bc i already witnessed a “hey do you hear my cool music disk?” – “not at all” event
23:32 MTDiscord <Jonathon> https://github.com/minetest-mods/jukebox/blob/master/init.lua#L74 heh, the minetest-mods one does it "correctly"
23:37 erlehmann just tell someone from the mcl2 or mcl5 team that it is not EXACTLY LIKE MINECRAFT and i bet they will appreciate that
23:38 MTDiscord <Jonathon> minetest bot needs a command to slap erlehmann every time he complains about mineclone
23:38 Pexin I recall searching the MT code to see if it can handle midi / can be added easily, but I don't remember what I found.
23:39 MTDiscord <Jonathon> isnt there some issue somewhere?
23:39 MTDiscord <Jonathon> 50 50 chance it got paramated
23:40 erlehmann ha we can just verb nouns?
23:40 erlehmann 100% chance if midi was ever supported it got hecktested recently hehe
23:40 MTDiscord <Jonathon> go play jordach's drinking game
23:41 erlehmann oh what is that
23:41 MTDiscord <Jonathon> then youll understand why thats a paramated is a thing
23:41 erlehmann is it on contentdb?
23:41 MTDiscord <Jonathon> its in the forum somewhere
23:41 erlehmann ok i look lol
23:42 erlehmann found it https://forum.minetest.net/viewtopic.php?t=25514
23:43 MTDiscord <Jonathon> yeah, that
23:44 MTDiscord <Jonathon> anyways, back to midi https://github.com/minetest/minetest/issues/3878
23:44 MTDiscord <Jonathon> seems to be main thing
23:45 Pexin huh
23:45 erlehmann whatever ppl say of paramat, requesting the ability of mods to figure out if the client is running linux is just insanely stupid https://github.com/minetest/minetest/issues/10393#issuecomment-692473048
23:45 erlehmann that was shot down legitimately 100%
23:46 MTDiscord <Jonathon> https://github.com/minetest/minetest/issues/11603 LOL
23:46 erlehmann i really don't get why ppl can't get feature testing
23:47 erlehmann it's not like protocol version numbers mean anything
23:47 erlehmann if related to features
23:48 MTDiscord <Jonathon> i want the strict protocol setting to actually work rather than kicking people based on fricking formspec versions
23:48 erlehmann Warr1024 would you also want http to increase protocol version when ever a new nginx or apache comes out
23:48 erlehmann Jonathon define “actually work” pls
23:48 MTDiscord <Jonathon> 5.2 vs 5.3 comparison was a dumpster fire
23:49 erlehmann > Doing this is supposed to provide modders with the ability to accurately detect whether features they care about work on a particular client, including detecting bugs or quirks that may be unknown to core devs at the time of release.
23:49 erlehmann another thing for cheat clients to handle
23:49 erlehmann “send fake user agent”
23:50 erlehmann then the *real* protocol incompatibility would need to be handled differently even
23:50 erlehmann amazing
23:50 sfan5 protocol versions are not user agents
23:50 sfan5 if your client claims it only supports 5.3 it will only get 5.3 features
23:50 MTDiscord <Jonathon> if a client wants to lie about what it supports, then its there fault for crashing and burning or having sub optimal experience
23:50 sfan5 and a disconnect if the server has enabled strict checking
23:52 erlehmann sfan5, my point is that overloading the meaning of protocol version beyond “this is strictly speaking incompatible on the wire” would make protocol versions user agents
23:52 erlehmann in practice
23:52 erlehmann in the same way that sending window size or platform would make it worse
23:52 sfan5 well what is "strictly incompatible"
23:53 sfan5 if the server sends extra data that older clients ignore is that "strictly incompatible"?
23:53 sfan5 because that's what often happens until now, you could argue that the protocol version should be bumped because of that and it would be reasonable
23:54 erlehmann i'd say “the grammar of the new version is not even close to containing the old version grammar entirely”
23:54 erlehmann html is upwards compatible like that, new elements get added all the time
23:54 erlehmann http too, new headers
23:55 AliasAlreadyTake joined #minetest
23:55 erlehmann email, xmpp, tls – all the really successful application protocols used by more than a handful of programs/libraries stopped having “protocol versions” at some point
23:56 erlehmann and used exactly that kind of extension mechanism
23:57 Pexin x-client-eula: By accepting this http fetch, the administration of the server (hereafter known as THE SERVER) shall agree that the user of the client (hereafter known as THE CLIENT) has been granted the right to execute arbitrary digital instructions on the server without warrantee etc etc etc
23:57 erlehmann (extra data that “old” clients ignore)
23:57 erlehmann Pexin, are you working on client-sent server mods lol
23:58 Pexin I wish...
23:58 erlehmann Pexin maybe query me if you think you might be able to turn a use after free or dereferencing a null pointer into code execution
23:59 erlehmann but not tonight

| Channels | #minetest index | Today | | Google Search | Plaintext