Minetest logo

IRC log for #minetest, 2022-04-09

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

All times shown according to UTC.

Time Nick Message
00:01 proller joined #minetest
00:04 Extex joined #minetest
00:07 TheAltHacker joined #minetest
00:54 MTDiscord <Jonathon> https://forum.minetest.net/viewtopic.php?f=14&amp;t=27980&amp;p=409042#p409042 oh look who it is
01:15 specing_ joined #minetest
01:23 RhineDevil joined #minetest
01:34 RhineDevil joined #minetest
02:13 Yad joined #minetest
02:28 erle here is my minetest-servers tool https://forum.minetest.net/viewtopic.php?f=14&amp;t=27984&amp;p=409054
03:00 mrgreymatter joined #minetest
03:20 crabycowman123 joined #minetest
03:50 Extex joined #minetest
03:52 Extex joined #minetest
03:53 Extex joined #minetest
04:00 MTDiscord joined #minetest
04:13 toulene joined #minetest
04:50 Lesha_Vel joined #minetest
05:01 riff-IRC joined #minetest
06:01 paradust \window 4
06:02 paradust oops, mistype
06:02 calcul0n joined #minetest
06:25 debiankaios joined #minetest
06:40 lemonzest joined #minetest
06:57 definitelya joined #minetest
07:39 wing joined #minetest
08:23 sobkas joined #minetest
09:05 Fixer joined #minetest
09:28 est31 joined #minetest
09:58 hn joined #minetest
09:58 hn hhhhi...
09:58 hn hope here wont get a ban from age you think is incorrect....
09:59 hn (but was correct, i just know discord situations... not my first tbh...)
10:00 sfan5 ?
10:00 hn nothing nvm
10:01 hn just moved out of discord
10:03 ROllerozxa I don't think liberachat has a minimum age requirement like discord does
10:03 hn yea...
10:04 hn just yesterday peeps thought im undreraged sp wanted to leave to avoid drama
10:04 hn even if im aged
10:04 hn (enough)
10:05 hn (and if you think i'll come back - you have 0 chanes for it)
10:08 hn anyways - something was happening at night?
10:15 hn any hackathons or smth in mt?
10:16 grouinos joined #minetest
10:17 erle hn there was a game jam last christmas
10:18 erle i mean it was timed so the games got released then
10:18 hn k
10:18 hn fine
10:19 hn just was asdkin
10:21 erle hn, you can find the games on contentdb. one of the best is “alter”.
10:21 hn ikr? just wanted to fill empty channel
10:21 hn lol
10:25 erle hn i have a friend in rome. do you know his name?
10:25 hn no?
10:26 erle sussus
10:26 hn lol
10:27 hn (yes this actually was funni)
10:27 erle his name is sussus amogus
10:27 hn xD
10:27 definitelya h
10:27 hn ?
10:28 erle h ist one fourth haha
10:28 hn idk
10:29 definitelya hn: h
10:29 hn o ok
10:29 hn nicks you meant?
10:29 ROllerozxa I don't get the joke and I'm too afraid to ask what "sussus amogus" has to do with rome
10:30 hn it was ne guys in politics
10:30 hn R0llerozxa ↑↑↑
10:32 erle ROllerozxa there is an old monty python sketch i believe you should watch to understand it: https://yewtu.be/watch?v=yzgS61zgPEg
10:32 definitelya hn: Are you saying Sussus Amogus was an infuential politician of Ancient Rome? The more you know!
10:33 hn ye
10:33 hn lol
10:34 erle definitelya watch the youtube video
10:34 hn this one : https://en.wikipedia.org/wiki/Valentinian_II
10:34 hn googled. first result
10:35 definitelya Yes I've seen it, thank.
10:35 hn ;0
10:35 hn ;)
10:35 definitelya Those guys were hilarious.
10:35 hn ye lol
10:36 hacknorris fine cuz forgor
10:36 erle my friend sussus, he has a wife you know
10:36 erle they call her
10:36 erle impostoria
10:36 hacknorris lmao
10:37 ROllerozxa ah I get it now lmao
10:37 hacknorris ye xd
10:48 Flabb joined #minetest
11:47 lumidify joined #minetest
11:54 grouinos joined #minetest
12:10 erle joined #minetest
13:07 LibreLikeGNU joined #minetest
13:15 specing_ joined #minetest
13:23 RhineDevil^ joined #minetest
13:30 grouinos joined #minetest
13:46 hacknorris anyways - someone already made parkour other than "inside the box" and isnt me? just asking...
14:01 hacknorris dead chat
14:19 erle hacknorris yes
14:19 erle go to minigame server
14:19 erle there is a parkour section
14:38 hacknorris ?
14:38 hacknorris ah minigame. probly smol. there are no big ones?
14:50 RhineDevil joined #minetest
14:57 hacknorris dead chat
14:58 jason101 joined #minetest
14:59 jason101 i'm fascinated how i rename the wor
15:01 hacknorris ?
15:10 grouinos joined #minetest
15:16 hn joined #minetest
15:19 hn so is there any bigger parkuor server in minetest except of "inside the box" ?
15:32 Talkless joined #minetest
15:50 Gustavo6046 joined #minetest
15:53 Gustavo6046 joined #minetest
16:01 Verticen joined #minetest
16:02 Wuzzy joined #minetest
16:06 Wuzzy I am slightly confused by the register_decoration noise handling
16:07 Wuzzy so the docs say that decorations are placed per "square division" but what does that mean exactly?
16:07 Wuzzy and at which point are decorations placed, anyway? whenever the Perlin noise value >= 0?
16:07 hacknorris x^2/y ? or smth... maths
16:07 hacknorris idk
16:08 hacknorris ah, decorations?
16:08 hacknorris that their on one square at surface and making X on it probly...
16:08 hacknorris or smth
16:19 kamdard joined #minetest
16:36 MTDiscord <AFCM> excuse me but which it the AuthMechanism used with modern servers?
16:38 MTDiscord <SX> SRP?
16:38 erle SRP, why?
16:38 erle AFCM are you making a non-minetest client?
16:39 MTDiscord <AFCM> I mean
16:39 MTDiscord <AFCM> switch (chosen_auth_mechanism) {         case AUTH_MECHANISM_FIRST_SRP: {             // send srp verifier to server             std::string verifier;             std::string salt;             generate_srp_verifier_and_salt(getPlayerName(), m_password,                 &verifier, &salt);              NetworkPacket resp_pkt(TOSERVER_FIRST_SRP, 0);             resp_pkt << salt << verifier << (u8)((m_password.empty()) ? 1 : 0);
16:39 MTDiscord Send(&resp_pkt);             break;         }         case AUTH_MECHANISM_SRP:         case AUTH_MECHANISM_LEGACY_PASSWORD: {             u8 based_on = 1;              if (chosen_auth_mechanism == AUTH_MECHANISM_LEGACY_PASSWORD) {                 m_password = translate_password(getPlayerName(), m_password);                 based_on = 0;             }              std::string playername_u = lowercase(getPlayerName());             m_auth_data =
16:39 MTDiscord srp_user_new(SRP_SHA256, SRP_NG_2048,                 getPlayerName().c_str(), playername_u.c_str(),                 (const unsigned char *) m_password.c_str(),                 m_password.length(), NULL, NULL);             char *bytes_A = 0;             size_t len_A = 0;             SRP_Result res = srp_user_start_authentication(                 (struct SRPUser *) m_auth_data, NULL, NULL, 0,                 (unsigned char **) &bytes_A, &len_A);
16:39 MTDiscord FATAL_ERROR_IF(res != SRP_OK, "Creating local SRP user failed.");              NetworkPacket resp_pkt(TOSERVER_SRP_BYTES_A, 0);             resp_pkt << std::string(bytes_A, len_A) << based_on;             Send(&resp_pkt);             break;         }         case AUTH_MECHANISM_NONE:             break; // not handled in this method     }
16:39 erle stop doing this
16:40 MTDiscord <AFCM> ?
16:40 erle pasting lines of code
16:40 erle use a pastebin like https://mister-muffin.de/paste
16:40 MTDiscord <SX> Code blocks does not look good on IRC side...
16:40 MTDiscord <AFCM> ok
16:41 erle if the user does not exist, you get AUTH_MECHANISM_FIRST_SRP, otherwise AUTH_MECHANISM_SRP, correct?
16:42 MTDiscord <AFCM> but why is AUTH_MECHANISM_SRP just after AUTH_MECHANISM_LEGACY_PASSWORD
16:43 MTDiscord <AFCM> Are AUTH_MECHANISM_SRP and AUTH_MECHANISM_LEGACY_PASSWORD handled the same?
16:43 MTDiscord <AFCM> (I don't know much about cpp)
16:43 erle AFCM try examining the packets on the wire using the wireshark dissector
16:43 erle you will see how the SRP works
16:44 erle again, what are you trying to do?
16:44 MTDiscord <SX> I've not looked at that bu I would guess if client used legacy password auth then server accepts that
16:44 MTDiscord <AFCM> web authentification service
16:45 MTDiscord <SX> Just auth directly against DB, if you want SRP for web pages then browser javascript implementation for SRP is needed...
16:45 erle AFCM explain?
16:45 erle i don't get it, you want a web service to log in?
16:46 erle or to register?
16:46 MTDiscord <SX> Otherwise you'll be doing "crippled SRP" like what I suppose "legacy password auth" is doing in engine code
16:46 MTDiscord <SX> (password sent to server and server does "SRP", not real SRP anymore but same thing basically)
16:47 grouinos joined #minetest
16:48 MTDiscord <AFCM> you have a website allowing users to create an account then they can connect to minetest servers with their credentials and the minetest server will verify them using the web API
16:48 MTDiscord <SX> I mean functions same but loses security features, client password is exposed
16:49 MTDiscord <SX> You want your own auth backend service which directly authenticates user without minetest engine...
16:49 MTDiscord <SX> I guess there's at least few ready made pieces around git... somewhere...
16:50 lsab joined #minetest
16:51 lsab hello. I'm using i3 inventory, as I'm adm with creative privs I can't see recipes, is there some way to see that?
16:53 MTDiscord <AFCM> I would use both bcrypt (for the website/API) and SRP (for the API endpoint allowing minetest to compare it with the encrypted password given by clients)
16:54 Hawk777 joined #minetest
16:55 MTDiscord <SX> Why you would use both if you're planning to use SRP anyway?
16:56 erle split-brain account db?
16:56 MTDiscord <SX> (any hash based auth takes away benefits of SRP)
16:58 MTDiscord <SX> Well there's Buckaroo's https://hub.docker.com/r/minetestauth/minetest-auth-proxy / https://github.com/minetest-auth-proxy which does password auth using engine (through mod)
17:01 MTDiscord <SX> But if building custom solution from scratch I would recommend going through direct db connection instead of using mod as a proxy, mod makes things a lot easier / faster to get working though.
17:01 MTDiscord <SX> (easier because you can completely skip actual authentication implementation)
17:10 est31 joined #minetest
17:10 erle AFCM did you see this? might be of interest https://forum.minetest.net/viewtopic.php?f=14&amp;p=409075#p409075
17:12 Verticen joined #minetest
17:14 MTDiscord <AFCM> I basically want to encode a string the same way its encoded then its passed to the minetest auth API https://github.com/minetest/minetest/blob/2d8eac4e0a609acf7a26e59141e6c684fdb546d0/doc/lua_api.txt#L8937
17:16 est31 joined #minetest
17:26 chaverinho .
17:28 v-rob[m] joined #minetest
18:26 MTDiscord <SX> You can't. Well, you can but it is auth implementation detail that depends on other things. Basically here's "default" encoding: https://github.com/minetest/minetest/blob/2d8eac4e0a609acf7a26e59141e6c684fdb546d0/src/util/auth.cpp#L29-L47
18:33 sfan5 you can take a plain text password, generate the SRP data and use this to reset an users password inside MT
18:33 MTDiscord <SX> What password actually is depends on how it was created / updated, that's SRP detail. It is either SRP derived key (should be this in most cases) or actual password hash (for legacy)
18:34 sfan5 also the code you linked is the legacy password
18:37 sfan5 <AFCM> you have a website allowing users to create an account then they can connect to minetest servers with their credentials and the minetest server will verify them using the web API
18:37 sfan5 ^ if you want to do this I suggest writing directly to the database
18:46 Desour joined #minetest
19:04 MTDiscord <AFCM> what does "write to the database" exactly mean?
19:08 sfan5 open auth.sqlite and write to the `auth` table, changing the `password` column
19:08 MTDiscord <SX> Basically what said earlier: if building custom solution from scratch I would recommend going through direct db connection instead of using mod as a proxy That is, you connect to minetest user/auth db and do whatever is needed like authenticate user or create users
19:10 MTDiscord <AFCM> but isn't sqlite only allowing a single client at a time?
19:12 sfan5 only one client can write at a time
19:12 MTDiscord <SX> btw will engine lock it, no?
19:13 sfan5 sqlite will lock the file during writes
19:16 MTDiscord <SX> well, some things take exclusive lock for software lifetime and prevents anyone else doing anything but that's legacy thing. Just I would not be surprised if there's some legacy involved :p
19:26 erle sqlite is one writer many readers
19:26 MTDiscord <SX> Ofc  sqlite locking is not really that fool proof (because that's not possible with way how sqlite works) so better to have  backups anyway
19:28 erle last time a looked into sqlite code i was irritated to no end though
19:28 MTDiscord <SX> (it could be better to go with postgres anyway for multiple concurrent db clients)
19:29 erle [insert a rant about sqlite 1 based array indexing and UB here]
19:30 erle does sqlite still try to use relational operators to compare pointers? :D
19:54 mrgreymatter joined #minetest
19:58 debiankaios joined #minetest
20:27 fluxionary is there any weird logic for connected textures? trying to register some walls via `walls:register` in minetest_game, and get them to connect to the "regular" version of the node. e.g. a wall version of "default:brick". even after adding "default:brick" to the wall's connects_to list, and adding the "wall" group to "default:brick"'s definition, they still do not connect.
20:30 fluxionary there's examples of something similar working in darkage, but darkage seems to have its own "register_wall" logic that doesn't rely on minetest_game
20:33 fluxionary hm. seems to work if i use `override_item` instead of just mangling the connects_to list directly. *shrug*.
20:39 Krock yes, you must push the definitions to Minetest again
20:39 Krock i.e. minetest-register_item or override_item
20:40 Krock minetest.registered_nodes modifications are Lua-side only
20:44 Talkless joined #minetest
21:06 FreeFull joined #minetest
21:10 ronoaldo joined #minetest
22:00 Sven_vB joined #minetest
22:20 Verticen joined #minetest
22:31 Gustavo6046 joined #minetest
22:33 panwolfram joined #minetest
22:33 Alias joined #minetest
22:56 proller joined #minetest
23:16 Wuzzy2 joined #minetest
23:22 AliasAlreadyTake joined #minetest
23:34 Lesha_Vel joined #minetest

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