Time |
Nick |
Message |
00:00 |
|
sparky4 joined #minetest |
00:42 |
|
riff-IRC joined #minetest |
00:48 |
|
AliasAlreadyTake joined #minetest |
01:20 |
|
specing joined #minetest |
01:37 |
|
grouinos joined #minetest |
01:59 |
|
Extex joined #minetest |
02:50 |
|
jadzia joined #minetest |
03:29 |
|
queria^clone joined #minetest |
03:33 |
|
queria^clone joined #minetest |
04:09 |
|
delta23 joined #minetest |
05:00 |
|
MTDiscord joined #minetest |
05:33 |
|
Extex joined #minetest |
05:41 |
Extex |
Is there a way to make a decoration place_on stone but like an ore have a wherein of air |
05:42 |
Extex |
No wait that's backwards |
05:42 |
Extex |
place on air but in stone |
05:42 |
Extex |
So it'll replace the ceilings of caves |
06:01 |
|
riff-IRC joined #minetest |
07:19 |
|
cation joined #minetest |
07:36 |
|
ShadowBot joined #minetest |
07:53 |
|
TomTom joined #minetest |
09:13 |
|
CWz joined #minetest |
09:27 |
|
cation joined #minetest |
10:38 |
|
Fixer joined #minetest |
10:55 |
|
AristotIe joined #minetest |
11:17 |
|
cation21 joined #minetest |
11:19 |
|
est31 joined #minetest |
11:49 |
|
z812 joined #minetest |
11:54 |
|
definitelya joined #minetest |
11:54 |
sfan5 |
couldn't you make that work with y offsets? |
12:19 |
|
proller joined #minetest |
12:22 |
|
calcul0n_ joined #minetest |
12:27 |
|
wsor4035 joined #minetest |
12:36 |
|
Noclip[m] joined #minetest |
12:36 |
|
freshreplicant[m joined #minetest |
12:36 |
|
iliekprogrammar[ joined #minetest |
12:36 |
|
programmerjake joined #minetest |
12:36 |
|
unexploredtest[m joined #minetest |
12:36 |
|
plate[m] joined #minetest |
12:40 |
|
Noisytoot joined #minetest |
13:20 |
|
specing_ joined #minetest |
13:23 |
|
calcul0n__ joined #minetest |
13:44 |
erlehmann |
could the “find_nodes_in_area(): area volume exceeds allowed value of 4096000” here be an engine bug? https://git.minetest.land/Mineclonia/Mineclonia/issues/165 |
13:44 |
|
wsor4035 joined #minetest |
13:44 |
|
freshreplicant[m joined #minetest |
13:45 |
erlehmann |
local fpos, num = minetest.find_nodes_in_area( areamin, areamax, {"mcl_fire:fire", "mcl_fire:eternal_fire"} ) |
13:45 |
erlehmann |
> the distance between areamin and areamax is supposed to be constant |
13:58 |
|
kamdard_ joined #minetest |
14:02 |
sfan5 |
"supposed to" but what are the actual values? |
14:04 |
erlehmann |
let me look up the code |
14:07 |
erlehmann |
sfan5, here https://git.minetest.land/Mineclonia/Mineclonia/src/branch/master/mods/ITEMS/mcl_fire/init.lua#L310 |
14:08 |
erlehmann |
local ppos = player:get_pos() → local areamin = vector.subtract(ppos, radius) → local areamax = vector.add(ppos, radius) |
14:08 |
erlehmann |
local radius = 8 -- Flame node search radius around player |
14:08 |
erlehmann |
so |
14:08 |
erlehmann |
sfan5, any way this can fail? |
14:10 |
sfan5 |
shouldn't you of all people know? |
14:10 |
sfan5 |
Inf, NaN, underflow/overflow |
14:12 |
erlehmann |
sfan5 i am asking you to avoid poking the wrong thing here |
14:12 |
erlehmann |
the next idea is obv trying that calculation for all positions |
14:12 |
erlehmann |
and noticing when it fails |
14:13 |
|
Sven_vB_ joined #minetest |
14:13 |
sfan5 |
the next idea should be to reproduce the bug and log what the API is actually called with |
14:14 |
erlehmann |
speaking of which, is it possible to get backtraces that actually contain the values? |
14:19 |
MTDiscord |
<luatic> Well, I wouldn't expect MT to be able to properly deal with areas extending beyond world borders |
14:19 |
MTDiscord |
<luatic> Most probably somebody decided to use s16 for coordinates and it's overflowing |
14:20 |
|
Verticen joined #minetest |
14:20 |
MTDiscord |
<luatic> I recommend just clamping coordinates by world borders |
14:23 |
erlehmann |
world borders, but not mapgen borders |
14:23 |
erlehmann |
i hope |
14:24 |
erlehmann |
(the latter breaks a bunch of stuff if you enforce no interaction outside mapgen bounds) |
14:24 |
erlehmann |
luatic i still think the correct response is to figure out if the volume calculation is even correct |
14:34 |
|
delta23 joined #minetest |
14:34 |
|
Fixer joined #minetest |
14:53 |
|
wing joined #minetest |
15:37 |
|
absurb joined #minetest |
15:48 |
|
behalebabo joined #minetest |
15:49 |
MTDiscord |
<luatic> The volume calculation is incorrect |
15:49 |
erlehmann |
luatic elaborate |
15:55 |
MTDiscord |
<luatic> 2,147,483,647 is the max value of s32 |
15:55 |
MTDiscord |
<luatic> now calculate the cube root of that |
15:55 |
MTDiscord |
<luatic> 1291^3 will already overflow |
15:56 |
MTDiscord |
<luatic> And that's a mere couple gigs of area |
15:57 |
MTDiscord |
<luatic> getVolume() is used to perform bounds check, but actually, the input should be bound-checked first |
15:57 |
MTDiscord |
<luatic> (or just slap u64 on it and call it a day: s16^3 will always fit in there) |
15:59 |
|
Extex joined #minetest |
15:59 |
MTDiscord |
<luatic> I really don't get why larger number types are used so sparsely. In Lua f64 is used all the time. Performance is still fine. |
15:59 |
erlehmann |
look we have a case here where the difference is supposed to be 8 |
16:00 |
erlehmann |
i mean |
16:00 |
erlehmann |
8^3 should not be big |
16:01 |
MTDiscord |
<luatic> And it isn't. But as I said, the I'm pretty sure it's the f64 (Lua number) to s16 (MT world coordinate) cast where things go wrong: It will fail at world borders, even if you only add 8. |
16:02 |
MTDiscord |
<luatic> Minetest should be checking whether the number fits in the s16 range |
16:06 |
erlehmann |
luatic fail in what way though? UB? |
16:06 |
MTDiscord |
<luatic> ¯_(ツ)_/¯ |
16:07 |
erlehmann |
i am making a test case for your outrageous statement! :D |
16:07 |
MTDiscord |
<luatic> I'd love to be proven wrong, but I'm fairly sure MT is using v3s16 for node positions everywhere. |
16:19 |
|
independent56 joined #minetest |
16:30 |
independent56 |
Is there a way to do something like mod_name:* to select all nodes in a mod? I need to disable all nodes fromthe creative inventory belonging toa specific mod. |
16:36 |
erlehmann |
ok so i got it |
16:36 |
erlehmann |
luatic is probably correct |
16:36 |
erlehmann |
volume calculation is incorrect |
16:36 |
erlehmann |
clamping coordinates by world borders is not the correct solution though |
16:38 |
erlehmann |
(i think that will still give incorrect results for some stuff) |
16:40 |
|
Rafi59 joined #minetest |
16:42 |
calcul0n__ |
independent56, i think the only way is to traverse minetest.registered_nodes and select those you want with a regex or something |
16:42 |
independent56 |
Oh... :-( |
16:42 |
independent56 |
But also yay regex! |
16:45 |
|
GNUHacker joined #minetest |
16:45 |
independent56 |
Can i have that lua code snippet i lost that removes items fromcreative, as a simple fuunction which takes an itemstring s input? |
16:53 |
calcul0n__ |
you need minetest.override_item to add the not_in_creative_inventory group |
16:53 |
calcul0n__ |
(iirc) |
16:53 |
independent56 |
Can you please write a tiny function to remove an item? I can expand it later. |
16:54 |
calcul0n__ |
something like def=registered_nodes[name] def.groups["not_in_creative_inventory"]=1 override_item(name, def) |
16:54 |
calcul0n__ |
not sure it's a good idea to modify the def table in place though |
16:54 |
sfan5 |
http://sprunge.us/Cttnst |
16:55 |
independent56 |
Thnk you |
16:57 |
independent56 |
Soon my server will be creative |
17:02 |
independent56 |
What does creative mode actually do? Does it set a default priv to be creative? How do i turn on creative mode, whilst ensuring players play in survival? |
17:02 |
erlehmann |
luatic you are appgurueu right? |
17:06 |
calcul0n__ |
independent56, yes it registers a creative priv and a couple of helper functions |
17:06 |
independent56 |
Ah, how do i disable the priv from a minetest.conf/world.mt point of view? |
17:06 |
calcul0n__ |
i guess what you want is don't enable creative in your game and grant the priv to who you want |
17:07 |
independent56 |
That's what i want, but i just wanted to see if the reverse is possible - creative sith survival privs. |
17:07 |
calcul0n__ |
i don't think so, there's no such priv |
17:08 |
independent56 |
dammit |
17:08 |
|
appguru joined #minetest |
17:11 |
|
appguru1 joined #minetest |
17:12 |
erlehmann |
appguru, https://github.com/minetest/minetest/issues/11769 |
17:14 |
independent56 |
How can i make dark places brighter globally? I want caves to be navigable without torches, and night to be less dark. |
17:14 |
Ingar |
raytracing! |
17:14 |
Ingar |
*ducks* |
17:15 |
erlehmann |
independent56 adjust your gamma value |
17:16 |
independent56 |
Oooh, where? server or client? |
17:16 |
erlehmann |
it is a client setting |
17:16 |
erlehmann |
i have a better idea though |
17:17 |
independent56 |
https://imgur.com/a/cypUCMG Anyways, here is a view of the bottom of my world without stone |
17:17 |
independent56 |
Just shows how much ore there is |
17:19 |
|
grouinos joined #minetest |
17:21 |
erlehmann |
independent56 go to src/nodedef.cpp and search for "light_node = 0", change it to 6 |
17:21 |
erlehmann |
instant then recompile |
17:21 |
independent56 |
ahh, cool |
17:21 |
independent56 |
If only i was using the source |
17:21 |
independent56 |
i use snap |
17:23 |
erlehmann |
use the source |
17:24 |
erlehmann |
luatic appguru can we overwrite find_nodes_in_area with our own version that contains boundary checks easily? |
17:34 |
|
Talkless joined #minetest |
17:36 |
appguru |
erlehmann: of course we can |
18:07 |
|
independent5648 joined #minetest |
18:26 |
|
Lone_Wolf joined #minetest |
18:34 |
|
___nick___ joined #minetest |
18:34 |
independent56 |
Do edit blocks take area protection into account when doing operations? |
18:39 |
independent56 |
What happens when the owner of a big server dies? who takes the job of administrating the server? family? moderators? |
18:42 |
sfan5 |
that depends on the precautions they have taken |
18:43 |
|
illwieckz joined #minetest |
18:46 |
independent56 |
Hmm. |
18:46 |
MTDiscord |
<Jonathon> i mean, if you want to watch irl action to a degree, see what happens to VE mods and server |
18:46 |
independent56 |
My server will likely fade to obscurity, leaving a ghost of me in terms of the 56i-mtserver, until my server dies and my online ghost dies. |
18:47 |
Pexin |
"big" can mean db size, territory instantiated, number of registered users, number of typical daily users, cost of hosting |
18:47 |
MTDiscord |
<Jonathon> *servers |
18:47 |
independent56 |
I mean amount of users a day and db size |
18:48 |
independent56 |
I need to ensure proper precaution publicly avilable on the wiki, something like giving the server to a trusted moderator by parcel,for them to take care of |
18:48 |
MTDiscord |
<Jonathon> i mean, you could always do what nodecore does/crafter did, is upload a db of the world public for anyone, if the server ever goes down people can continue it |
18:48 |
independent56 |
But if only i had players. |
18:48 |
independent56 |
Cool! |
18:48 |
|
garywhite joined #minetest |
18:48 |
|
garywhite joined #minetest |
18:48 |
independent56 |
i need to do that |
18:49 |
independent56 |
maybe i do "--world /var/www/html/world" :p |
18:49 |
independent56 |
(default apache htdocs directory) |
18:49 |
MTDiscord |
<Jonathon> can use stuff like rsync so people running mirrors or updating a local copy dont have to download the whole thing all the time, also preserving bandwidth for those on limited connections |
18:50 |
independent56 |
"wget -r 56i.duckdns.org/worlds/56i-mtserver" or something |
18:51 |
sfan5 |
you wouldn't want to expose an unsanitized copy because that'd also leak your users passwords |
18:51 |
sfan5 |
and IP addresses or other data depending on the mods you use |
18:52 |
independent56 |
ahh, dammit. Maybe i just vet each file and use cp in a shell script and copy them every week using crontab |
18:53 |
independent56 |
http://56i.duckdns.org/dokuwiki/doku.php/guidelines/creative#creative Here, creative mode on my server for those that want it. Thoughts? |
19:00 |
MTDiscord |
<luatic> erlehmann: yes I am |
19:01 |
|
FreeFull joined #minetest |
19:02 |
|
erlehmann joined #minetest |
19:04 |
|
grouinos joined #minetest |
19:04 |
independent56 |
Using --config, how can i set one global minetest.mt file and then override other settings through another .mt file, such that duplicate settings are overriden, but singular are not default. |
19:04 |
independent56 |
? |
19:20 |
erlehmann |
appguru / luatic how can i overwrite minetest.find_nodes_in_area in mineclonia for *every* mod? https://git.minetest.land/Mineclonia/Mineclonia/issues/165 |
19:26 |
|
appguru joined #minetest |
19:29 |
MTDiscord |
<Jonathon> by just redefining it? |
19:29 |
MTDiscord |
<Jonathon> nothing can call it at load time |
19:29 |
MTDiscord |
<Jonathon> its a run time function |
19:29 |
erlehmann |
Jonathon the question is, how to make sure that the redefinition happens in all mods if i overwrite it in one mod. just overwrite it at load time and that's it? |
19:30 |
MTDiscord |
<Jonathon> minetest shares one global lua enviroment.... |
19:30 |
erlehmann |
ok |
19:30 |
erlehmann |
btw i can call it at load time |
19:30 |
erlehmann |
it just doesn't do anything |
19:30 |
MTDiscord |
<Jonathon> well duh |
19:31 |
erlehmann |
now the second question, *is this a good idea* ? |
19:31 |
MTDiscord |
<Jonathon> see minetest.is_creative, minetest.is_protected, etc function redefinitions |
19:31 |
MTDiscord |
<Jonathon> third question, is questions one and two dumb questions? yes |
19:32 |
sfan5 |
it is not a good idea evidenced by the fact that your implementation contains a bug which I bet neither you or appguru spotted |
19:33 |
appguru |
who said I was supposed to look for bugs? |
19:33 |
|
Extex joined #minetest |
19:34 |
appguru |
I'm mostly concerned with redundant code, lol |
19:34 |
appguru |
also, what do you mean by "bug"? would the non-overridden function have handled the case properly? |
19:34 |
sfan5 |
yes |
19:34 |
MTDiscord |
<luatic> the grouped param was forgotten |
19:34 |
sfan5 |
indeed |
19:34 |
MTDiscord |
<luatic> erlehmann: add ... vararg |
19:37 |
MTDiscord |
<luatic> sfan5: you forgot find_nodes_with_meta? |
19:37 |
sfan5 |
that doesn't have that 409000 node limit does it |
19:37 |
sfan5 |
but I can apply the fix there too |
19:38 |
MTDiscord |
<luatic> indeed it doesn't - why? |
19:40 |
sfan5 |
I checked and the answer is that findNodesWithMetadata is efficient that not limiting it may be okay |
19:40 |
sfan5 |
efficient enough* |
19:48 |
|
Fixer_ joined #minetest |
20:00 |
erlehmann |
oh no |
20:00 |
erlehmann |
why 31000 |
20:00 |
erlehmann |
seriously |
20:03 |
sfan5 |
it is documented and treated as the absolute working limit |
20:03 |
|
sparky4 joined #minetest |
20:04 |
erlehmann |
sfan5 for the MAPGEN |
20:04 |
erlehmann |
seriously, this is wrong handling of boundary conditions |
20:04 |
erlehmann |
why not clamp it to the s16? |
20:05 |
erlehmann |
if you arbitrarily introduce some new boundaries, you *will* have some weird bugs at them |
20:09 |
sfan5 |
this is not a new boundary |
20:09 |
sfan5 |
and speaking of mapgen: if a block can never be generated beyond that limit, how can it exist= |
20:09 |
sfan5 |
s/=/?/ |
20:10 |
erlehmann |
hihi |
20:11 |
erlehmann |
you can build a flying machine to fly past the mapgen territory, for once |
20:11 |
Pexin |
manually editing the world db outside of the game? |
20:11 |
erlehmann |
it is possible with vanilla client to actually place blocks past the mapgen boundaries of 30927 or so, but i am not sure how far out i can *place* them |
20:11 |
sfan5 |
erlehmann: beyond 31008 (rounding due to mapblock), no |
20:11 |
erlehmann |
ah! |
20:12 |
erlehmann |
sfan5 i still think that treating 31008 as the limit may mask other bugs if you do not get as close to the s16 bounds as possible |
20:13 |
erlehmann |
what i am saying is, getting to the boundaries is dangerous, so do it exactly |
20:13 |
erlehmann |
you seem to just want to stay away from them |
20:13 |
sfan5 |
/ I really don't want to make every algorithm to check if it's going near |
20:13 |
sfan5 |
/ the limit or not, so this is lower. |
20:13 |
sfan5 |
masking off-by-one errors is its stated purpose |
20:14 |
erlehmann |
i *do* actuall want every algorithm to behave well there |
20:14 |
Pexin |
for a project like MT, limiting the opportunity for such errors is probably preferable than to spend the effort to make the engine airtight |
20:15 |
erlehmann |
well, the problem here is that whatever the boundary is, you need to make *sure* there can't be anything |
20:15 |
|
GNUHacker joined #minetest |
20:15 |
erlehmann |
otherwise, a simple sanity check as “place a big structure, then try to count how much you placed” may fail |
20:15 |
erlehmann |
at the boundaries |
20:17 |
erlehmann |
sfan5 the problem with masking the other bugs is that they may still be exploitable if they exist |
20:19 |
erlehmann |
Pexin “let's arbitrarily fix this to an eyeballed value” is more trouble than actually adhering as close as possible to the underlying data type. |
20:25 |
|
delta23 joined #minetest |
20:26 |
erlehmann |
sfan5 i will now test your assertion that there can not be blocks past MAX_MAP_GENERATION_LIMIT. i hope you are right. |
20:27 |
erlehmann |
(i set minetest up so that it is likely to crash if anything exists past the limit) |
20:29 |
|
moongaia joined #minetest |
20:34 |
|
independent56 joined #minetest |
20:44 |
erlehmann |
I am in the process of testing it, the actual limit of where blocks can exist without crashing the game seems to be *at least* up to x=32687. |
20:46 |
independent56 |
I have just invented the hobby of minetest abstract photography |
20:46 |
independent56 |
https://imgur.com/a/NNZZXef |
20:46 |
independent56 |
Using two players |
20:49 |
independent56 |
Survival alt and the admin |
20:53 |
definitelya |
noice |
20:57 |
independent56 |
This is the hobby i made |
20:59 |
independent56 |
Screenshots wrre always made for documentation, never for art. |
20:59 |
independent56 |
"Look at what i built" "this is the bug", and not "Think about how this piece repersents life" |
21:00 |
definitelya |
or "this is the bug I built" :) |
21:04 |
independent56 |
XD |
21:04 |
|
est31 joined #minetest |
21:05 |
|
definitelya left #minetest |
21:09 |
|
GNUHacker joined #minetest |
21:18 |
|
GNUHacker joined #minetest |
21:20 |
|
illwieckz joined #minetest |
21:23 |
cheapie |
Hmm, Dreambuilder in 1GiB of RAM is... "interesting" :P |
21:35 |
|
grouinos joined #minetest |
21:35 |
|
tempuser123 joined #minetest |
21:35 |
|
Fusl joined #minetest |
22:05 |
independent56 |
https://pastebin.com/LvmahrTa How do i fix this? This is where my sound problems comefrom. |
22:11 |
erlehmann |
sfan5 biomes are definitely wonky past 31000 https://mister-muffin.de/p/gO5Q.png |
22:14 |
independent56 |
it's 23:14 in their timezone |
22:14 |
independent56 |
Just a reminder |
22:14 |
sfan5 |
it is 23:14 in erlehmann's timezone too |
22:15 |
sfan5 |
independent56: which distro are you using? (proxy question for "how is sounds supposed to work on yours?") |
22:15 |
independent56 |
I'm using Ubuntu, but i dont understand what level you're asking from the proxy question? Hardware? OS? Software? |
22:16 |
independent56 |
And i had a 1/24 chance of Erhlmann being in the same timezone as any arbituary user of IRC |
22:16 |
sfan5 |
if you are using ubuntu you should have pulseaudio running |
22:16 |
sfan5 |
if not, then that's what you need to fix |
22:17 |
independent56 |
Ahh |
22:17 |
independent56 |
It's running, ps -aux grep pulseaudio said so. |
22:20 |
Pexin |
independent56: frequently, when my screen goes to sleep with MT running, when I come back the console is full of 'out of memory' messages, and there's no sound. opening pavucontrol kicks it in the head or whatever and there's a burst of apparently queued sound, then it works |
22:20 |
independent56 |
This error happens whenever i start minest. |
22:21 |
Pexin |
pressy 'm' ingame? |
22:21 |
Pexin |
pressy.. |
22:21 |
independent56 |
"Sound muted" "sound unumuted" (the latter message is a lie" |
22:22 |
Pexin |
does pavucontrol show MT as a source? |
22:23 |
independent56 |
Even under allstreams, it just shows Clementine and System Sounds. |
22:24 |
sfan5 |
minetest not being able to open sound might be related to it running under snap |
22:24 |
Pexin |
i dunno what to say except try removing alsa, and hope you're not already fubar |
22:25 |
Pexin |
fixing linux sound issues, in my experience, is the dark tales of netherhorror land |
22:25 |
independent56 |
What does "fubar" mean? |
22:25 |
sfan5 |
you can't remove alsa, it's the kernel API |
22:25 |
independent56 |
How do i run outside of snap? |
22:25 |
Pexin |
sfan5: maybe that's why I had horrorterrorland experiences |
22:26 |
sfan5 |
erlehmann: the world ends at 30928 for me, I don't see the issue |
22:28 |
erlehmann |
sfan5 out of sight, out of mind! |
22:28 |
erlehmann |
seriously, re-using the mapgen limit is wrong. use the actual values where it misbehaves. |
22:29 |
erlehmann |
i don't want this function behave weirdly inside mapgen |
22:30 |
sfan5 |
the function works correctly for all areas a mapgen could generate |
22:30 |
erlehmann |
why does no one ever believe me? |
22:31 |
erlehmann |
i pointed out the exact boundary |
22:32 |
sfan5 |
it is not an issue of belief |
22:32 |
sfan5 |
the Minetest world is specified and advertised as going until 31000 |
22:32 |
erlehmann |
well, having the mapgen stop at 31000 avoids a dozen buffer overflows, so there's that. |
22:32 |
sfan5 |
but you want an API function to work beyond that for dubious reasons |
22:32 |
erlehmann |
yeah but i rather have functions misbehave FAR FAR from the visible world |
22:33 |
sfan5 |
and there we have it again: an unfounded claim of security issues |
22:33 |
sfan5 |
seriously I should put you on my ignore list |
22:33 |
sfan5 |
talking to you is a waste of time |
22:33 |
sfan5 |
in all regards |
22:33 |
erlehmann |
ok consider what would happen if you set it at 30928 |
22:34 |
erlehmann |
or try it out |
22:34 |
erlehmann |
it's immediately obvious why the function should prob stop working far *outside* of anything ever touched by mapgen |
22:34 |
erlehmann |
whatever |
22:35 |
|
Soni joined #minetest |
22:36 |
erlehmann |
it's more reliability than security issues btw |
22:37 |
sfan5 |
curious how something that does not change the observable behaviour of a function affects reliability (or anything at all) |
22:38 |
erlehmann |
well mineclonia crashed bc some clown managed to figure out how to invoke that function far out of bounds |
22:38 |
erlehmann |
and then the volume calculation was off |
22:38 |
erlehmann |
i have no idea *how* they put anything there |
22:38 |
erlehmann |
but if i can't detect it via mod, i def can not remove it automatically |
22:39 |
sfan5 |
you're saying they placed a node there? |
22:39 |
erlehmann |
i think they manage to place a fire node there |
22:39 |
erlehmann |
i have to figure it out |
22:40 |
sfan5 |
before you claim anything please do |
22:40 |
sfan5 |
because this just makes it look like you don't even know what your own game does |
22:41 |
erlehmann |
do you remember the bug report where someone managed to put a mesecons flying machine far out of bounds to crash the server? |
22:41 |
erlehmann |
i'll try to figure it out |
22:43 |
erlehmann |
sfan5, would you – ignoring the exact value of boundaries – look at the code i want to put in mineclonia to prevent this? i think it would be good to have a good drop-in example for out-of-bounds clamping for other games. |
22:44 |
erlehmann |
(catlandia has a much smaller fix that is arguably wrong) |
22:46 |
MTDiscord |
<Jonathon> im curious how you even know what exactly there fix is |
22:47 |
sfan5 |
I think it's better if games don't override engine methods to fix things |
22:47 |
sfan5 |
in this case the engine should do the clamping (my PR), in other cases clamping would be wrong |
22:48 |
erlehmann |
Jonathon cora told me about it |
22:48 |
erlehmann |
i thought she wrote it? |
22:48 |
erlehmann |
maybe i misunderstood |
22:48 |
MTDiscord |
<Jonathon> sfan5: for the sake of backwards compat perhaps they should, but only if less than 5.5 (assuming a fix is merged) |
22:49 |
MTDiscord |
<Jonathon> erlehmann: yeah, you did |
22:49 |
erlehmann |
sfan5 i agree that the engine should do it. the problem is that it will be a long time until 5.5 is out or even used. |
22:49 |
erlehmann |
Jonathon i am sorry then |
22:49 |
erlehmann |
for spewing bullshit |
22:49 |
sfan5 |
erlehmann: that is of course a good reason to do it anyway |
22:49 |
erlehmann |
Jonathon sfan5 how would i detect that the function is broken though, in a game? |
22:50 |
erlehmann |
i mean i can't just call it with values and figure out if it crashes |
22:50 |
sfan5 |
you could actually but I wouldn't suggest it |
22:50 |
sfan5 |
I'd leave the workaround in the code until you're dropping support for 5.4 |
22:50 |
erlehmann |
oh i thought that was unrecoverable |
22:50 |
erlehmann |
ok! |
22:51 |
erlehmann |
will do, whatever we agree on (there is a load of workarounds being brainstormed rn, mine is only one) |
22:52 |
MTDiscord |
<Jonathon> minetest.get_version() should get you the server version |
22:52 |
MTDiscord |
<Jonathon> see lua_api.txt for how trust worthy it is tho |
22:59 |
independent56 |
Will the RSPCA take away the mobs mod from me? https://imgur.com/a/Z7qOuda |
23:00 |
|
Sven_vB joined #minetest |
23:01 |
|
fluxionary joined #minetest |
23:07 |
erlehmann |
sfan5 good that you called for evidence. a) cora managed to crash the server without actually placing fire out of bounds. b) i managed to place fire beyond x=31000 and not crash the server. c) the idea of cleanup code that scans for stuff out of bounds and gets rid of it is not hypothetical. we have that already for entities. |
23:07 |
erlehmann |
also the fire code that crashed in mineclonia is running even when there is no fire |
23:07 |
erlehmann |
<sfan5> because this just makes it look like you don't even know what your own game does |
23:07 |
erlehmann |
arguably true! |
23:08 |
erlehmann |
cora went to -65k though |
23:08 |
erlehmann |
which is obv out of s16 |
23:10 |
|
grouinos joined #minetest |
23:12 |
erlehmann |
LMAO i think i know how to detect it. if there is any position on the map where i can place blocks, but not find them, the engine is lying. |
23:13 |
|
Taoki joined #minetest |
23:25 |
MTDiscord |
<luatic> Well, can you place blocks beyond 31k? |
23:33 |
erlehmann |
it is, in fact, possible to have a world that ends at x=31007 in vanilla client. |
23:33 |
erlehmann |
i don't recommend it though |
23:34 |
erlehmann |
biomegen stops at 31000 |
23:34 |
erlehmann |
and it is very crashy (basically, a bunch of functions in mods did the “lets stop at 31000” thing before, which is why i know it is trouble) |
23:49 |
|
proller joined #minetest |
23:50 |
erlehmann |
luatic, oh, to answer your question: yes, i can place blocks at x=31001 |
23:51 |
erlehmann |
and up to x=31007 |
23:51 |
erlehmann |
i don't really want to, the reason being the aforementioned crashes |
23:51 |
erlehmann |
but i do know that lag machines are made out of nodes |
23:51 |
erlehmann |
uh |
23:54 |
erlehmann |
oh LOL |
23:54 |
erlehmann |
i may have found another signed integer overflow |