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 |