Time Nick Message 06:49 sfan5 i mean they seem to have a compatible variant that acts like plain zlib 06:49 sfan5 so you can already do it 06:49 sfan5 I don't see why tho 09:59 [MatrxMT] of all the C libraries out there, isn't zlib one of the ones most well-vetted and unlikely to need security fixes? 09:59 [MatrxMT] or is rust suggested for some other reason? 09:59 [MatrxMT] It's a hard sell when you don't currently need a rust compiler for Luanti 16:38 Helenah Hi 17:13 Helenah Are chunks around the spawn point always loaded like on Minecraft? 17:14 Helenah In minecraft, a world's spawn is always loaded. 17:15 calculon it's not the case in luanti but mods can add forceloaded areas 17:15 Helenah Oh yeah, I know about the foreload call. 17:15 calculon nothing is forceloaded by default then 17:16 Helenah I only learned that yesterday, prior to that, I made a chunk loader node via a right load of hackery that has nothing to do with chunk loading. 17:16 Helenah So I've since changed the code on the chunk loader. 17:16 Helenah I had no internet or anything so it wasn't like I simply had the information. o.o 17:18 Helenah calculon: Also, it would be good if the luantiserver had stdin for commands... 17:21 [MatrxMT] there is supposed to be an ncurses `--terminal` command for that, but I don't really understand it 17:27 calculon yep, last time i tried it was kinda broken 17:28 calculon another option is an irc bridge and a mod like irc_commands 17:31 Helenah calculon: Damn, I'm going to try but if this is broken, it would look like I'd be writing a damn interface. 17:32 Helenah Else, how else do I manage server starts, stops and restarts via the init system? 17:32 Helenah With game servers, I like for a server to be told via command to shut down, to give players a timer. 17:41 [MatrxMT] I think a lot of us are used to using SSH 17:41 [MatrxMT] you can use systemctl to manage the server 17:42 [MatrxMT] https://forum.luanti.org/viewtopic.php?p=431014 17:45 Helenah I'm used to managing SSH, not sure what that has to do with a mechanism to handle starts, stops and restarts of a process. 17:45 * Helenah clicks 17:45 Helenah Oh yeah, systemd will handle it. 17:45 Helenah The question is, does luanti handle signals in a player friendly way, might be something to test. 17:46 Helenah Reading the article now. 17:48 Helenah You see, I would've used something like tmux/screen/dtach, anything with the functionality of providing a PTY with the process, and then I'd have systemd or whatever init system send over the PTY a command which would then trigger a timer in the in-game chat. 17:48 Helenah At least that's how I've done it with other game servers. 17:52 Helenah Blockhead, also, do you know how to make it so when a player dies, when they resurrect, they're spawned at a particular coordinate? I tried player:set_pos() with register_on_dieplayer() and register_on_respawnplayer() but that doesn't seem to work, I did however try player:set_pos elsewhere as a test so I know my code works, I know these event registers are being entered too because I had them log 17:52 Helenah when entered. 18:02 Helenah "/usr/lib/minetest/minetestserver", it's not a library... 18:46 Helenah I thought Luanti had no multi-world implementation, meaning that if someone really wants multiple worlds, they'd have to stack maps on top of each other, with only one having the sky visible, but then I came across this https://content.luanti.org/packages/jwmhjwmh/area_containers/ 18:47 Helenah So now I'm intrigued, what is that room... does it on the fly generate a room when someone places that block and uses it... or does it literally put the player into some new sky cube or something... hmm... I should probably read the code. 18:48 epoch if there's enough space between stacked layers, the engine doesn't recognize there's something above it and will show the sky 18:48 Helenah epoch: Interesting, and yes, this makes total sense. :) 18:51 Helenah epoch: Do you know of any hypothetical luanti-specific stumbling blocks and limitations if developers were to implement this into the engine? 18:52 Helenah Based on own knowledge, a second world would mean spawning a second sky cube, and also defining which mapgen and mapgen parameters it should use. 18:52 Helenah Which could mean performance impacts. 18:52 Helenah I mean, serious ones, I know everything has an impact on performance. 18:53 epoch uh, I dunno enough about it, I just knew the part about the sky from having played in a world that did it. their other layers were just other maps that were already created from another server and re-inserted into the main world's underground 18:55 epoch not sure how it does it, but mineclonia does it with the overworld, nether, and end 18:55 epoch might be able to read their code to see how 18:56 epoch they might change the sky-cube client-side when you go through a portal 18:56 Helenah epoch: I mean, how I would go about implementing such as thing is, everything that defines the world in luanti, I would maintain a structure of data which holds information about what worlds exist, and whether or not they're loaded (for example, a player is online there), each time one is loaded, all that defines a world would be initialised in its very own context which could be in the format of a 18:56 Helenah thread or whatever. 18:57 Helenah I purposely was being loose when I said that cause... 18:57 Helenah Reality is, I'd have to spend a lot of time thinking of the technicals of such an implemtnation. 18:57 Helenah I'd have to framework the idea before implementing it. 18:59 Helenah Anyway, I'm not going to do it, I think it would be an awful lot of work, and I got projects already that I'm working on. 19:00 epoch oki doke 19:07 Helenah epoch: Wait, based on some information I got... it seems like one could create a map that's outside the worlds X and Y area bounds and far away from it too, and it would appear to the player like a new world. 19:07 Helenah And there's me thinking one could not go beyond that world limit. 19:17 sfan5 there's an engine limit how big the world can be and you can't go past that. 19:17 sfan5 if the server owner e.g. restricts the world to 6000x2000x6000 nodes then yes it is possible to use the space beyond 19:17 lemonzest Helenah: I run my server via systemd 19:33 Helenah sfan5: Any plans to change that? I think it's totally doable to just make the maximum sized world possible an infinite one, and have that limit defined in world.mt. 19:35 Helenah I never understood the hardcoded limit anyway, I understand that the bigger a world map is in geometry, the more storage it will take up, but I think such limit should be user-defined, and I don't mean, numbers below a ceiling either. 19:38 MTDiscord Helenah: See https://github.com/luanti-org/luanti/issues/8660. It's a "won't add" currently. 19:39 Helenah Be nice to read the reasoning. *clicks* 19:44 Helenah This I read on that github issue is 100% valid, and I know this for a fact. "Have you ever used the entire space to build on? No, you didn't, and you'll never have the time to do that because it's simply too large already to use the entire space.", I know of a world that's been around since 2012 and is being actively built on with big railway projects and stuff, and there's no world exhaustion 19:45 Helenah problem. 19:46 Helenah I believe the person who opened that is being hyperbolic. How one manages to fill up a world of this size, I do not know! 19:46 Helenah *opened that issue 19:53 Helenah sfan5: Do chunks have a number? The closest thing I could get to a number which represents a chunk are the coordinates of a point within a chunk. 19:53 Helenah Perhaps that is how it works, you want a chunk loaded, you do that via one of the coordinates, you want it unloaded, same again. 19:54 calculon about systemd: yes the engine handles sigterm nicely so start/stop work with a simple setup 19:55 Krock Helenah: chunks have no number but are generally in a grid of mapblock_pos / cunksize 19:55 calculon the problem i had was to enable watchdog, i had to write a crappy "insecure" mod to send a signal to systemd 19:55 Krock where chunksize is 5 by default. 19:55 calculon but maybe there's a better way 19:56 Helenah calculon: I have no issues with working with systemd services and even writing them. Yes, keeping tabs on the process incase it crashes is a good idea, it's one of the things I do personally with game servers, they are prone to crashing. 19:57 Krock calculon: couldn't you run pgrep periodically, or check for opened ports? 19:57 Helenah Anyway, I'm going to be doing it my way, I've decided. 19:59 calculon Krock: probably, not sure it's better :) 20:01 calculon i wouldn't need an insecure env though 20:01 Helenah Krock: The way I'm going to be doing it is via /stop and /restart commands which systemd invokes. 20:01 Helenah It's how I have things work for 2 other game servers too. 20:02 MinetestBot 02[git] 04maplemedley -> 03luanti-org/luanti: Make `Sneak` and `Aux1` optionally togglable (#15785) 1363701de https://github.com/luanti-org/luanti/commit/63701de45f31a49c079d2b4d7e3c5e8cf9898b32 (152025-03-06T20:01:43Z) 20:02 MinetestBot 02[git] 04cx384 -> 03luanti-org/luanti: Replace object visual by enum (#15681) 1318ac8b2 https://github.com/luanti-org/luanti/commit/18ac8b20fa86696164b9d09beb8c24e8637af43d (152025-03-06T20:02:11Z) 20:25 Helenah Something that really confuses me is when you changed the name of the project from "Minetest" to "Luanti", you chose to keep the minetest.* namespace for backward-compatibility reasons which I agree with, but you also decided to create the luanti.* alias to it which really confuses the hell out of me, having luanti.* defeats the whole point of having minetest.* for backward compatibility purposes, 20:25 Helenah and will break backward compatibility if a developer opts to use luanti.* instead of minetest.* for any of their mods, mods which could potentially work in Minetest and not just Luanti. 20:27 Krock there is no luanti namespace 20:28 MTDiscord since when was luanti.* added? core.* is the namespace you should use now, which has always existed even before so it is fully backwards compatible 20:28 MTDiscord mineclonia uses layers 20:28 MTDiscord I think the nether is at like y=-30000 20:29 MTDiscord wait till you see stellua's layers :juanchi_face: 20:33 Helenah Krock: There isn't? I thought I read there is. hmm 20:34 Helenah theidealist, Yes, they're no choice to. 20:36 rubenwardy are you using chatgpt 20:38 Helenah rubenwardy: Why you say that? I usually don't, but if I do, I do a reverse lookup, basically, I would take its response and verify it, not just rely on the information it threw. 20:38 Helenah I didn't use it in this case. 20:39 Helenah rubenwardy: It's just me and making sense of the API, looking at examples, etc. 20:56 Helenah How does one get these minetest.log()'s to work within the functions? I can get them to work elsewhere, The functions are being called, I have confirmed that. 20:56 Helenah Sorry, I didn't post the link. https://termbin.com/c55z 22:06 sfan5 works for me 22:07 Helenah O_O 22:07 Helenah sfan5: You literally tested that code? 22:08 sfan5 no 22:08 sfan5 I put core.log("test!!") in a mod and confirmed that the message appears 22:08 Helenah So it didn't work for you nor did it not. 22:08 Helenah Oh ah 22:08 Helenah I'm not saying that the log mechanism doesn't work. 22:08 Helenah Rather, it doesn't seem to do what I expect it to when in one of the event functions. I'll look further. 22:09 Helenah I'm also a bit tired, so I might not get anywhere tonight. haha :D 22:09 sfan5 I just copied your register_on_dieplayer example and it shows up too 22:10 sfan5 2025-03-06 23:09:21: [Server]: Player singleplayer has died. 22:10 Helenah Looks like I'm in for a right debugging task... 22:11 Helenah sfan5: Okay... it worked anyway... 22:12 Helenah Sorry, I didn't see it... 22:41 Helenah sfan5: Turns out I did see it, I hadn't changed any code, but now it doesn't give me the output, I'm going to work on this tomorrow now, I think.