Luanti logo

IRC log for #luanti, 2025-12-29

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

All times shown according to UTC.

Time Nick Message
01:05 [MatrxMT] <Blockhead256> SFENCE: I think postool https://github.com/SwissalpS/postool is generally better than poshud with more features. I don't know about alignment, but have never seen it go below the screen
01:10 alias joined #luanti
01:39 Sharpman joined #luanti
01:55 Sharpman joined #luanti
02:28 apteryx joined #luanti
02:28 apteryx hello!  Is there a way to "test" whether a luanti server is up and running, e.g. some minimal client or custom script I could run?
02:29 user333_ there's a script in the repo, lemme find it
02:29 apteryx I'm writing a simple system service for luanti for Guix, and would like an automated system test smoke test things
02:29 apteryx to smoke test things*
02:29 apteryx user333_: thanks :-)
02:30 user333_ https://github.com/luanti-org/luanti/blob/master/doc/protocol.txt - there's a PHP and python script that does that
02:31 apteryx nice!
02:31 * apteryx looks
02:34 apteryx that looks promising :-)
02:38 MTDiscord Command sent from Discord by wsor:
02:38 MTDiscord !up yourdomain.tld:30000
02:38 MinetestBot yourdomain.tld:30000 seems to be down (host did not resolve)
02:38 MTDiscord <wsor4035> you can also pm the bot
02:38 apteryx fun! Is he both using said python script?
02:38 tzenfore joined #luanti
02:38 apteryx bot*
02:39 MTDiscord <wsor4035> https://github.com/sfan5/minetestbot-modules/blob/master/serverup.py
02:41 apteryx thank you
02:49 user333_ is there any better docs on the luanti protocol than https://github.com/luanti-org/luanti/blob/master/doc/protocol.txt ? or where it's handled in c++?
02:51 [MatrxMT] <Blockhead256> >is there better docs than <actual docs of thing>?
02:51 [MatrxMT] <Blockhead256> uh, not that I am aware. But there is an additional page at https://docs.luanti.org/for-engine-devs/network-protocol/
02:51 MTDiscord <wsor4035> the source is always the truth
02:52 user333_ i'm going to write a python script to connect to a luanti server... i got stuck on the making the script part
02:52 MTDiscord <wsor4035> there are some protcol examples in rust/go
02:54 user333_ it would help if i knew more C++
02:54 user333_ but the C++ learning curve is a vertical lie
02:54 user333_ s/lie/line
02:54 mrcheese lol
02:54 [MatrxMT] <Blockhead256> "if I knew more C++" - that's what C++ devs think too
02:55 mrcheese Non C++ devs: "if only i knew C++", C++ devs: "if only i knew more C++"
02:55 apteryx being a REPL person I like being able to try C++ expressions from something like cling or gdb
02:56 user333_ the transition from python to C++ isn't easy... i'l probably stick to doc stuff or builtin
02:57 mrcheese ...
02:57 * mrcheese did a from between Lua to C++ .-.
02:57 [MatrxMT] <Blockhead256> hmm there's wireshark definitions somewhere too, I think. So you could look at what your normal client is doing over the wire
02:59 user333_ i thought it would be easy like sending plaintext over TCP... turns out the world is harsh to inexperienced devs
03:00 user333_ for example you can make a tiny web server in like 50 lines of python, which i did
03:01 user333_ 29 lines actually
03:01 [MatrxMT] <Blockhead256> the biggest problem with python is the moment you can't do it by gluing a few libraries together
03:02 user333_ i wrote a very basic IRC client with just socket and time >:-(
03:02 user333_ and sys, but that isn't really needed
03:05 user333_alt joined #luanti
03:06 user333_ ugh im blind. with socket, _thread, and time
03:14 mrcheese lol
03:22 user333_alt joined #luanti
03:26 fluxionary joined #luanti
04:40 aliasreadytaken joined #luanti
04:55 apteryx what game is used when --gameid is invalid and 2025-12-29 13:54:20: ERROR[Main]: Game "whatever" not found is printed?
04:55 apteryx (luanti still happily runs)
04:55 apteryx luantiserver, to be specific
04:56 apteryx and what would the default world name be, if there is none when luantiserver first runs?
04:56 [MatrxMT] <Blockhead256> for me in an interactive session, the program terminates
04:57 [MatrxMT] <Blockhead256> the default world name is just `world` iirc
04:58 apteryx here's more context with the command line and output: https://paste.guixotic.coop/_scratch_-7082-8166.html
04:59 apteryx it only stopped because I interrupt it (C-c at the terminal)
04:59 apteryx maybe it used the gameid baked in my world as a fall back?
05:00 [MatrxMT] <Blockhead256> yes it would use the game specified in the world's world.mt
05:00 MTDiscord joined #luanti
05:00 apteryx but that wouldn't explain why Guix sees the service starting successfully in my system test, which runs in a brand new test VM every time.
05:02 [MatrxMT] <Blockhead256> the world must be in there, else you would get like I get on my system
05:03 [MatrxMT] <Blockhead256> 2025-12-29 15:59:24: [Main]: World 'apteryx' not available. Available worlds:
05:11 apteryx seems to fallback on mineclonia for me when inputting a nonexistant gameid. Mineclonia is installed along Luanti https://paste.guixotic.coop/_scratch_-8168-9074.html
05:12 [MatrxMT] <Blockhead256> I uh.. I deleted my .minetest out of carelessness >:(
05:12 apteryx oh no
05:12 [MatrxMT] <Blockhead256> don't be like me
05:12 user333_ how did you-
05:12 apteryx I hope you have a backup around
05:13 apteryx my command mv ~/.minetest{,.bak} would have left a ~/.minetest.bak for you to rename back
05:13 [MatrxMT] <Blockhead256> I thought I had it backed up into ..minetest.. ripperon
05:14 user333_ simple solution: rm -rf /bin/rm
05:14 user333_ all fixed!
05:15 [MatrxMT] <Blockhead256> that sounds like it may need a whole OS reinstall afterwards, something's bound to need it lol
05:23 user333_ or just copy over a new rm binary from another OS
05:34 apteryx is there a default, builtin game that ships with Luanti? Or is an extra package always needed?
05:35 apteryx "To run a Luanti server, you need to select a game using the '--gameid' argument." got it
05:36 apteryx which seems to be automatically picked from an available game (not sure what it would do if there were multiple games, but it doesn't matter for my use case)
05:39 * mrcheese saw `rm -rf /bin/rm` and thought of this: //lua for c,_ in pairs(core.registered_chatcommands)do core.registered_chatcommands[c]=nil;end
05:48 apteryx when there are multiple games it errors out, based on reading main.cpp: "If there's exactly one obvious choice then do the right thing"
05:48 YuGiOhJCJ joined #luanti
05:49 apteryx is luanti consulting XDG_DATA_DIRS or similar to find games/mods?
05:49 apteryx looks like it's using MINETEST_GAME_PATH
05:53 apteryx and MINETEST_MOD_PATH
05:59 apteryx would a PR renaming these to LUANTI_... be welcome? Guix has such a patch already.
06:09 apteryx nice, I got a Luanti server service running in a Guix System test
06:22 Blockhead256 joined #luanti
06:23 Blockhead256 joined #luanti
06:23 Blockhead256 this thing work?
06:24 apteryx yep
06:24 Blockhead256 not on my usual client or OS.. to preserve the files until recovery hehe
06:25 Blockhead256 luanti does not bundle a game any more https://docs.luanti.org/about/changelog/#570--580
06:25 ShadowBot https://github.com/luanti-org/luanti/issues/570 -- Fix nick completion by PilzAdam
06:26 Blockhead256 it's not intended that a distro actually include a game, it should be up to the user
07:52 apteryx makes sense
07:52 apteryx does luanti listen to only ipv6 by default, if it's available?
07:53 apteryx I thought I had my Scheme version of the Python script working, but now Luanti is not responding anything anymore (I'm poking it via ipv4 for now)
07:54 apteryx the code I'm playing with reads as https://paste.guixotic.coop/games-2316-3577.scm_tests_.html
07:57 apteryx should support both, according to a comment in settingtypes.txt: "Note that clients will be able to connect with both IPv4 and IPv6."
07:58 apteryx that's when setting ipv6_server to true, which is the default
07:59 apteryx the bug when testing my code at the moment is that select times out before returning any readable socket.
07:59 apteryx even if I give it 30 s or something longer, so it seems luanti just isn't replying there.
08:00 apteryx inside the test VM, Luanti seems to be running alright: https://paste.guixotic.coop/_scratch_-9119-10027.html
08:04 apteryx another odd observation: fresh after starting, luantiserver is eating up about 1 MiB every 6 seconds, and consuming 0.7% CPU. There's no client.
08:05 apteryx that's /gnu/store/xc6rlb8c5y1mr8lk6xffbxhn8d8z0gbm-luanti-server-5.14.0/bin/luantiserver --port 3000, in an environment where: HOME=/var/lib/luanti LUANTI_GAME_PATH=/gnu/store/6lb8dhfximqn6rz6xa7lgxkl01p8pxkp-luanti-mineclonia-0.118.1/share/luanti/games
08:10 * apteryx punts on the socket checking part for now
08:18 apteryx typo, me thinks 3000 -> 30000 for the port
08:26 apteryx works now, though I'm receiving only 14 bytes from luanti after sending the probe packet, #x4f #x45 #x74 #x03 #x00 #x00 #x00 #x01
08:26 apteryx the python scripts seems to be reading the data[12:14], thus until (including) the 15th byte?
08:47 apteryx ah, maybe to get an extra zero... not sure
08:47 apteryx the 14 bytes I get are: 79 69 116 3 0 1 0 3 255 220 0 1 38 154
08:59 apteryx it also looks sensitive to when I send the packets; I suspect if luanti isn't yet up and running for long enough it gets lost and the select times out/blocks forever
09:12 Blockhead256 that's typically what you get on the client, a timeout message from lower than the TCP/IP stack for connecting before the server is listening
09:14 apteryx I realize now that my select will probably return as early as possible, and then my check for the minimum byte count received won't be the expected >= 14
09:15 Blockhead256 s/lower than/lower down on
09:15 apteryx that's a small amount of data though, so I'd perhaps expect it to be OK (sent in one go))
09:28 apteryx I just added some retry loop and this way it can complete
09:35 apteryx now that I have I good test I'll enable the containerization of luanti, for extra security
10:01 Blockhead256 hmm do texture packs only allow loading textures? I think not, so no sound, model, locale or font packs, right?
10:53 mrkubax10 joined #luanti
11:05 jaca122 joined #luanti
11:17 Bombo joined #luanti
11:17 Bombo joined #luanti
11:34 burgeresque joined #luanti
11:39 mrcheese joined #luanti
11:39 mrcheese joined #luanti
12:31 oneeyedalien joined #luanti
13:30 oneeyedalien joined #luanti
13:52 PoochInquisitor joined #luanti
13:52 SFENCE joined #luanti
14:40 SFENCE joined #luanti
14:45 SFENCE joined #luanti
14:50 tzenfore joined #luanti
14:52 apteryx neat, my luanti-service-type (now containerized) seems to work well
14:53 apteryx how much RAM should I expect luanti to use for a few players game (e.g. 6-8) ?
14:53 SFENCE joined #luanti
14:53 apteryx I was testing single play and it used up to 1 GiB I'd say (800 MiB peak or so)
14:56 SFENCE joined #luanti
15:00 MTDiscord <wsor4035> depends what game your playing. the mineclon*s are pigs with resources traditionally, while something like void or air game is going to be minimal
15:01 MTDiscord <wsor4035> *game + mods
15:08 SFENCE joined #luanti
15:15 apteryx MTDiscord: I was playing mineclonia
15:15 apteryx Will each added player require extra memory, or it should stay relatively constant?
15:15 user333_ try air game if you want an engaging game with barely any resources
15:20 MTDiscord <luatic> apteryx: it will require extra memory. a portion of it will be constant (e.g. various registrations), but a big part isn't, like loaded mapblocks, which (unless your players are clumped together) will grow linearly with the number of players, as well as all kinds of lua-side per-player data structures the game might keep.
15:23 apteryx eh, I might have to fallback to my beefy desktop for hosting instead of my bottom of the line 2 GiB VPS :-)
15:23 apteryx thanks for the infgo
15:23 apteryx info*
15:23 MTDiscord <luatic> np
15:24 apteryx At any rate there'll be a nice Guix-backed solution to run a Luanti server soon! I'll share the PR when it's ready.
15:24 * apteryx signs off for now o/
15:26 MTDiscord <luatic> \o
15:28 SFENCE joined #luanti
15:54 SFENCE joined #luanti
16:06 ireallyhateirc joined #luanti
16:10 ireallyhateirc other game engines support either 4 (compatibility) or 8 (premium deluxe) bone influences per vertex. Does Luanti have a limit on that?
16:21 ireallyhateirc never mind, I asked under the hardware skinning PR
16:23 MTDiscord <luatic> the limit is currently at 4
16:24 ireallyhateirc will this get bumped to 8 with the hardware skinning change?
16:26 ireallyhateirc I assume 4 is fine for stylized low-poly characters but then that would be another limitation
16:26 MTDiscord <luatic> as it is, no, HW skinning is also at 4
16:27 MTDiscord <luatic> it's possible to bump it to 8, but it'll be a bit icky. i'd prefer to do it after HW skinning is through.
16:28 ireallyhateirc with the limit of 4 bones one is not able to make a corrective rig for pelvis, which leaves us with corrective shape keys (morph targets) which are tricky and not implemented yet
16:28 ireallyhateirc an import setting to pick either 4 or 8 influences would be optimal
16:29 ireallyhateirc 4 for staple enemies and other entities that don't need to be pretty
16:29 ireallyhateirc 8 for entities that are less frequent but need to look good (cut scenes, main characters)
16:30 MTDiscord <luatic> it would be implemented via "sets" (same as in gltf) so if you only use 4, you wouldn't pay for 8
16:31 ireallyhateirc sounds good. So keep that 8 in mind as long as we can have this cheaply with no big performance hit
16:32 MTDiscord <luatic> i will, thanks for letting me know
16:59 SFENCE joined #luanti
17:24 jaca122 joined #luanti
17:33 Trifton joined #luanti
17:41 SFENCE joined #luanti
17:47 Sharpman joined #luanti
17:51 oneeyedalien joined #luanti
17:51 SFENCE joined #luanti
18:22 Talkless joined #luanti
18:26 mrkubax10 joined #luanti
19:46 SFENCE joined #luanti
19:48 fling joined #luanti
20:29 burgeresque hello luatic
20:42 mrkubax10 joined #luanti
20:54 MTDiscord <luatic> hi
21:34 anemofilia joined #luanti
21:34 fgaz joined #luanti
21:34 HuguesRoss joined #luanti
21:34 user333_ joined #luanti
21:34 ursa-major joined #luanti
21:35 z812 joined #luanti
21:35 HamAdams joined #luanti
21:35 jfred joined #luanti
21:36 user333_ joined #luanti
21:58 mrkubax10 joined #luanti
22:09 fling joined #luanti
22:19 burgeresque so hows things going
22:22 MTDiscord <luatic> depends on the things, overall okay i'd say. how about you?
23:13 Sharpman joined #luanti
23:30 Thermoriax joined #luanti
23:31 mrcheese joined #luanti
23:32 panwolfram joined #luanti

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