| 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 |