Time Nick Message 06:05 TempestMancer quick question: does Minetest have any disallowed characters in it's password scheme? 06:07 TempestMancer I implemented a solution where I ripped the SRP auth code out of the Minetest engine and addapted it to be a standalone program that could be run by a PHP script on a web server to allow players to log in as their Minetest server accounts, the only problem with my current approach is that as it has to be executed as a program with command-line arguments, I don't quite have a good solution in place to handle something like the double quote 06:07 TempestMancer (btw, I am doing this to allow players to upload their own player textures to the server without admin intervention) 06:08 TempestMancer once I get the approach perfected, I plan to post the code on my public cgit server for other server owners to use, but again, I want to perfect it first 06:08 Hawk777 https://www.php.net/manual/en/function.proc-open.php suggests you should pass the parameters as an array. 06:08 Hawk777 In which case all characters should be acceptable. 06:08 TempestMancer ah, I didn't see that in the documentation. Thanks! 06:08 TempestMancer that will be very helpful indeed 06:09 Hawk777 On Linux at least, an array is the native way command-line parameters are passed in the kernel. 06:09 Hawk777 So that maps perfectly. 06:09 TempestMancer definitely running my Minetest server on Linux :) 08:05 TempestMancer Hawk777: I ended up adapting it to be a php extension instead of a standalong executable 08:06 TempestMancer that way I don't have to deal with people entering potentially malicious things in for their password (which I would have had to pass into the command as an argument) 08:07 Hawk777 My point was that, if you use an array, you wouldn’t have to worry, because it would be passed verbatim; escaping would not matter. However, up to you; whichever way works best. 08:07 TempestMancer I tried to use an array but it complained that it wasn't a string :/ 08:07 TempestMancer otherwise I would have went that route XD 08:08 Hawk777 Maybe you have an older version of PHP, older than 7.4.0? 08:09 TempestMancer nope, I am using php 8 08:09 TempestMancer at least I think I am... 08:09 TempestMancer oh wait... nope... just a sec 08:09 TempestMancer 7.4.3 08:11 Hawk777 Eh, I dunno then. Years since I’ve actually done any PHP. 08:11 TempestMancer that's fine, it works :) 08:12 MTDiscord just realized php 8.1 is planned to be released to general availability today 08:12 MTDiscord that's coo 08:12 MTDiscord cool 08:15 TempestMancer I wanted some form of rudementary system for players to be able to upload their player textures and a public pgp key (so they can sign an email to me requesting a password reset) 08:17 TempestMancer seems like I have managed to create it XD 09:24 MTDiscord > ripped the SRP auth code out of the Minetest engine and addapted it to be a standalone program that could be run by a PHP script Would be nice to see Javascript SRP implementation used for this, probably did not try that at all? 10:26 MiniontobyPI rubenwardy: https://content.minetest.net/api/homepage/ -> 500 error 10:26 MiniontobyPI ¨Oops! Something went wrong 10:26 MiniontobyPI ¨ 10:27 * MiniontobyPI doesnt have twitter 10:28 MiniontobyPI TempestMancer: I also have that for my servers, but also with 64x64 skins 10:28 rubenwardy that should probably link to https://rubenwardy.com/contact/ tbh 10:28 rubenwardy fixed, MiniontobyPI 10:29 MiniontobyPI Oke 10:29 MiniontobyPI yep works 10:29 MiniontobyPI I am working on tabling the GET request and such 10:30 MiniontobyPI I need to get my dad to connect a computer at home to the internet somehow, so i can grep some code from my own mtmodmaker, so yeah thats why I am doing the handle stuff before the layout stuff 10:31 rubenwardy if you're accessing stuff from JS, make sure not to include the API token in the source code if you're making it public 10:32 MiniontobyPI Yes I know 10:32 rubenwardy if there's demand, I can implement OAuth to allow API devs to get tokens for users securely 10:32 MiniontobyPI i am going to add input for the id 10:32 MiniontobyPI i am going to add input for the token 10:32 MiniontobyPI so you have to insert it 10:32 rubenwardy sweet 10:33 MiniontobyPI and it might save it in the localstorage 10:33 MiniontobyPI but yeah, I am wondering how I can display the homepage api return thing 10:33 MiniontobyPI I cannot put a table inside a table, where we also just only have 1 line and not more lines... 10:36 rubenwardy what do you what to do? 10:36 MiniontobyPI btw is ¨release¨ the actual name of the object of the response to a non GET request? 10:36 rubenwardy is designed for tabular data, not for formatting 10:36 rubenwardy for grids, you should use display: grid or display: flex 10:36 rubenwardy release is an incrementing ID for a release 10:37 MiniontobyPI Oh, so it depends on the request what it will return 10:37 rubenwardy to generate a download link, you need to do `https://content.minetest.net/packages/${author}/${name}/releases/${release}/download/` 10:37 rubenwardy or just use `https://content.minetest.net/packages/${author}/${name}/download/` 10:38 rubenwardy this explains how the Minetest client uses the API: https://github.com/minetest/contentdb/blob/master/docs/minetest_client.md 10:38 MiniontobyPI thanks 10:39 MiniontobyPI pretty cool api btw 10:39 rubenwardy thanks 10:40 rubenwardy updated /api/homepage/ to return more data 11:07 MiniontobyPI Bruh 11:07 MiniontobyPI my function is not getting execute 11:07 MiniontobyPI my function is not getting executed 11:08 MiniontobyPI Oh I didnt edit the correct line 11:13 MiniontobyPI hmm rubenwardy.... ¨GET /api/packages///releases/ (List) 11:13 MiniontobyPI ¨ -> how can this be to get the reviews?? 11:13 MiniontobyPI or is it? 11:13 rubenwardy /reviews/ 11:14 MiniontobyPI it is worng on /help page 11:14 rubenwardy yeah, pushed afix 11:15 MiniontobyPI LOL 11:15 MiniontobyPI I think i might find more soon 11:15 MiniontobyPI will make a list and send it to you then, unless I really need help with it 11:21 MiniontobyPI How many topics are there, BRUH its a list of 5 minutes scrolling.. let me count them.... 11:23 MiniontobyPI 1934 topics 11:23 MiniontobyPI source: JSON.parse($('pre').textContent).length 11:24 MiniontobyPI let me limit that soon 11:26 MiniontobyPI so, all of the api urls from the Topics one to the bottom (at the help page) are all done and dusted.... these ones where the easy ones 11:26 MiniontobyPI Now comes the difficult bit 11:37 MiniontobyPI 11:38 MiniontobyPI rubenwardy: ¨GET /api/topics/ (View): Supports Package Queries, and the following two options:¨ -> does this mean that it uses the option from the ¨package queries¨ and the two options, or does it not have all of the options? 12:10 rubenwardy It supports all package query options and the two other options 12:10 rubenwardy Well, where applicable 12:10 rubenwardy I guess I should explicitly list 12:58 MiniontobyPI Ye.... 12:58 MiniontobyPI I got my code now and now I can start work on the input side, finaly 12:58 MiniontobyPI and my audioserivce is not running for some rreason... 13:25 MiniontobyPI rubenwardy: it is correct that only /api/packages/ the ¨//¨ subfolders has, right? 13:36 MiniontobyPI *already checked* 13:37 rubenwardy ? 13:37 MiniontobyPI why is ¨/api/packages/// (Update)¨ needing PUT and not POST like the other create things 13:37 rubenwardy PUT is when to update a resource and the resource has the same URL 13:37 rubenwardy POST is when you do something that creates a new URL 13:37 MiniontobyPI oh right 13:38 rubenwardy so POSTing to /new/ doesn't update /new/, it creates a new resource 13:38 rubenwardy (remember that URL means Uniform Resource Locator) 13:40 rubenwardy You also POST to order screenshots, you could argue that a PUT would be more appropriate but I went with POST as the order is stored as a number in each screenshot 13:57 MiniontobyPI oke 13:57 MiniontobyPI btw are the query thing able to be used at all GET /api/packages/ urls? 13:58 rubenwardy only ones that state they support package queries 14:15 MiniontobyPI Oke 14:43 MiniontobyPI hmmmmmmm 14:43 MiniontobyPI why does ¨https://content.minetest.net/api/packages/miniontoby/doorbell/dependencies/¨ also show ´dreambuilder_modpack´? 14:44 MiniontobyPI strange 15:14 MiniontobyPI rubenwardy: it is true that the in the packages// is always lowercased, right? 15:23 MTDiscord package technical names do not allow uppercase 15:25 rubenwardy MiniontobyPI: dreambuilder will contain a mod it's looking for 15:25 MiniontobyPI oh 15:25 MiniontobyPI but it is in the main 2 15:25 rubenwardy Make sure to read that markdown document for how minetest resolves dependencies 15:26 rubenwardy Dreambuilder is likely to be the last resort because it prioritises packages with the same name 15:26 MiniontobyPI [0] -> my mod, [1] -> her game 15:26 MiniontobyPI oh 15:26 rubenwardy It's also sorted based on popularity 15:29 MiniontobyPI Oke 15:30 MiniontobyPI I will find a way around it maybe or so 15:30 MiniontobyPI i will see what i can do 15:30 MiniontobyPI wait 15:31 MiniontobyPI [0] = the mods, [1+] = the games/mods where it is in located 15:32 rubenwardy Not sure what that notation means 15:43 MiniontobyPI https://content.minetest.net/api/topics/?limit=10 -> it doesnt limit the request 15:43 * MiniontobyPI going afk now 15:52 rubenwardy fixed 15:53 rubenwardy also updated topic query docs 19:22 ghoti Does the luacontroller 'mem' object withstand a server restart? 19:23 Krock try it 19:24 ghoti I suppose I can set up a test server. Just hoping I could save myself the work to collect just that datum. 19:34 calcul0n ghoti, yes, mem is stored in node's meta 19:42 Bombo how do i get a minetest.register_tool(":mobs:mob_reset_stick", { 19:43 Bombo is that a typo? :mobs: 19:43 Bombo i don't see it in the i 19:43 MTDiscord : is the override character 19:44 MTDiscord so the actual itemstring is mobs:mob_reset_stick 19:44 Bombo so how do i get that? 19:45 MTDiscord try /give 19:46 Bombo ah /giveme mobs:mob_reset_stick wotrked 19:46 Bombo now it's in the inventory 19:47 Bombo and it works ;) 19:52 Bombo hmmm when i change the model.b3d and restart the game it is updated... 19:53 Bombo ah so just the settings are stored in the sql i guess, the tables { "textureyak.png" }, everything after = 19:53 Bombo the files are loaded 19:53 Bombo and can be updated 21:37 Bombo hmmm i made a mob with blender, but it floats like 1m above the ground, how do i land it? visual_size = {x=2,y=2} collisionbox = {-1, -1, -1, 1, 1, 1}, 21:37 Bombo hm can i change it in blender? *test* 21:46 Bombo collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, 21:46 Bombo got it 22:34 cheapie Hmm, I like how getting a cart to run consistently at full speed just requires using powered rails everywhere, but to get it to run at a consistent speed *less* than full speed, it's "hmm... are you any good with control theory and PID tuning stuff?" 23:03 MTDiscord brake-power-brake-power-brake-power :p 23:05 MTDiscord Well, I guess it still might not be that consistent... 23:08 ghoti calcul0n: thanks again (re luacontroller mem)