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 |