Luanti logo

IRC log for #luanti-dev, 2025-05-28

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

All times shown according to UTC.

Time Nick Message
02:22 aliasalreadytake joined #luanti-dev
03:19 SFENCE_arch joined #luanti-dev
04:00 MTDiscord joined #luanti-dev
04:55 v-rob joined #luanti-dev
06:09 SFENCE_arch joined #luanti-dev
06:29 fluxionary joined #luanti-dev
07:43 SingleDigitIq joined #luanti-dev
08:43 Farooq joined #luanti-dev
08:45 Farooq joined #luanti-dev
08:46 Farooq Hello. I was thinking about extending Redis support for auth. But there is a comment that Redis functionallity shouldn't be extended: https://github.com/luanti-org/luanti/blob/94a9b94baf5c6626b1f917ef2007e760786401e8/src/database/database-redis.cpp#L20-L26
08:47 Farooq The issue however is about "not" deprecating Redis. Some elaborations please?
08:48 Farooq Also from what I can see, for map and auth DBs, it's only key/value. So I'm wondering why SQL DBs has been used instead of something like LMDB or sled.
08:49 Farooq player db seems to be the same thing. key/value
08:53 sfan5 https://github.com/luanti-org/luanti/blob/master/src/database/database-sqlite3.cpp#L386 it's not
08:54 sfan5 most of the operations luanti does are indeed just "get this exact thing" or "insert or replace this exact thing"
08:55 sfan5 however having relational data is beneficial for future use cases and external tools that want to work with the data
08:55 sfan5 why sqlite and not something else? it's popular, embeddable, portable and readily available and also quite fast
08:55 Farooq that's what I mean. you use SQL but you use it like a key/value. For retrieval, you just do the key
08:56 Topic for #luanti-dev is now Luanti (fka Minetest) core development and maintenance. Chit chat goes to #luanti. https://dev.luanti.org/ https://irc.luanti.org/ https://github.com/luanti-org
08:57 Farooq LMDB has the same good features of sqlite but it's built specifically for key/value store
08:57 Farooq LMDB and/or Redis seem to make sense for Auth database
08:58 Farooq However that comment says Redis shouldn't be extended
08:58 sfan5 how would you store the auth data in redis and how does that help your use case?
09:03 Farooq Redis is much faster than sqlite. I'm not yet sure how. But Luanti needs to fetch password hash by name. right? For the auth part, we could do 3 "Hashes". name -> password, name -> last_login, name -> privileges
09:04 Farooq password would be a string, last login would be either a string or an integer. privileges would be an unordered set
09:05 Farooq wait redis doesn't have integer. last login would be a string, a timestamp
09:07 Farooq I think the details need to be worked out. But I gave the general idea
09:07 Farooq Should I open an issue?
09:11 sfan5 how many people do you have logging into your server that auth database performance becomes relevant?
09:11 sfan5 let's say sqlite can do 100 reads per second (and this is an extremely low estimate), do you have more than that?
09:13 Farooq TBH, I'm not sure. But sqlite does a B tree which has logarithmic time. The larger number of players the slower the read. Redis hashes or hashmaps, they do O(1).
09:15 Farooq My motivation is reducing lag on the CTF server.
09:17 sfan5 "look at everything and see if it can be made faster" isn't a bad approach, but I wouldn't say it's good either
09:17 sfan5 the good - and also more effective - approach is to first measure/profile where exactly the lag happens and then investigate these parts in detail
09:21 Farooq you are right. But unfortunately, I haven't got access to the CTF server
09:21 Farooq But is Redis deprecated or can new functionallity be added?
09:21 Farooq And what do you think about LMDB for map backend?
09:22 sfan5 given the current situation I would reject any features added to the redis backend
09:23 Farooq "current situation"?
09:23 sfan5 the context and use case you explained for adding auth via redis
09:23 Farooq No I meant in general
09:24 sfan5 in general no
09:24 Farooq no as in ...?
09:24 sfan5 no new features
09:24 sfan5 re LMDB: we don't need more map backends, especially not key-value ones when you consider https://github.com/luanti-org/luanti/issues/16118
09:25 Farooq what about improvements to already existing Redis backend?
09:25 sfan5 depends, but I would tell the contributor that they are wasting their time improving something deprecated
09:25 Farooq I see
09:25 Farooq because the comment there is misleading
09:26 Farooq it says it's deprecated but then links to an issue which says Redis should be un-deprecated
09:26 sfan5 it doesn't say that
09:27 sfan5 it says it's frozen for new features
09:28 Farooq I get it
09:28 Farooq Thanks for your time
09:28 Farooq I was hoping to find an easy and attractive issue to make my first contribution to the engine xD
09:29 Farooq But well I love optimization. JMA people have trusted me with their server. I think I will run perf with their server to see where things can be optimized.
09:46 MTDiscord <luatic> Yes, that's generally the way to go: First identify a performance issue, then fix it. You can spend arbitrary amounts of time fixing fictive performance issues.
11:01 alias joined #luanti-dev
11:04 sfan5 merging #16169, #16182, #16158 in 10m
11:04 ShadowBot https://github.com/luanti-org/luanti/issues/16169 -- Minor lua_api.md improvements by grorp
11:04 ShadowBot https://github.com/luanti-org/luanti/issues/16182 -- Move one CI run to be on 64-bit ARM by sfan5
11:04 ShadowBot https://github.com/luanti-org/luanti/issues/16158 -- [no sq] Do not allow vector components to be nil or NaN + unit tests by sfan5
12:00 SingleDigitIq joined #luanti-dev
12:01 sfan5 it's nice how the msvc CI build randomly takes 40 minutes instead of 10
12:01 sfan5 (may contain sarcasm)
12:12 Krock how do I get "print" to output something in Luanti running in Wine?
12:13 Krock whatever. I suppose I need to use logging for that
12:16 sfan5 with wine running it from a terminal works
12:16 sfan5 on real windows it won't because a gui process doesn't have a console. remove -mwindows from compile flags to fix that
12:19 MTDiscord <josiah_wi> I'll bet we could speed up the MSVC CI to be on par with the other ones by caching the vcpkg install somehow.
12:20 MTDiscord <josiah_wi> It takes a few minutes to compile on my computer, and over a half hour to install dependencies.
12:20 sfan5 i thought it already did that? or at least tries
12:21 MTDiscord <josiah_wi> Huh, why's it so slow, then?
12:23 MTDiscord <josiah_wi> Because it's not using the cache you made.
12:23 MTDiscord <josiah_wi> It's redownloading everything.
12:23 MTDiscord <josiah_wi> Or at least recompiling everything.
12:24 sfan5 idk
12:24 MTDiscord <josiah_wi> It's also building both debug and release versions of every dependency.
12:24 MTDiscord <josiah_wi> So every dependency gets compiled twice.
12:26 sfan5 looks like the caching broke a while ago, compare https://github.com/luanti-org/luanti/actions/runs/14449346851/job/40517859967 and https://github.com/luanti-org/luanti/actions/runs/15281007441/job/42979764478
12:26 sfan5 Cache's key = 'localGitId=-1142056221-args=-15179912-os=1553167250-imageVer=-1723557972-appendedKey=-755526354-triplet=-755526354'.
12:26 sfan5 Restore vcpkg and its artifacts from cache
12:26 sfan5 ⏱ elapsed: 7.848 seconds
12:27 sfan5 the other has this and no mention of restoring cache:
12:27 sfan5 Running command '"C:\Program Files\Git\bin\git.exe"' with args '^"submodule^",^"status^",^"D:\a\luanti\luanti\vcpkg^"' in current directory 'D:\a\luanti\luanti'.
12:27 sfan5 error: pathspec 'D:\a\luanti\luanti\vcpkg' did not match any file(s) known to git
12:28 sfan5 possibly https://github.com/lukka/run-vcpkg/issues/243
12:47 Krock sfan5: that was actually the first thing I tried. 'enable_console = true' did not make any difference either. Well, core.log worked.
13:38 SFENCE_arch joined #luanti-dev
14:05 Niklp5 joined #luanti-dev
14:39 SFENCE joined #luanti-dev
14:59 behalebabo joined #luanti-dev
16:10 v-rob joined #luanti-dev
16:11 rubenwardy Hi, we have a user saying that can't use Luanti with their school kids as it's rated 13. They're asking a version without the server list so it can be rated lower
16:11 rubenwardy It's rated as 13 due to "moderate violence"
16:12 rubenwardy and in germany due to "fantasy violence" and "content for different ages"
16:14 rubenwardy idk if there's a way of adding optional parental controls which would satisfy the boards
16:15 [MatrxMT] <Zughy> Isn't Minecraft, a game with TNTs, exploding creatures etc rated 7+?
16:16 [MatrxMT] <Zughy> Yes, PEGI 7+
16:16 rubenwardy I have no idea how they manage that
16:16 rubenwardy I think the reason we have higher is because servers can provide content that exceeds PEGI 7
16:17 rubenwardy ContentDB hides stuff above PEGI 7 on Android
16:17 rubenwardy whereas in Minecraft, servers don't provide custom content
16:17 [MatrxMT] <Zughy> An education version shouldn't feature a serverlist anyway
16:18 rubenwardy yeah. Or disabled by default and controlled by the school
16:18 [MatrxMT] <Zughy> My custom clients for schools are just Play and Quit basically. The activity should be tailored. The default client is too messy
16:18 [MatrxMT] <y5nw> Well the result in the USK rating is very opaque ("Fantasy-Gewalt, Inhalte für verschiedene Altersgruppen // Chats") so they don't really explain what exactly results in the USK12 rating. There is also no comparison between platforms to use as a reference.
16:19 rubenwardy maybe I could make a custom client with some URL which allows remote control of configuration like server etc by parents/schools
16:19 rubenwardy could have builtin support for customising the servers, so they could add specific servers there
16:20 [MatrxMT] <Zughy> I guess that's more work for us?
16:20 rubenwardy and by default would just not have a server list
16:20 Krock point the server list URL to 127.0.0.1. it's a matter of minetest.conf
16:20 rubenwardy well I would want there to be funding to do this somewhere
16:20 rubenwardy Krock: doesn't help with rating boards
16:20 rubenwardy or schools
16:25 rubenwardy okay this seems helpful https://usk.de/game-creator-plattformen-auf-dem-pruefstand-aenderung-der-alterskennzeichen-bei-unzureichendem-jugendschutz/
16:25 rubenwardy Luanti is mentioned there
16:25 rubenwardy So the question is - with one Luanti client, if we can provide some parental controls on content, is that enough to make the boards happy? Or does it need a separate version that is fully locked down?
16:27 [MatrxMT] <y5nw> Don't we already have a stricter CDB filter for Android? (so I guess the answer is no)
16:27 Krock y5nw: that's the thing ruben mentioned a few minutes ago. age restriction.
16:27 Krock > ContentDB hides stuff above PEGI 7 on Android
16:27 rubenwardy Yeah. The serverlist doesn't do this
16:28 rubenwardy So the parental controls in this case would be    (1) a button to disable the serverlist  (2) more options for filtering content in CDB and the serverlist
16:28 MTDiscord <luatic> i've considered making a serverlist proxy for that purpose
16:28 MTDiscord <warr1024> I'm getting a feeling that think-of-the-children compliance in all it's various manifestations runs fundamentally contrary to our goal of user freedom and we would want to offer it separately from the base no-bullshit-added edition.
16:29 MTDiscord <nathan4220776> YES!
16:29 MTDiscord <nathan4220776> It absolutely is.
16:29 rubenwardy If it's an optional feature then I think it's fine. If it's something that's forced on then should be a separate version
16:29 Krock add a dropdown where people can select their year of birth and filter stuff accordingly
16:29 MTDiscord <warr1024> I run my own personal server list proxy for parental control on my own network, as well as being able to privately announce private servers.  Non-centralized filtering is a viable option.
16:29 Krock (doesn't work in practice but it's the best you can try to do)
16:31 MTDiscord <warr1024> The problem with optional censoring is that regulatory shit tends to expect you to enable all filtering by default and make it difficult to turn off, so it's hard to make it really as "optional" as we would want.
16:32 MTDiscord <warr1024> Tbh the easiest way to do the optional filtering might just be to publish separate builds to the platform stores.
16:32 MTDiscord <luatic> side note: any status updates on the app transfer on google play? @celeron55 @nrz0
16:32 Krock c55 provided an update in the staff channel
16:33 MTDiscord <luatic> which staff channel
16:33 MTDiscord <nathan4220776> Maybe a hypothetical "kid friendly" version could have hardcoded chat options, like the zone.com games in windows xp. ( ͡° ͜ʖ ͡°)
16:34 MTDiscord <luatic> kids considered kid unfriendly, as they can swear at each other
16:34 Krock @luatic on IRC, for core devs. Needs an invite.
16:34 [MatrxMT] <y5nw> rubenwardy: Can we not just require institutions to host their own serverlists? (And unset the serverlist URL by default in restricted builds)
16:34 MTDiscord <warr1024> I wouldn't want to dedicate more code complexity to it than necessary to comply with the shit we want to comply with, since I'd want to keep the kid edition and full edition building from the same tree with no weird patching bullshit.
16:35 rubenwardy The institution may be blocked from using apps outside of the age rating
16:36 MTDiscord <nathan4220776> Joking aside, I think trying to make minetest more "kid-friendly" would be a huge mistake. As far as I know, minetest isn't being sold, so there almost certainly isn't any obligation to make it comply with age ratings.
16:36 rubenwardy what's minetest
16:36 MTDiscord <warr1024> Offering a locked down kids edition could make the platform more accessible to people with compliance needs, and then once they get their feet wet they might want to build something using the full edition with selective safety options enabled.
16:36 rubenwardy yeah
16:36 rubenwardy I just want to know if we need a separate locked down version or if this can be done with some settings
16:37 rubenwardy I guess the former is probably easier to just do
16:37 MTDiscord <warr1024> What is minetest, baby don't hurt me, don't hurt me, no more
16:37 MTDiscord <nathan4220776> Minetest is a free and open-source voxel game creation system. It is written primarily in C++ and makes use of a modified version of the Irrlicht Engine.
16:37 [MatrxMT] <Zughy> Luanti isn't ready for teachers yet anyway. Source: I'm one and I teach teachers STEM disciplines
16:37 [MatrxMT] <Zughy> Compare it to Scratch and you'll see the huge difference. Our UX is terrible
16:38 MTDiscord <warr1024> Even if we make it lockdownable via settings (which does sound good) we would probably want to publish a separate pre-locked-down build.
16:39 MTDiscord <nathan4220776> Attempting to chat would cause an immediate and permanent ban.
16:39 [MatrxMT] <Zughy> if we were somewhat serious about being an organisation, we could have a separate group of people focusing on an Edu version or at least planning. In here, on the contrary, we only have devs talking about code, mostly
16:39 MTDiscord <warr1024> Zughy: it's a long journey, no reason we can't take the steps that are in front of us right now, even if it won't get us there.
16:39 rubenwardy Yeah that would make sense, could solicite funding for the edu version too
16:40 rubenwardy and have some mods/games for it
16:40 rubenwardy and guides
16:41 [MatrxMT] <Zughy> warr1024: because you all lack the experience of what teachers might need
16:42 [MatrxMT] <Zughy> *knowledge
16:42 MTDiscord <warr1024> "if we're gonna do this, we might as well do it right" ... ah yes, the leading cause of death for Luanti initiatives.
16:42 [MatrxMT] <Zughy> so the risk is to waste a lot of time
16:43 [MatrxMT] <y5nw> Zughy: Would it make sense to put up an issue/discussion in the Luanti org to discuss this then?
16:44 MTDiscord <nathan4220776> What about the ux is bad?
16:44 [MatrxMT] <Zughy> Considering the other discussion we had, I think this belongs to one of the internal groups we suggested, more precisely communication -> education y5nw
16:44 Krock @nathan4220776  The new flat style buttons, for example.  (hehe)
16:45 Krock oh wait I'm mixing UX with UI where I shouldn't.
16:46 [MatrxMT] <Zughy> but in order to assing such discussion to that group, we should make such groups official
16:46 [MatrxMT] <Zughy> *assign
16:46 sfan5 any complaints about merging game#3194?
16:46 ShadowBot https://github.com/luanti-org/minetest_game/issues/3194 -- Workaround for sign regression with 5.12 by ZenonSeth
16:47 [MatrxMT] <y5nw> Zughy: Or that. The thing is that this was already discussed once on the German-language Discord channel in February (and briefly on IRC - 2024-02-09), and the discussion did not get very far beyond technical issues (IMO)
16:47 celeron55 to me it seems what's really needed is a product owner for an edu version, who is tasked to bring up the necessary issues in an optimal way
16:47 celeron55 (optimal = make it happen with the least headache for everyone)
16:49 [MatrxMT] <y5nw> 2025-02-09*
16:50 Krock sfan5: no complaints from my side. according to my testing results, this will fix the issue for 5.12.0 and not break 5.11.0.
16:51 MTDiscord <luatic> sfan5: no objection. it would be possible to replace the form instead but since it lives in metadata that'd be a bit nasty so not really worth it. just added in a comment referencing the issue real quick because i'd want to have that.
16:52 Krock @luatic In addition, there's likely multiple other mods that copied from MTG and thus cannot be easily changed
16:53 sfan5 done
16:55 fluxionary joined #luanti-dev
17:16 SFENCE_arch joined #luanti-dev
17:17 SFENCE joined #luanti-dev
17:32 MTDiscord <nrz0> celeron55 i'm not sure about what is th eresult, they cancel there is a transfer, they remove app at same time...
21:12 SFENCE joined #luanti-dev
21:12 imi joined #luanti-dev
21:50 MTDiscord <herowl> I'm pretty sure there's no need for any sort of centralized effort. You just need to allow launching a specific world or joining a specific server with no way to exit to main menu.
21:50 MTDiscord <herowl> I.e. easy way to make it launch like that.
21:50 MTDiscord <herowl> The rest should be done as games and mods.
21:54 MTDiscord <herowl> And you shouldn't compare this to scratch, it's a different tool altogether, and in my experience, students hate scratch. It's just bad.
22:18 [MatrxMT] <Zughy> I literally teach these things, but sure
22:20 celeron55 it seems to me there should be some kind of a kiosk mode which is also possible to set up on android. i suppose it would have to be locked by password or something, as android doesn't want to allow external tools to edit the config
22:33 panwolfram joined #luanti-dev
23:05 Eragon joined #luanti-dev
23:47 Juri joined #luanti-dev
23:52 Warr1024 joined #luanti-dev

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