Luanti logo

IRC log for #luanti, 2025-12-30

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

All times shown according to UTC.

Time Nick Message
00:01 sparky4 joined #luanti
00:23 apteryx which guards would make sense on a server sitting on the internet but for private use (e.g. only allowing a list of usernames) ? I think I saw a whitelist mod
00:30 mrcheese_ joined #luanti
00:40 sparky4 joined #luanti
01:44 user333_ not announcing the server will do it 99% of the time
01:45 user333_ it can still be connected to if you know the IP/port but wont be on the serverlist
01:49 YuGiOhJCJ joined #luanti
02:00 burgeresque luatic im p fine, returning after 6 years to look what minetest has become
02:00 burgeresque we need to migrate not to microsoft accounts but to luanti
02:03 burgeresque i am not sure why bilinear and trilinear filtering are separate toggles, why not make them a list?
02:03 burgeresque the whole graphics section is all around the place
02:26 apteryx user333_: thanks
02:27 apteryx I'm trying to build the whitelist mod on Guix, currently getting: https://paste.guixotic.coop/829rda40m1p11vsv2ixrqspk54nz7y-luanti-whitelist-1.2.7.drv.html; any ideas?
02:29 apteryx seems the critical thing would be: ERROR[Main]: ...elist-1.2.7/share/luanti/mods/whitelist/src/commands.lua:3: attempt to index global 'chatcmdbuilder' (a nil value)
02:30 apteryx this should be available since I've packaged the chatcmdbuilder mod separately and made it available
02:31 MTDiscord <wsor4035> probably because you arent depending on the mod
02:31 apteryx is this the fault of whitelist? Should it declare this somewhere?
02:32 MTDiscord <wsor4035> i assume you mean s/build/run
02:32 MTDiscord <wsor4035> and which whitelist mod, there is no "the whitelist" mod
02:33 apteryx right, it wasn't clear to me what the machinery in Guix was doing, but I've now looked at it, and it runs Luanti and ensures there are no (non-audio) errors in its output
02:33 user333_ there are a few generic ones, look on contentdb
02:33 user333_ whitelist mods
02:33 apteryx this one: https://gitlab.com/zughy-friends-minetest/whitelist
02:33 apteryx which was referenced from https://docs.luanti.org/for-server-hosts/setup/
02:33 MTDiscord <wsor4035> the depends is declared https://gitlab.com/zughy-friends-minetest/whitelist/-/blob/master/mod.conf?ref_type=heads#L4, do you not have that mod installed/enabled?
02:34 MTDiscord <wsor4035> i would think it wouldnt start if thats the case
02:34 apteryx it's installed yes, by being found on the MINETEST_MOD_PATH (which is patched to LUANTI_MOD_PATH in Guix for reasons)
02:35 apteryx (which would be a better name for that MINETEST_MOD_PATH - would you (upstream) be happy to receive such a patch?)
02:36 MTDiscord <wsor4035> if its backwards compatible you can make a pr
02:36 apteryx OK. I'd need to rework it a bit, I think it currently was doing a simple substitution.
02:36 apteryx thanks
02:37 apteryx this is what the 'luanti-chatcmdbuilder' package I just made in Guix, which is a dependency of 'luanti-whitelist', contains in its output (install prefix): https://paste.guixotic.coop/_shell_4_-74658-75841.html
02:38 apteryx that's made available to whitelist in the build environment by setting this env var: `LUANTI_MOD_PATH' set to `/gnu/store/qr7qn12zjj0d50wi3c05ckbcjmqvd14m-luanti-chatcmdbuilder-0.2.0/share/luanti/mods'
02:39 MTDiscord <wsor4035> its your own fault
02:39 MTDiscord <wsor4035> init.lua of the mod calls chatcmdbuilder.lua and you didnt package that
02:39 MTDiscord <wsor4035> at least according to that paste
02:39 MTDiscord <wsor4035> and assume i can read
02:39 apteryx OK! I'll look into that, thank you
02:41 apteryx hm, chatcmdbuilder 0.2.0 from git doesn't contain it either: https://paste.guixotic.coop/_shell_4_-76025-76742.html
02:41 apteryx (no chatcmdbuilder.lua file)
02:41 apteryx maybe I should use the last commit instead of this old 0.2.0 release
02:41 apteryx release tag*
02:43 apteryx looks like it
02:43 apteryx the release is older than that file ^^'
02:44 apteryx poked upstream about it in https://github.com/rubenwardy/ChatCmdBuilder/issues/12
02:45 MTDiscord <wsor4035> wasting everyones time
02:46 MTDiscord <wsor4035> the mod is rolling release like most everything in luanti
02:46 apteryx ah, OK. So the mods packaged in distros should always use the latest available commits?
02:46 MTDiscord <wsor4035> the first mistake is mods packaged in distros
02:47 MTDiscord <wsor4035> on contentdb, mods can either be made by manual release, from git rolling release (pulled nightly), or by tag
02:48 apteryx I disagree here, at least when it comes to Guix. I think it makes it easy to provision a server/machine with a well defined snapshot of the world, which can be reverted to if needed, or to troubleshoot regressions.
02:48 MTDiscord <wsor4035> by in large (dont have stats and im to lazy), i would say most of mods are rolling release
02:49 apteryx OK
02:51 apteryx that specific whitelist mod is now happy, thanks for the help
02:51 MTDiscord <wsor4035> would i be correct in assuming your doing this for a server? if so the most common way to actual have some management is a repo of submodules for mods
02:51 MTDiscord <wsor4035> course a lot have nothing lol
03:04 crazylad joined #luanti
03:05 Blockhead256 joined #luanti
03:09 MTDiscord <wsor4035> assuming its one of the latter two, the hash will be in the release name
03:15 apteryx Yes, I'm doing this for a server
03:15 Blockhead256 joined #luanti
03:15 apteryx yeah, that's a lot of micromanagement and backups, when all I need otherwise is a Guix commit.
03:16 Blockhead256 guix maintainers doing weird things - if we had seen fit to rename the environment variables and the game file directory, we would have done so
03:16 Blockhead256 those were kept for backwards compatibility
03:17 Blockhead256 hence as has been said, forwards-compatibility, where the old names still work, is what would get the PR accepted
03:17 apteryx ah, relooking at the patch, the backward compatibility seems to be preserved, it just prefers the LUANTI_ prefixed variants
03:17 apteryx I'm a bit surprised it was not forwarded to upstream
03:17 apteryx I'll do so in a bit
03:18 apteryx but to get a quick view of it, it looks like: https://paste.guixotic.coop/luanti-paths.patch.html
03:18 Blockhead256 >I think it makes it easy to provision a server/machine with a well defined snapshot of the world
03:18 Blockhead256 this is what worldmods are for
03:19 Blockhead256 https://docs.luanti.org/for-players/installing-mods/
03:19 apteryx can you easily revert to any old deployed snapshot with this?
03:20 apteryx I guess via backups
03:21 apteryx any previously deployed snapshots*
03:21 MTDiscord <wsor4035> as previously mentioned >  if so the most common way to actual have some management is a repo of submodules for mods
03:22 Blockhead256 I don't know how you intend to have a 'snapshot' of a world without that being a backup, unless you don't want to save the world but leave the default terrain and let the seed regenerate
03:23 apteryx I meant more in the sense of a snapshot of the functional parts (luanti/game/mods). For the world, good backups seems unavoidable since it's state.
03:24 Blockhead256 see e.g. https://github.com/pandorabox-io/pandorabox-mods https://github.com/mt-mods/dreambuilder_game
03:25 apteryx can I configured mods declaratively via the luanti configuration file?
03:26 Blockhead256 well there are so many methods, obviously you favour the guix package management method, others git, others a CLI tool to fetch contentDB releases, and others worldmods (often custom mods tied to that world)
03:26 Blockhead256 minetest.conf contains settings not only for the engine but any settings declared in settingtypes.txt files inside of mods
03:27 Blockhead256 per-world configuration is a bit.. messier
03:28 Blockhead256 map_meta.txt (whatever extension) saves the mapgen settings, but only those
03:28 Blockhead256 and bad luck if it's a Lua mapgen I guess, since those are all typically 'singlenode'
03:30 apteryx OK. For the moment I was thinking about globally configuring some mod; good to know that putting that configuration in minetest.conf should do it, thanks
03:32 Blockhead256 since the command line has an option for the path to minetest.conf, you could run multiple worlds on one copy of the game from that while keeping all settings separate
03:32 Blockhead256 but maybe a different container is desirable for other reasons anyway
03:47 apteryx should a mod installed to $path_share/mods/ be readily available to luanti? I was trying '/whitelist enable' as a global command and it says 'Invalid command: whitelist'
03:49 MTDiscord <wsor4035> its installed, not enabled
03:51 apteryx and enabling it is something else than '/whitelist enable' ?
03:52 MTDiscord <wsor4035> Your talking about a command from the mod
03:52 MTDiscord <wsor4035> Im talking about enabling the mod itself
03:52 mrcheese_ joined #luanti
03:53 MTDiscord <wsor4035> In your world.mt file
03:54 apteryx OK!
03:54 apteryx I see, that's covered in https://docs.luanti.org/for-players/installing-mods/#installing-a-mod
03:56 MTDiscord <wsor4035> That's semi outdated, true is the old value, it's a path now iirc
03:56 MTDiscord <wsor4035> If you enable a mod from the gui see what the world.mt file looks like
03:56 MTDiscord <wsor4035> Some dumbass needs to update that page
03:57 MTDiscord <wsor4035> ||aka me in a bit||
03:59 MTDiscord <wsor4035> Also not sure why that mentions putting mods in games, thays stupid and should be nuked from orbit
04:25 MTDiscord <wsor4035> ok, that page should be updated now
05:00 MTDiscord joined #luanti
05:59 apteryx MTDiscord: having `true` still makes sense I guess if your mod is on the some MINETEST_MOD_PATH directory rather than inside your $share_path
05:59 apteryx having to repeat that path there would be annoying
06:07 MTDiscord <wsor4035> Mtdiscord has multiple personality disorder
06:07 MTDiscord <wsor4035> (It's a relay)
06:08 MTDiscord <wsor4035> True may still work, but it's depreciated, also it's a relative path
06:18 apteryx is luanti.conf already accepted as substitute for minetest.conf?
06:20 apteryx another question: how would someone install mods via the gui for a world hosted on a remote server?
06:20 apteryx that's not doable via the GUI, right?
06:41 mrcheese joined #luanti
06:50 Blockhead256 no there is no luanti.conf, c.f. earlier comments about compatibility
06:51 Blockhead256 if someone wants to install mods or enable them for a world via a GUI, I recommend doing it on a client computer and then doing a file copy
07:16 fluxionary joined #luanti
08:39 apteryx Blockhead256: I see!
08:39 apteryx are mods dependencies suposed to be satisfiable also via the MINETEST_MOD_PATH environment variable?
08:42 apteryx I'm getting an error at the moment, which I thought I should have resolved by adding lib_chatcmdbuilder to the whitelist and trusted mods, as well as on MINETEST_MOD_PATH: https://paste.guixotic.coop/_scratch_-10884-12437.html
09:02 burgeresque joined #luanti
09:17 apteryx needed to expose the transitive closure of luanti mods in my container
09:27 Blockhead256 ><modname> is missing: <dependency> Install and enable the required mods
09:28 Blockhead256 either it was not installed where the program could see it or you did not enable it, and it looks like you enabled it
09:29 Blockhead256 if you had used a path instead of a boolean variable, it would have told you in case it could not be found
10:10 m33 joined #luanti
10:25 ralfwause joined #luanti
10:34 jaca122 joined #luanti
11:00 MinetestBot [git] CrazyladMT -> luanti-org/luanti: Show proper default key name in reset tooltip on keybindings menu (#1… 975699a https://github.com/luanti-org/luanti/commit/975699a9504a5dfe50b941f5f82c013fb0e5cb17 (2025-12-30T10:58:52Z)
11:15 Blockhead256 photorec with some custom rules recovered 14500 files, time to go through them all lol. Hopefully what I'm after is in there, namely un-backed up minetest stuff
11:16 apteryx Blockhead256: the Guix service I made is containerized, and I needed to expose all the transitive mod dependencies to it
11:16 apteryx whitelist depends on lib_chatcmdbuilder for example, which was not available to the container
11:17 Blockhead256 oh yeah since all your mods are packages then you need to transitively add all of it.. fun
11:20 Blockhead256 if you were say, sysadmin of a public server, would you go to the effort to package all of your mods for guix? that sounds awfully labor intensive against git submodules, well unless there's some easy way
11:21 retro_bread_ joined #luanti
11:24 apteryx Blockhead256: I don't personally have very demanding needs (I only wanted a whitelist); there's already a few mods packade in the (gnu packages luanti) module, and I'm happy to let others add what they need :-)
11:24 apteryx packaged*
11:25 retro_bread_ hello
11:27 apteryx hopefully most mods do not have complex mods dependency chains, as the lack of a declarative means to enable all of them is a bit painful for servers
11:30 apteryx this is what the user-facing config of my server looks like so far: https://paste.guixotic.coop/ovh-4797-5457.scm.html
11:33 Blockhead256 you are lucky the most complicated dependency graphs are inside of games, like mineclonia
11:33 Blockhead256 but even significant content mods for Minetest Game (MTG) often have a lot of optional dependencies
11:34 Blockhead256 (mineclonia has many modules within it)
11:37 apteryx looking at the `propagated-inputs' fields of luanti packages in Guix so far to get an idea, I see only mods propagating stuff.  We probably do not have that many games packaged.
11:47 mrkubax10 joined #luanti
11:51 mrcheese joined #luanti
11:51 mrcheese joined #luanti
12:00 Blockhead256 looking through a lot of OBJ file fragments and wishing people renamed their stuff away from Cube.001
12:00 Blockhead256 anyway I don't really think I've lost any OBJs
12:10 burgeresque joined #luanti
13:47 turtleman joined #luanti
13:48 tzenfore joined #luanti
14:44 Blockhead256 src/settings_translation_file.cpp
14:44 Blockhead256 5:fake_function
14:44 Blockhead256 interesting, was this some weird thing to make sure a parser doesn't accidentally grab things inside block comments?
14:57 PoochInquisitor joined #luanti
15:41 sfan5 apteryx: what are you whitelisting whitelist,lib_chatcmdbuilder for?
15:51 * cheapie gives Blockhead256 a Cube.002
15:52 * mrcheese watches stuff happen
15:53 Blockhead256 I'm not sure what happens after Cube.999, but I'm not sure it would fit into Luanti any more anywaey
15:54 cheapie Especially not with the file size limit that was added a while back, not that anything reasonable would hit it anyway
16:01 mrkubax10 joined #luanti
16:05 Blockhead256 Cube.001 would be a node in a meme mod, untextured white cube. Actually, some mod probably already has that..
16:05 Blockhead256 or as an entity, where it ought to be 10x too small
16:05 * cheapie looks at a mod sitting in a test world at home called "meshnodetest"
16:05 cheapie yes
16:08 user333_ there's already an untextured white cube in MTG
16:09 user333_ default:cloud
16:09 cheapie Yes, but does it have one that's 2x2x2m and crudely painted a different color on each side?
16:12 user333_ uhh- not yet afaik
16:52 Blockhead256 GNU find is kinda mean, it keeps thinking my Lua files are JavaScript
16:53 Blockhead256 GNU file
16:53 Blockhead256 I mean nobody would ever write a mod in JavaScript right.. ? 🧐
16:58 MTDiscord <wsor4035> more commonly typescript
16:59 MTDiscord <wsor4035> but typescript is a superset of javascript.... so
16:59 MTDiscord <et086> can you transpile javascript to wasm, if yes you can transpile wasm to lua... hmm... :)
17:01 Blockhead256 I mean, the whole program has been transpiled before to make it run in a browser..
17:02 MTDiscord <wsor4035> why would you even bother with wasm?
17:02 MTDiscord <wsor4035> just use typescript to lua like everyone else has
17:02 MTDiscord <et086> ok but if for whatever reason i wanted specifically javascript
17:03 Blockhead256 the engine just doesn't run javascript buddy
17:05 MTDiscord <et086> yes but what if i transpile javascript to webassembly, then to wasm, then transpile that to lua (surprisingly possible)
17:05 Blockhead256 let me know how you get on, particularly which step breaks it
17:16 MTDiscord <wsor4035> Javascript is typescript, so just use the transpiler
17:16 Blockhead256 >local seed = 1048576 * (os.time() % 1048576)
17:17 Blockhead256 pro tip: if you want to replicate your RNG, just do it again 12.1 days later, to the exact second
17:17 Blockhead256 nvm it mixes microsecond time later
17:18 Blockhead256 nobody's that good, even with a good gamer chair
17:24 MTDiscord <et086> Blockhead256: me specifically wanting to write stuff in luanti with javascript was a joke, i don't know if i should actually try this
17:29 Blockhead256 well be careful, you might accidentally learn something
17:29 MTDiscord <wsor4035> https://tenor.com/view/star-wars-admiral-ackbar-its-a-trap-meme-gif-8125029
17:39 user333_ joined #luanti
17:52 burgeresque hi chat
17:52 MTDiscord <wsor4035> bye chat
17:52 burgeresque why bother with typescript when you can use markdown
17:52 MTDiscord <wsor4035> why bother commenting constructively when you can troll
17:54 MTDiscord <wsor4035> to be fair, im basically trolling by responding in kind
17:55 burgeresque why bother trolling when you can slap the opponent with a large trout around for a bit
17:55 MTDiscord <wsor4035> :juanchi_face:
18:03 burgeresque yep irc emojies
18:03 burgeresque uhuh
18:03 burgeresque whats next
18:03 burgeresque voicecalls?
18:03 burgeresque noob
18:03 burgeresque !say does this work still
18:03 burgeresque what was it
18:03 burgeresque !help
18:03 MinetestBot https://github.com/sfan5/minetestbot-modules/blob/master/COMMANDS.md
18:04 burgeresque !msg #luanti noob
18:04 burgeresque truly
18:04 burgeresque !msg 1
18:04 burgeresque amazing technology
18:05 burgeresque !tell 1
18:05 MinetestBot burgeresque: ...and text
18:05 burgeresque found it
18:05 burgeresque !tell #luanti jjewjq
18:05 MinetestBot burgeresque: I'll pass that on when #luanti is around
18:05 burgeresque amazing
18:07 mrkubax10 joined #luanti
18:57 ireallyhateirc joined #luanti
19:19 Krock You'd need a good programmer chair and not a good gamer chair to make good code, obviously.
19:27 MTDiscord <the4spaceconstants2181> not really you'll just do it faster in this "programmer chair"
19:46 user333_alt joined #luanti
20:10 [MatrxMT] <birdlover32767> can't program without my programmervim and programmersupps
20:34 mrkubax10 joined #luanti
21:11 burgeresque @grok is this real
21:14 sfan5 but is it true tho
21:18 Krock `false` is real but not true
21:28 MTDiscord <luatic> i'm surprised programming socks haven't been mentioned yet
21:31 mrkubax10 joined #luanti
21:34 Krock because they don't help you programming. Use programming gloves
21:42 mrkubax10 joined #luanti
22:03 * user333_ painstakingly writes a script to download IRC logs from irc.luanti.org... im parsing the HTML using basic string manipulation ;-;
22:15 sfan5 you know that there's a text mode right?
22:22 Krock why make it easy when it's also possibly the hard way?
22:22 Krock *possible
22:54 user333_ oh... it woulda helped to know that earlier
22:54 * user333_ deletes 70% of the script
22:58 pgimeno joined #luanti
23:01 cow321 joined #luanti
23:28 user333_ ok i got error 429 (too many requests), time to add some rate limiting
23:31 user333_ 5 seconds/request should do it
23:32 panwolfram joined #luanti
23:33 user333_ seems to work, just /me's don't get formatted properly
23:38 mrcheese joined #luanti
23:40 user333_alt joined #luanti

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