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      <Sublayer plank> just realized php 8.1 is planned to be released to general availability today
08:12 MTDiscord      <Sublayer plank> that's coo
08:12 MTDiscord      <Sublayer plank> 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      <SX> > 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     <table> 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/<username>/<name>/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 ¨/<username>/<package>¨ subfolders has, right?
13:36 MiniontobyPI   *already checked*
13:37 rubenwardy     ?
13:37 MiniontobyPI   why is ¨/api/packages/<author>/<name>/ (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 <name> in the packages/<username>/<name> is always lowercased, right?
15:23 MTDiscord      <Warr1024> 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      <Jonathon> : is the override character
19:44 MTDiscord      <Jonathon> so the actual itemstring is mobs:mob_reset_stick
19:44 Bombo          so how do i get that?
19:45 MTDiscord      <SX> 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      <SX> brake-power-brake-power-brake-power :p
23:05 MTDiscord      <SX> Well, I guess it still might not be that consistent...
23:08 ghoti          calcul0n: thanks again (re luacontroller mem)