Time  Nick             Message
01:53 technomancy      does minetest expose any checksums over the lua API?
01:55 technomancy      I see there's a sha1 implementation in the C++, but it's not exposed it looks like
01:57 kahrl            technomancy: it's hacky but you can use minetest.get_password_hash("", text_to_sha1)
01:57 kahrl            a few mods do that already iirc so it's probably not going away
01:57 technomancy      kahrl: oh, perfect
01:57 technomancy      thanks!
02:52 technomancy      holy smokes; who designed lua's io.popen
02:52 technomancy      what idiot thought you should only be allowed to read *or* write from a pipe, but not both
03:02 kaeza            technomancy, probably -> #lua
03:03 kaeza            and yes, it's idiotic
03:05 ekem             bidirectional pipes are not ideal
03:05 ekem             the reason they are left out is because they create a shit ton of problems
03:05 technomancy      ideal or not, they are a basic fact of operating systems
03:06 ekem             only for trivial operations
03:06 ekem             no one uses bidirectional pipes in production, its just not done
03:06 ekem             because of the insane amount of problems you introduce
03:06 ekem             heres a better write up then i will _ever_ produce
03:06 ekem             http://lua-users.org/lists/lua-l/2007-10/msg00189.html
03:07 kaeza            if you need them, you could just create a C lib exposing raw access to `popen`, but whatevs
03:07 ekem             notice how it mentions popen2 isnt even in posix itself?
09:17 JamesTait        Good morning all; happy Monday, and happy Take Your Webmaster To Lunch Day! 😃
11:02 MyTeke_ChrisWMas Lol, Mr.James.
13:29 Calinou          is it possible to speed up server downloads without using remote_media?
13:29 Calinou          ie. increasing max UDP upload speed
13:29 est31            its usually only the first time
13:29 est31            then no download is needed
14:52 Sketch2          Here's a thought for speeding it up: what if media packs were stored on Minetest.net
14:52 Sketch2          When a server registers as public, a directory is set up to keep a current version of the cache files.
14:52 Sketch2          When you log into a server, the first thing it does is check that repository to get the files,
14:52 Sketch2          then it'll log into the server without bogging it down.
14:54 Sketch2          I know some have uploaded their cache files as Zips that you download and unpack yourself, but I'm saying automate the whole process.
14:57 Sketch2          I would imagine the bandwidth available on minetest.net is much greater than some of the smaller game servers out there.
15:02 Calinou          it's problematic: legality, security, maintainability
15:02 Calinou          and too centralized
15:04 Sketch2          Thy are already putting their trust into it by reporting that they are public
15:04 Sketch2          I don't see how storing a few files on the server is much different
15:05 Calinou          what if someone hosts objectionable media on their server?
15:05 Calinou          and uploads it to minetest.net?
15:06 Sketch2          I get what you're saying, but it's not like storing it does anything to the site
15:06 Sketch2          it's just a place to hold onto it
15:07 Sketch2          like a bank vault
15:07 Calinou          if it's not encrypted and minetest.net knows the key, they are legally liable
15:07 Sketch2          banks aren't affected by what's in their vaults
15:08 Sketch2          ok, well if that's the issue, encrypt it
15:08 Sketch2          it doesn't need to be anything fancy, just a simple password on a zip
15:09 Calinou          very easy to crack.
15:09 Sketch2          when the site registers as public, the owner provides a password
15:10 Calinou          it is pointless if minetest.net gets to know the encryption key anyway
15:10 Calinou          let's just forget about this, and stick with decentralized remote_media
15:10 Sketch2          we aren't talking about credit-card transactions, who really cares if they are opened
15:10 Calinou          we just need a damn tutorial to set it up
15:10 Calinou          it's nowhere documented!
15:10 Calinou          Sketch2, do you want celeron55 to go to jail?
15:10 Sketch2          I thought you'd like the idea
15:14 Sketch2          There's a lot of kids who wouldn't know how to do it
15:15 Calinou          then we should provide helpers and documentation to host remote_media on their own server
15:15 Sketch2          especially what with tablets logging on nowadays
15:15 Calinou          not on minetest.net where we are liable for what they upload
15:15 Calinou          you can host a Web server on a mobile device, it's tricky but possible, and I wouldn't advise it
15:15 Calinou          you'd need port forwarding probably, and most ISPs don't allow forwarding port 80
15:16 xenkey           Mine did
15:16 Sketch2          no no, I'm not saying host it on a mobile device.  I'm saying that users join in from mobile devices
15:16 Sketch2          it's tricky for them to download media caches
15:16 xenkey           I'd suggest using ssh -R (look it up)
15:16 xenkey           oh
15:16 xenkey           Like that uh
15:16 xenkey           Run nedia
15:16 xenkey           sorry
15:17 xenkey           Run media.sh and upload the files somewhere
15:17 Sketch2          that sounds right
15:17 xenkey           I think it's in sfan5's gist page
15:18 sfan5            https://gist.github.com/sfan5/6351560
15:18 Sketch2          yeah, it wouldn't need to be on minetest.net, if you're that worried about it
15:18 Sketch2          but maybe when the admin registers a page, there can be a dropbox link that it pulls from or something along those lines
15:21 Sketch2          ok, so yeah, glad the idea is being thought about.  Sorry if I upset you Calinou.  Just brainstorming.
15:21 Calinou          that's not proper documentation
15:21 Calinou          it doesn't document the whole process about dependencies, Web servers...
15:21 Calinou          and Windows support
15:21 Calinou          (which is secondary, but that we still should have)
15:22 sfan5            what is not proper documentation?
15:22 Calinou          something on the wiki would make sense
15:22 Calinou          I've never set up remote media successfully so I can't vouch for it
15:23 Sketch2          It would to people who are tech-savvy, but Minetest is a game, that goes to kids
15:23 Sketch2          kids have no idea how to do these things
15:26 Sketch2          I've got a 10 year-old that plays Minetest on his tablet.  I wouldn't ask him to download a cache file and unzip it on his tablet for every server he tries.
15:27 Sketch2          I wouldn't ask you to, and you know how.
15:27 Sketch2          Because that's doing too much.  You want to log in and play.
15:29 Sketch2          Just saying that the game servers could run faster if their media files were remotely cached.
15:29 Sketch2          It makes sense to me.  If you like the idea, that's cool.  If not, let's talk about it.
15:38 sfan5            uh
15:38 Calinou          Sketch2, you do realize people can host their own remote_media server, which can be used if the client supports cURL?
15:39 Calinou          we've had this since Q1 2013
15:39 Calinou          it's just a Web server
15:39 Calinou          akin to Web map download in Quake-likes
15:39 Sketch2          ok, so my point is: why isn't it automatic?
15:40 Sketch2          it's not something you can easily do on a tablet
15:40 sfan5            automatic?
15:40 sfan5            the clients don't need to do anything
15:40 Sketch2          that's why I bring it up
15:40 sfan5            all you need is a server host that has this set up
15:44 Sketch2          ok, so as Calinou is saying, is this feature documented?
15:44 Calinou          not really, and that's what I'm complaining about
15:44 Sketch2          I don't remember reading about it.
15:44 Sketch2          ok, ty.  Then we're on the same page.
16:30 Wuzzy            Hybrid Dog just claimed you can dig almost every dig only by using a “modified client” (haha, nice euphemism).
16:30 Wuzzy            you can dig almost every block*
16:30 Wuzzy            Is this true? Is the server really this dumb?
16:31 Sketch2          I believe it.  free pizza server had people breaking blocks they shouldn't be able to
16:31 Sketch2          I stopped going there, because I thought it was a faulty mod, but that makes sense
16:31 Wuzzy            for instance ...?
16:31 Wuzzy            what blocks did they break?
16:32 Sketch2          I had a half a doz fridges full of cobble and an elevator set up by spawn
16:32 Sketch2          they broke 'em both, even though the fridges were full of cobble
16:34 Wuzzy            I don't know those mods, it could also just be the mod is buggy and did not handle all corner cases; and the players simply found a loophole
16:34 Sketch2          I thought it was the lightsaber mod that was buggy
16:34 Wuzzy            what is the lightsaber?
16:34 Sketch2          because that's what the kid had that was chasing me, moments before my friges disappeared
16:35 Wuzzy            is it a “break everything” tool?
16:35 Sketch2          it's not supposed to
16:35 Wuzzy            what *should* it break?
16:36 Sketch2          stuff that normally breaks?
16:36 Wuzzy            *sigh*
16:36 Sketch2          lols
16:36 Wuzzy            This is not helping. I'm searching the mod for myselves.
16:36 Sketch2          I'm sorry.  I didn't look at the source of it
16:37 Wuzzy            how is the mod called?
16:37 Wuzzy            or the item?
16:37 Wuzzy            just “lightsaber”?
16:37 Sketch2          most likely.  I can look
16:38 Sketch2          Laser sword  [laser_mod]
16:39 Sketch2          well, I think that's it, but it must have been modded, because there was more than 1 color
16:42 Wuzzy            oh
16:42 Wuzzy            well, the original mod is very simple
16:42 Wuzzy            it just breaks crumbly, snappy and cracky
16:42 Wuzzy            so this mod clearly can't be the cause
16:42 sfan5            are you sure?
16:43 CWz              my house is now OS diverse. we got Windows, Linux and now PCBSD(freebsd based)
16:43 Wuzzy            yes, this is the entire source code: https://github.com/Roberto5/laser_mod/blob/master/init.lua
16:43 AnotherBrick     and couple of androids i guess?
16:43 Sketch2          I'm seeing another called starwars that has 3 color lightsabers.   I'd have to check the server and bring up a list of mods to be certain.
16:43 Sketch2          1 moment please
16:46 Sketch2          it's called   laser_mod   on the server, so yeah, I'm guessing it's a fork
16:48 Sketch2          there's  blue, green, red, & yellow there
16:48 Sketch2          crated with glass, dye, and mese crystal.  if that helps
16:49 Sketch2          I don't know that it was that particular mod, I just know the kid chasing me had one.
16:50 Sketch2          As wuzzy said, if there's a client out there that's breaking breaking bricks, that coulda been it.  I just hadn't thought of it as the time.
16:51 Sketch2          * at that time.
17:02 Sketch2          they were in protected areas
17:05 Sketch2          I dunno, spawn is a mess over there.  whoever is doing it is just blasting through protected blocks like it's nothing
17:06 Sketch2          well, the spawn pizza is ok, but the area right around it is a mess
17:07 Sketch2          so someone over there has some ability they shoudn't.  admin pick or something like that
17:40 * VanessaE       peeks in
17:40 Sketch2          hiya V   :)
17:41 VanessaE         Calinou: actually were such a centralized server to be hosted in the US, the DMCA would at least guard against copyright claims ("Safe harbor" provision, under the assumption that the host remove files on receipt of a DMCA notice).  Not at all good for "illegal" files though.
17:41 VanessaE         hey hey Sketch2, long time no see
17:43 Sketch2          Yeah, that sounds right.  There could also be a waiver or something to that effect, that the contents are the responsibility of the owner, not the website.
17:45 Calinou          those waivers don't have an unlimited scope and effect
17:47 est31            I think its stupid to have a centralized media server
17:47 est31            I mean, why not run the whole server business centralized?
17:47 Sketch2          it doesn't have to be centralized, just the addy's
17:47 Sketch2          that's what the public list is for
17:48 est31            the public list is to give a list of servers, not to donate media download bandwidth
17:48 Sketch2          well, even that doesn't have to be centralized
17:49 est31            it isnt
17:49 Sketch2          but I like the idea that the people can get the media before logging on
17:49 est31            you can set your own custom list url in the client
17:50 Sketch2          eh, it's so hard to talk in forums.  I'm not saying the list doesn't have to be centralized.  I'm saying the media-files don't have to be
17:50 Sketch2          they can be stored anywhere, so long as the client can automatically D/L them before connecting
17:51 Sketch2          so the game server can concentrate on gaming performance
17:51 Sketch2          and the media server can just send media files
17:54 est31            Sketch2, you can do that already now
17:54 VanessaE         Calinou: in maptools, is there a block you can only pass through if you have interact?
17:54 est31            and I think VanessaE does it, ask her how to set it up
17:54 Calinou          VanessaE, nope, impossible
17:54 VanessaE         damn.
17:54 VanessaE         ok
17:55 Calinou          would require client-side modding I guess
17:55 VanessaE         est31: yeah, I have a remote_media server.  it's not TOO complex, but it's more complicated than any noob is ever going to figure out
17:56 VanessaE         but then again I host everything on my own box, so I have to manage nginx, bind, etc. also
17:56 Sketch2          people keep telling me it's possible, but undocumented.  maybe we could pass that info along
17:56 Calinou          I'd like to host remote_media
17:56 Calinou          for my hunger games
17:57 est31            somebody sould add it to some wiki page
18:00 VanessaE         step 1:  establish a place to host the media.  2: establish a web server there to actually serve it.  3: copy all your jpg, png, obj, x etc files into the directory you're serving from.  4:  put this in your server's config: remote_media = <url for that directory>
18:00 VanessaE         it's step 2 that's the hard part.
18:01 TBC_x            how are the media files distinguished anyways? path?
18:01 VanessaE         TBC_x: by filename, or you can use another method where they're distunguished by hash
18:02 TBC_x            so the client won't be downloading the universe when connecting to another server with similar mod set?
18:02 Calinou          don't you need to use collectstatic.sh?
18:03 Sketch2          As I understand it, that's right TBC_x
18:04 TBC_x            great
18:06 VanessaE         yes, so long as the files have the same hash from server to server, the client will just re-use what it has
18:06 VanessaE         Calinou: is that sfan5's index.mth script ?
18:06 sfan5            VanessaE: yes
18:07 VanessaE         this also needs added to wherever the process will be documented then.
18:07 sfan5            Calinou: what VanessaE describe is the deprecated way (not even sure whether it still works), it requires the client to download every file just to see whether they match and it should not be used anympre
18:07 sfan5            anymore*
18:08 VanessaE         sfan5: it still works fine, yes.
18:08 VanessaE         deprecated though it may be, it's possible to use that method without involving a script that no one can seem to find.
18:09 Sketch2          I agree, it's not deprecated until it's in the public that there's something better available
18:09 TBC_x            it needs more sophisticated resource loader IMHO
18:09 sfan5            why?
18:10 Sketch2          you have to let people know what the tools are so they can use 'em
18:10 sfan5            VanessaE: it was always on some page of https://gist.github.com/sfan5 i do agree that it needs to be documented in the wiki however
18:11 VanessaE         sfan5: that's just it, a noob will never think to look there :P
18:11 VanessaE         (among your gists I mean)
18:11 Sketch2          right.  I've never heard of it, and I'm not a complete noob either
18:12 Sketch2          It's great that you make it, but people have to know it
18:28 Sketch2          so collectstatic.sh basically does step 1 for you, and then creates a hash for the whole directory?
18:29 Sketch2          by "step 1"  I mean, that it collects all the files into 1 directory, like VanessaE said.
18:29 VanessaE         well step 3 in my example.
18:29 VanessaE         step 1 means to get a shared hosting account or VPS or dedi or something
18:29 Sketch2          oh, sorry, yeah.  I read that wrong.  you're right
18:30 VanessaE         step 2 means to set up your web server and point it at a directory
18:30 Sketch2          I guess I'm just trying to figure out what sfan5's script does
18:30 sfan5            it collect all the media
18:31 sfan5            and renames it to the sha1 hash of the file contents in the process
18:31 Sketch2          so mth is a master hash table so that the client doesn't have to download the files, jsut look 'em up in there?
18:33 Sketch2          if they match, all is good, if not, THEN it'll download the updated file.  Am I reading it right?
18:33 Calinou          can we document all methods please? and say which one is the most suitable for general use?
18:33 sfan5            the old method is deprecated
18:34 sfan5            not officially
18:34 Calinou          so we should use collectstatic?
18:34 sfan5            but it has a few drawbacks
18:34 Sketch2          I like sfan5's idea, if I'm reading it right
18:34 sfan5            which is why there is the new method
18:34 sfan5            Sketch2: it's not an idea, it's already implemented since probably a year now
18:34 sfan5            Calinou: yes
18:34 Sketch2          ok, it's just never been explained to me
18:35 sfan5            <Sketch2> if they match, all is good, if not, THEN it'll download the updated file.  Am I reading it right?
18:35 sfan5            not exactly
18:35 sfan5            the server gives the client the sha1 hashes of media the client needs
18:35 sfan5            the client downloads index.mth which is a list of all media files on the remote media server
18:35 Calinou          https://gist.github.com/sfan5/9586533
18:36 Calinou          it would be nice to have this in Minetest core... ::
18:36 sfan5            then the client checks whether the media he needs is in index.mth, if yes he downloads it via http
18:36 Sketch2          right, that's how I read it.
18:36 VanessaE         indeed, if it's tried and tested, it needs to be included with minetest.
18:36 sfan5            if not he downloads it using the minetest protocol (which is slow)
18:36 sfan5            ofc the client does not do any of that for media files that are already in the local cache
18:37 Calinou          your collectstatic.sh does not cache .obj
18:37 sfan5            ~/.minetest/cache
18:37 Calinou          or .md2, or .jpg
18:37 Calinou          which we all support
18:37 sfan5            Calinou: irrlicht supports waaay more formats but I'm going to add those you mentioned
18:38 sfan5            <Calinou> https://gist.github.com/sfan5/9586533    <Calinou> it would be nice to have this in Minetest core... ::
18:38 sfan5            ofc it would
18:38 Sketch2          this could speed up server load time quite a bit.
18:38 sfan5            but the coredevs would need to merge the patch then
18:38 Calinou          I'm generating index.mth for my hunger games server
18:42 Calinou          sfan5, does remote_media line require a trailing slash?
18:42 Calinou          I'm putting one
18:42 sfan5            uh no idea
18:42 sfan5            it shouldn't require one
18:42 sfan5            but adding one cant hurt
18:43 Calinou          wow it works!
18:43 Calinou          so much faster to load
18:43 Calinou          thanks a lot for this script
18:46 sfan5            Calinou: is obj or md2 even used by mods?
18:47 Calinou          .obj is used by moreblocks and slope_test
18:47 Calinou          md2 is used by Quake 2 nostalgics :)
18:47 Calinou          it is supported by Minetest's meshnode code
18:48 sfan5            is b3d used in any mods?
18:49 Sketch2          I think blender files are in some mobs
18:49 sfan5            blender files are high-level stuff
18:49 Sketch2          I could be mistaken tho.  maybe they are converted.
18:49 sfan5            irrlicht does not read blender files
18:49 sfan5            they need to be converted first
18:50 VanessaE         sfan5: no offense, but your script needs improvement
18:50 sfan5            ok
18:51 exio4            which script?
18:51 sfan5            https://gist.github.com/sfan5/6351560
18:51 Calinou          b3d is not blender files
18:51 Calinou          it's blitz3d
18:51 Sketch2          I realized that right after I typed it
18:52 Sketch2          sorry.  I use blender, I should know better
18:52 VanessaE         not much though; you shouldn't hardcode the game and path, those should be taken from a commandline arg.  And, you should write your files to a temp dir first and rsync them to the desired target.
18:52 sfan5            >you shouldn't hardcode the game and path
18:53 sfan5            sorry for forcing you to open an editor >.>
18:53 sfan5            also why should i use a temp dir first?
18:53 VanessaE         suddenly:  multiple servers.
18:53 VanessaE         (with different game folders)
18:54 Sketch2          I agree that the path shouldn't be hardcoded if this were to be included.
18:54 VanessaE         and rsync to minimize the amount of time spent with differing or invalid files when you're doing some big update.
18:54 sfan5            invalid files?
18:54 VanessaE         i.e. if you'd normally rm -rf the target path and copy new files in, to about keeping duplicate old files around.
18:55 sfan5            also files won't change
18:55 VanessaE         sure they will
18:55 sfan5            no
18:55 VanessaE         files changes -> hash changes
18:55 sfan5            yeah
18:55 VanessaE         then you have old files laying around
18:55 sfan5            hash changes -> filename changes
18:55 VanessaE         yes
18:55 sfan5            the file contents will never change
18:55 sfan5            you'll have a new file
18:56 VanessaE         what about the old files?
18:56 sfan5            they stay
18:56 VanessaE         exactly.
18:56 sfan5            unless you remove them first
18:56 VanessaE         they're obsolete.
18:56 Calinou          maybe we can move to Python, so that the script is cross-platform
18:56 VanessaE         hence use rsync.
18:56 Calinou          (-:
18:56 sfan5            Calinou: file operations and such stuff are horrible in python
18:57 VanessaE         the script I use for this purpose takes care of that.  it never leaves old files hanging around in in the target dir.
18:58 VanessaE         also speed.  temp dir could be in /dev/shm or something, rsynced to the live dir in one quick blow.  When you push ~50 MB of image data at a time, that DOES matter a bit.
18:59 sfan5            i don't see how this script can be a bottleneck for anything
18:59 sfan5            it's not like you need to do it once per startup or every n hours
19:00 VanessaE         actually, I run my upload-files script a few times a day.
19:00 VanessaE         on an active server, there's always someone needing a skin updated or something
19:03 VanessaE         (the same script calls my update-worldmods script, the one I use in lieu of yours)
21:52 kaeza            Greetings
21:53 Sokomine         hi
22:14 BoppreH          Hi guys
22:14 BoppreH          I think there's a problem with the dev wiki
22:14 BoppreH          Account creating errors out saying it's missing some hidden code, and changing pages asks me to select non-existent cat photos
22:15 BoppreH          Tried with both firefox and chrome, with and without extensions
22:15 BoppreH          More specifically, page edition says: "To help protect against automated edit spam, please select just the cat photos in the box below: [nothing]"
22:16 BoppreH          And account creation: "Incorrect or missing confirmation code. "
22:17 BoppreH          Both cases look like missing the authentication system. Web console says "asirraState is not defined" in some javascript.
22:19 est31            BoppreH, you have to ask here, people here have the power to give you accounts
22:19 est31            Try /msg Tesseract , he can create accounts
22:20 est31            with your mail address
22:25 BoppreH          thanks
22:26 BoppreH          Maybe the wiki should mention that?
23:45 DN               Hello
23:45 DN               I'm looking for help with "Animals" mod, any1 familiar with it?
23:49 blaaaaargh       DN, don't ask to ask, just ask.
23:50 DN               /mobf command rarely works. 2. When it works and I check the "Enable secondary spawing" I get an error msg   "ACTION[main]: MOBF: failed to open world specific config file 17:23:17: ERROR[main]: MOBF: failed to swap old conf file to new one