Minetest logo

IRC log for #minetest-dev, 2021-09-08

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

All times shown according to UTC.

Time Nick Message
00:02 Extex joined #minetest-dev
02:28 queria^clone joined #minetest-dev
02:33 queria^clone joined #minetest-dev
03:28 Extex joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
05:34 ivanbu joined #minetest-dev
06:37 queria^clone joined #minetest-dev
07:17 specing joined #minetest-dev
08:41 olliy joined #minetest-dev
10:00 calcul0n joined #minetest-dev
11:11 specing joined #minetest-dev
12:08 queria joined #minetest-dev
12:17 proller joined #minetest-dev
13:47 Fixer joined #minetest-dev
14:34 kilbith joined #minetest-dev
14:35 kilbith I'd like https://github.com/minetest/minetest/pull/11498 and https://github.com/minetest/minetest/pull/10100 to be combined
14:54 erlehmann why make a big PR even bigger
15:30 rubenwardy god that would be such a pain to review
15:30 rubenwardy > There is a demo mod which creates 291 nodes covering edge cases
15:33 rubenwardy !seen nore
15:33 ShadowBot rubenwardy: I haven't seen nore in #minetest-dev.
15:33 rubenwardy :(  stuck on leenode?
15:35 sfan5 ShadowBot is just wrong, they've been here on 1st Sep
15:35 ShadowBot sfan5: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command).
15:35 kilbith joined #minetest-dev
15:37 longerstaff13 joined #minetest-dev
15:50 erlehmann my personal experience: the bigger the PR, the longer it takes. the smaller the PR, the more ppl ridicule the reviewer for checking “what should be obvious”.
15:50 erlehmann i had this last night again, regarding a possible coordinate exploit
15:51 MTDiscord <luatic> I would really like it if we could stop with the current crappy texmod format and switch to a simpler cleaner one
15:51 erlehmann “stop” i.e. you wanna break all mods? or you want to not extend that hellish thing anymore?
15:52 MTDiscord <luatic> I want to not extend it
15:52 erlehmann i had to write my own escape function because the texture sucks so much
15:52 erlehmann luatic hmm but why not wrap it and that's it?
15:52 MTDiscord <luatic> Keeping the hellish things we already have is fine by me, but I don't see why we should keep adding texture modifiers
15:52 MTDiscord <luatic> wrap it?
15:52 MTDiscord <luatic> WDYM by that?
15:52 erlehmann wait, i look for a code example
15:52 erlehmann ah no, i won't
15:52 erlehmann by wrapping i mean, make a function that returns something modified
15:53 erlehmann then you can combine all the stuff
15:53 MTDiscord <luatic> yeah, I do suggest that
15:53 erlehmann and you can still extend the crappy format
15:53 erlehmann just make it required to add a function each time
15:53 MTDiscord <luatic> umm.. I don't see the point though
15:53 erlehmann backwards compatiblity and ease of doing it basically
15:53 erlehmann i mean it would be just some additional lua functions
15:54 Extex joined #minetest-dev
15:54 MTDiscord <luatic> yeah I know
15:54 MTDiscord <luatic> but still the format sucks
15:55 MTDiscord <luatic> see #11588
15:55 ShadowBot https://github.com/minetest/minetest/issues/11588 -- Proper syntax for texture modifiers, Lua utilities
15:55 erlehmann while that is true, i fail to see why that would be an argument against “wrap all the stuff”
15:55 MTDiscord <luatic> it is not, we should create wrappers so we can swap out the underlying representation at any time
15:55 erlehmann > I'm not even quite sure whether a context-free grammar can recognize them, and the parsers sure are a mess of string manipulation (and thus a security vulnerability; I've already seen buffer read overflows).
15:56 erlehmann lol
15:56 erlehmann i guess the first order of business could be to infer an actual grammar
15:56 MTDiscord <luatic> yeah, that's what I was up to
15:56 erlehmann > I'm also pretty sure parsing isn't even guaranteed to be linear due to this.
15:56 MTDiscord <luatic> but oh boy, I'm pretty sure the way escapes work requires some kind of context
15:57 erlehmann well i guess appgurueu has read the LANGSEC stuff or has very good intuitions
15:57 MTDiscord <luatic> lol I am appgurueu
15:57 MTDiscord <luatic> I haven't really read that stuff but I did get to the "non regular or context free bad" part
15:57 erlehmann then tell me if you have read the papers :D
15:57 MTDiscord <luatic> And I do know grammars well soo...
15:58 MTDiscord <luatic> non (regular or context-free) bad that is :P
15:58 erlehmann yeah that is actually superseded by a later thing, in 2017 or so ppl found that calc-regular (i.e. regular + length field prefix) can also be safe
15:58 MTDiscord <luatic> I actually quite like the length field, it's quite efficient
15:58 erlehmann which is hilarious, because that means before that result everyone was using length fields with no good justification whatsoever
15:59 MTDiscord <luatic> Umm well, the justification is that it means you don't really need escaping
15:59 MTDiscord <luatic> There are various ways of delimiting block scope
15:59 MTDiscord <luatic> There's delimiters, duh
15:59 erlehmann i mean the tools did not exist that parsing it is sound
15:59 erlehmann to prove that
15:59 MTDiscord <luatic> those are pretty much a constant factor, but they incur escaping
16:00 kilbith @luatic what happened to https://github.com/minetest/minetest/pull/10570 ?
16:00 MTDiscord <luatic> depending on how cleverly you escape you can get to about worst case square root escaping overhead for instance using Lua's long strings
16:00 MTDiscord <luatic> I forgot
16:01 kilbith that's a pity, the usecases are big
16:01 erlehmann btw i have had a thing where if i fall very fast and disable fall damage the server (5.4.1) and client 5.5-dev desync after impact
16:01 MTDiscord <luatic> what
16:01 MTDiscord <luatic> the client should not cease sending position updates
16:02 MTDiscord <luatic> maybe the client wrongly reports it's death?
16:02 erlehmann basically anticheat seems to think i am somewhere else then and rubberband me whenever i interact with a node, anyone else experience this?
16:02 erlehmann oh hmm
16:02 MTDiscord <luatic> anyways, TL;DR: I'm pretty sure length prefix is about the most efficient way of enclosing something.
16:02 erlehmann can the client actually report its death if fall damage is disabled?
16:02 MTDiscord <luatic> Minetest's exponential escapes are about the most INEFFICIENT way
16:02 MTDiscord <luatic> does the client know fall damage is disabled?
16:03 erlehmann luatic “i am pretty sure” is not a good standard, but i agree with escaping bad
16:03 erlehmann well i disabled it in the client, so *i am pretty sure* ;)
16:03 MTDiscord <luatic> Well, a length prefix is logarithmic, good luck beating that
16:04 erlehmann luatic in client.cpp look for sendDamage and just make the line before say “if (false)” or so
16:04 erlehmann fall damage is calculated and sent by the client for reasons
16:04 MTDiscord <luatic> I know
16:05 erlehmann btw, that is another use of a hack client: i once encountered a little kid who waited until ppl logged out, then removed the ground under them
16:05 erlehmann so now i often join with fly enabled and fall damage off because i hate such things
16:06 MTDiscord <luatic> So is WS a parody of DF in the end?
16:06 erlehmann dragon fire destroys things
16:06 MTDiscord <GreenXenith> Thought it was a fork
16:06 erlehmann wasp saliva is used to build stuff
16:06 MTDiscord <luatic> Darn, I really gotta make my own cheat client
16:07 MTDiscord <luatic> I'm gonna call it "swinetest"
16:07 kilbith joined #minetest-dev
16:07 MTDiscord <GreenXenith> Heh, a cheat client is a cheat client. What its used for is entirely up to the user.
16:07 erlehmann have you ever heard the story of darth fleckenstein the wise? it is not a story the minetest devs would tell you … bla bla … he could cheat others, but not himself!
16:08 erlehmann GreenXenith, yes there are pretty cool build hax that border on worldedit
16:09 MTDiscord <GreenXenith> Oh, there are literal building features in WS. Interesting
16:09 erlehmann with the exception that it lags a lot if you dig or place a buch of stuff
16:09 erlehmann yes
16:09 erlehmann i still think the coolest is the “place the thing i have selected on top of every node of the same type in reach”
16:10 MTDiscord <luatic> Can it place schematics too?
16:10 MTDiscord <luatic> so that allows you to start with a Grundriss and then build up?
16:10 erlehmann yes
16:10 erlehmann ja!
16:10 MTDiscord <luatic> Fein!
16:11 erlehmann it can place things, but i think not in the schematics format
16:11 MTDiscord <luatic> well, the schematic format sucks arguably :)
16:11 erlehmann cora has literally copied a space station from a server to another
16:12 MTDiscord <luatic> but you do need to have all the blocks, right?
16:13 erlehmann either that or something like /setblock or /give ofc
16:13 MTDiscord <luatic> oof, those merge conflicts are really hard to resolve
16:15 erlehmann luatic come on you can just dupe the blocks once you have a single one
16:15 erlehmann (if you find a dupe lol)
16:17 MTDiscord <luatic> I hope we have closed all dupes
16:17 erlehmann yes of course you have!
16:17 MTDiscord <luatic> hehe
16:18 erlehmann you wouldn't dupe a diamond block
16:19 erlehmann duping is literally unauthorized duplication and distribution of copyrighted materials! (such as default:diamondblock)
16:20 MTDiscord <Jonathon> if you have the anvil mod and a tool from a mod that doesnt return properly you can dupe tools
16:21 erlehmann Jonathon the name of the mod is literally anvil?
16:22 erlehmann ; minetest-servers mods |grep anvil |cut -f2 |sort |uniq
16:22 erlehmann anvil
16:22 erlehmann anvils
16:22 erlehmann mcl_anvils
16:22 erlehmann which one is it
16:27 erlehmann luatic have you started with texture modifier functions?
16:30 sfan5 <luatic> Minetest's exponential escapes are about the most INEFFICIENT way
16:30 sfan5 how often do you ever need to escape anything twice?
16:30 sfan5 like, what's the usecase
16:33 erlehmann in mcl_banners in mineclonia i put
16:33 erlehmann function escape(text)
16:33 erlehmann return text:gsub("%^", "\\%^"):gsub(":", "\\:") -- :gsub("%(", "\\%("):gsub("%)", "\\%)")
16:33 erlehmann finished_banner = "[combine:32x32:0,0=" .. escape(base) .. ":8,4=" .. escape(layer)
16:33 erlehmann here i used escape twice
16:34 erlehmann but if you want nested, i could use escape(escape(foo)) i think?
16:34 erlehmann is that escape function even correct lol
16:36 sfan5 by twice I meant nested
16:40 erlehmann well imagine you had a banner on your banner?
16:40 erlehmann no idea really though
16:55 Fixer_ joined #minetest-dev
17:25 sfan5 ?
17:47 pgimeno if we don't have a terminal velocity for falling, we need one
17:48 pgimeno as for exponential escapes, well, C has them
17:50 pgimeno I wrote a sort of essay here (in Spanish): https://orden-y-concierto.blogspot.de/2009/12/escape-del-escape-del-escape.html
18:19 Pexin joined #minetest-dev
19:16 specing joined #minetest-dev
19:38 MTDiscord <luatic> sfan5: it's just a worst-case complexity argument; the way escaping currently works, depth n might require 2^n escape characters
19:39 MTDiscord <luatic> this is currently not much of an issue as most modifiers are just a chain baseimg^[mod^[mod...
19:42 proller joined #minetest-dev
20:07 longerstaff13 joined #minetest-dev
20:07 Extex joined #minetest-dev
20:26 ssieb joined #minetest-dev
20:38 proller joined #minetest-dev
20:39 adfeno joined #minetest-dev
20:57 proller joined #minetest-dev
22:33 proller joined #minetest-dev
22:36 Pexin joined #minetest-dev
22:39 erlehmann joined #minetest-dev
22:55 sfan5 an 2^n solution is acceptable if n is only ever < 2
22:55 sfan5 hence my question what usecase do have that has n>=2
23:14 erlehmann if you think it should be impossible you should make it unrepresentable (and prove it will not break any mods on contentdb)
23:17 erlehmann sfan5 can i force a compile without zstd? it makes switching between branches hard if i have a test world
23:29 erlehmann luatic so i built the appguru:item_rtt branch for this PR https://github.com/minetest/minetest/pull/10570 and i noticed a few things: first, that branch is very old. second, i found noticeable lag between picking up a new node and the inventory image being rendered. third, the mineclonia player model had its head backwards, but maybe that is just because the branch is very old?
23:30 erlehmann i will double-check that none of that occurs in 5.5-dev now
23:30 erlehmann though i am pretty sure i would have noticed it
23:30 erlehmann i also got a segfault, no idea why. i rarely get those.
23:33 erlehmann [89878.146141] Emerge-0[24369]: segfault at f522dc3c ip 00ae8923 sp 9a081ab0 error 7 in minetest[56d000+66a000]
23:33 erlehmann [89878.146174] Code: c0 29 d6 0f b7 54 24 02 09 c1 8d 44 24 0c 89 4c 24 18 8d 4c 24 18 66 89 54 24 1c 8b 54 24 40 01 ee e8 11 fe ff ff 8b 4c 24 0c <89> 0c b7 03 73 1c 80 26 fd c6 43 20 01 83 c4 2c 5b 5e 5f 5d c3 8d
23:33 erlehmann whatever that means

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