Minetest logo

IRC log for #minetest-dev, 2013-12-17

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

All times shown according to UTC.

Time Nick Message
00:00 BlockMen kahrl, its somehow related to narrow_to_wide but i dont know exactly what the problem is
00:03 BlockMen ehmm..nvm
00:03 BlockMen i found it
00:03 BlockMen lol
00:04 BlockMen sometime i think im blind
00:05 BlockMen *and stupid ^^
00:08 kahrl heh, I see it too
00:09 BlockMen https://github.com/BlockMen/minetest/commi​t/2c68ad040260a9b99b5ccfb76f5bba907db93062 :P
00:09 BlockMen i gonna push now
00:09 kahrl nobody noticed that for how many years now?
00:09 kahrl hold on
00:09 BlockMen y?
00:10 kahrl there are lots of other instances of "> 1" in guiFormSpecMenu.cpp
00:10 kahrl well, I count 3
00:11 kahrl (including the one you fixed)
00:12 BlockMen found them
00:12 BlockMen anything else to fix?
00:12 kahrl not that I know of
00:12 BlockMen then i have permission to push now?
00:13 Megaf https://forum.minetest.net/vie​wtopic.php?pid=122259#p122259
00:13 kahrl BlockMen: yup
00:16 BlockMen done and im going bed now. bye
00:16 BlockMen left #minetest-dev
00:24 VanessaE LazyJ mentioned a minor oversight:  I didn't add any kind of logging output to the rotate_and_place() call...but I wonder, should I be logging the place event there, or should that be set_node()/add_node()'s job?
00:25 VanessaE he noticed this when checking his logs for a grief action, before being informed of how to use rollback check
00:25 VanessaE (he had already cleaned up the mess by the time he reported it)
00:35 Exio4 https://github.com/minetest/minetest/issues/1052
00:38 werwerwer_ joined #minetest-dev
01:04 VanessaE is it safe to say that 0.4.7 is end-of-life?
01:23 Megaf can someone help us with this? https://github.com/minetest/minetest/issues/1058
01:26 Megaf I'm going to sleep, good night all
01:27 iqualfragile night meg
01:30 us`0gb joined #minetest-dev
01:30 us`0gb joined #minetest-dev
02:35 Taoki https://github.com/minetest/minetest_game/pull/232
02:35 Taoki And now I need to head off. Later
02:37 VanessaE Taoki: wait!
02:37 Taoki It's late and I need to run, sorry
02:37 VanessaE [okay.png]
02:38 Taoki Don't worry, I'll look into anything else tomorrow
02:38 VanessaE wait
02:38 VanessaE does this have 4x4/5x5 benches?
02:38 VanessaE add those.
02:38 VanessaE replicate darkrose's mod
02:38 VanessaE we need this in mt_game
02:39 Taoki VanessaE: Bad idea for official minetest_game. It only adds a 3 x 3 workbench like in MC
02:39 Taoki Mods can add those though
02:39 VanessaE trust me
02:39 VanessaE we need it
02:39 VanessaE users won't install a workbench mod
02:39 VanessaE I have tried and tried and tried
02:39 Taoki IMO not for minetest_game officially. But if anyone wants that, they can add it later
02:39 VanessaE modders refuse to support
02:39 VanessaE it needs to be in mt_game or it's a dead idea.
02:39 VanessaE we need 4x4/5x5 recipes
02:39 VanessaE now.
02:40 Taoki If such a recpie is ever added or suggested, I can personally make such a larger workbench. But not now please
02:40 Taoki It would be useless now anyway
02:40 Taoki I can do it later if it's needed
02:42 Taoki Even this needs a lot of testing and I'm not sure if all the developers will agree (due to the whole "making minetest like Minecraft" idea). We'll see later ok?
02:43 Taoki And now I really need to go, laters
02:45 VanessaE ok
03:02 VanessaE commented in the github issue.
03:06 ShadowNinja The new-world-sqlite-rollback issue seems to be a error emmited by SQLite. It can't create the DB.
03:09 VanessaE what happens if one touch'es the file first?
03:32 zat1 joined #minetest-dev
03:43 ShadowNinja That would probably cause a read error. (File is not a sqlite db)
04:07 * ShadowNinja waves https://gist.github.com/ShadowNinja/7953481 around
04:12 IceCraft joined #minetest-dev
04:53 OldCoder joined #minetest-dev
05:09 Miner_48er joined #minetest-dev
05:12 werwerwer joined #minetest-dev
05:30 Miner_48er joined #minetest-dev
05:31 djdduty joined #minetest-dev
05:31 djdduty joined #minetest-dev
05:52 Weedy_lappy joined #minetest-dev
06:38 blaaaaargh joined #minetest-dev
06:41 darkrose joined #minetest-dev
06:44 thexyz VanessaE: no shit users don't care about compatibility; what they care about is the ability to play on servers they want to
06:45 VanessaE thexyz: indeed so, to wit:  https://forum.minetest.net/vie​wtopic.php?pid=122219#p122219
06:46 VanessaE (I can only guess that's his reasoning)
06:47 VanessaE but users also care that they can download mod $foo and it just works
06:47 thexyz blah blah blah blah
06:47 thexyz don't want to update for whatever reason
06:47 thexyz blah blah blah
06:47 Kray joined #minetest-dev
06:47 thexyz ^ this is what it looked like
06:48 VanessaE yeah but look closer:  he has 0.4.7 as well.
06:48 VanessaE anyway, his is a perfect example of your argument, taken to the extreme
08:17 specing lolol
08:17 VanessaE ?
08:19 specing Somebody tell that 0.4.6 dude that it will work on windows XP :P
08:19 specing do it, for the lulz
08:40 Akien joined #minetest-dev
09:33 Akien joined #minetest-dev
09:37 darkrose joined #minetest-dev
09:42 jin_xi joined #minetest-dev
09:57 Taoki joined #minetest-dev
10:04 Akien joined #minetest-dev
10:38 VanessaE um
10:38 VanessaE why does the minetestserver spin at 100% CPU just to send data at 44 kbps to a client, when that data is actually coming from a remote_media server?
10:38 VanessaE wtf?
10:39 VanessaE this is the source of the sign-on lag I've been seeing.
10:39 VanessaE is the minetestserver actually hanging/deadlocking while it waits for the client to say "yay!  I'm all done!" or something!?
10:40 VanessaE and yes, I am absolutely certain it is coming from the remote_media (in my case, nginx).  I've tested it myself (30 seconds to receive 35 MB, of which roughly half of that time was spent waiting for the login to complete)
10:40 VanessaE what's the deal here?
10:41 VanessaE HA!
10:41 VanessaE [12-17 05:40] <kaeza> o crap
10:41 VanessaE [12-17 05:41] <kaeza> forgot I have CURL support disabled
10:41 VanessaE that makes it even worse, so it IS coming from the minetest server.
10:41 VanessaE so minetestserver has to spin at 100% CPU on a 2.6 GHz Xeon to send 44 kbps?  wtf?
10:42 VanessaE I know the code's a little slow but this is just plain wrong on every level.
10:42 Exio4 Xeon? :P
10:43 VanessaE well it wouldn't matter if it was a Pentium 1 (if they could have run at that speed).
10:44 VanessaE hell even my C64 can serve network data at that speed, that's only 5 kBytes/sec and that machine has a 1.02 MHz 6502
10:44 Exio4 haha
10:49 VanessaE I'm not gonna let up on this, guys.
10:49 VanessaE wtf?
10:49 VanessaE this is suitable for low-end machines, and scalable to tens of users at a time?
10:52 proller joined #minetest-dev
10:53 diemartin joined #minetest-dev
11:20 smoke_fumus joined #minetest-dev
12:00 iqualfragile joined #minetest-dev
12:16 Megaf joined #minetest-dev
12:23 Akien joined #minetest-dev
12:32 iqualfragile https://github.com/minetest/minetest/issues/1059
12:32 VanessaE https://forum.minetest.net​/viewtopic.php?pid=121980
12:33 VanessaE get my updated version which also restricts all-numeric nicknames
12:34 VanessaE if I could find a way to test reliably for gibberish all-random-characters nicks I'd add that too
12:34 VanessaE but that's all but impossible
12:35 ImQ009 joined #minetest-dev
12:35 celeron55 if it's all but impossible, then it should be possible, right?
12:36 VanessaE celeron55: I guess that's an americanism
12:36 celeron55 maybe you should voluntarily speak logically
12:37 VanessaE drop "all but" and you get the more common meaning
12:37 VanessaE it's impossible to make such a test
12:37 VanessaE (it'
12:38 celeron55 well, it's probably possible, but maybe not worth the effort
12:38 VanessaE (it's usually used to mean "so very nearly X" that it may as well be X)
12:38 VanessaE exactly.
12:39 celeron55 doing it might actually be pretty fun
12:39 VanessaE an additional proposal for this little mod was to filter out vulgar nicks via a dictionary search
12:39 VanessaE might be easier :P
12:39 celeron55 just do a huge testcase collecting hundreds of "good" and "bad" and self-typed random gibberish and code until it works 8)
12:41 VanessaE too lazy to attempt :)
12:42 celeron55 plug a spam filter to minetest to do that 8)
12:42 VanessaE lol
12:42 VanessaE now THAT would be interesting
12:42 VanessaE Bayesian filter, anyone?
12:43 VanessaE or whatever they're using these days
12:50 bas080 joined #minetest-dev
12:51 iqualfragile joined #minetest-dev
13:20 Zeitgeist_ joined #minetest-dev
13:20 Zeitgeist_ joined #minetest-dev
13:26 VanessaE celeron55: you may wanna take a closer look at the media sending code in the server.  everyone knows it's slow, blah etc, but there's a problem - it's also causing massive CPU usage on the server.  as in locks the server at 100% while transmitting the media, if the receiving client has no cURL support
13:27 VanessaE total deadlock relative to all other clients.
13:29 proller it already was solved in fm ;)
13:29 VanessaE proller: perhaps, but fm has memory usage issues.
13:29 proller also + very fast transfer to clients
13:29 proller now it already fixed
13:30 Exio4 you didn't post any pull requests in main mt
13:30 Exio4 what FOSS guy you are
13:30 proller and it was adjustable
13:30 VanessaE Exio4: ehm, don't go there.
13:30 Exio4 aw
13:30 celeron55 yeah lol sure i will if someone has already done it but just wants to keep it to themselves
13:34 thexyz non-foss? do you expect us to always spoonfeed everyone incapable of looking at the commit log?
13:34 thexyz he probably isn't going to post pull requests because all previous ones were ignored; and I don't really feel like arguing about it one more time
13:34 Exio4 i guess i should have used <troll> and </troll> around
13:35 celeron55 >all previous ones
13:35 Gethiox joined #minetest-dev
13:36 thexyz okay, not all
13:37 hmmmm joined #minetest-dev
13:46 VanessaE bbl
13:46 zat joined #minetest-dev
14:09 NakedFury joined #minetest-dev
14:26 Gethiox joined #minetest-dev
14:30 diemartin joined #minetest-dev
15:11 e1z0 joined #minetest-dev
15:42 proller joined #minetest-dev
15:42 troller joined #minetest-dev
15:49 leo_rockway joined #minetest-dev
16:08 harrison joined #minetest-dev
16:12 troller joined #minetest-dev
16:13 harrison joined #minetest-dev
16:15 proller joined #minetest-dev
16:24 proller joined #minetest-dev
16:49 PilzAdam joined #minetest-dev
16:52 Jordach joined #minetest-dev
17:03 leo_rockway joined #minetest-dev
17:39 PilzAdam ShadowNinja, dont add fixes to the changelog that fix stuff that was broken after the last release
17:50 ShadowNinja PilzAdam: Oh, I didn't realize, which one?
17:51 PilzAdam BlockMen's MSVC fix, maybe others too
17:51 ShadowNinja PilzAdam: The order was changed after 0.4.8 and then back?
17:51 PilzAdam yes
17:52 ShadowNinja Oh, it's in httpfetch.
17:52 ShadowNinja I think everything else was broken in 0.4.8.
18:03 Calinou joined #minetest-dev
18:04 PilzAdam ShadowNinja, https://gist.github.com/PilzAdam/8009690
18:05 ShadowNinja PilzAdam: Can you get something like that into astyle-dev? (Obviously with a setting rather than hardcoding it)
18:05 Zeitgeist_ joined #minetest-dev
18:05 Zeitgeist_ joined #minetest-dev
18:09 ShadowNinja hmmmm: I have a santa model now. It's built on SamII and is built into the model. See https://forum.minetest.net/vie​wtopic.php?pid=122153#p122153 What do you think? (And to anyone else that it may concern)
18:10 Warr1024 joined #minetest-dev
18:13 PilzAdam ShadowNinja, I dont have a sourceforge account, so I cant add it to their bug tracker
18:14 ShadowNinja I think kaeza has one...
18:15 kaeza ?
18:16 ShadowNinja kaeza: Astyle indents function arguments to the ( of the function using spaces. It should have a option to indent one or two tabs.
18:17 kaeza PilzAdam, create an account?
18:18 PilzAdam meh
18:19 OldCoder joined #minetest-dev
18:22 Taoki PilzAdam: minetest_game is still very basic and lacks most features to make for an exciting gameplay. If there's really a decision to no longer add anything to it, that's saddening. I don't see Minetest getting much further out-of-the-box, although engine improvements for other games will make more possible
18:23 PilzAdam Taoki, dont mix Minetest and minetest_game
18:24 Taoki I know. Minetest is the engine. But minetest_game is the game it ships with, which most people will use
18:24 PilzAdam then lets ship Minetest with other games
18:25 Warr1024 what are the criteria for changes or new features making it into minetest_game anyway?
18:25 Taoki That's... actually a good idea. Not sure if officially it should become a nexus of multiple unrelated games, that might confuse some people. But that wouldn't be a bad thing yes
18:25 Warr1024 I'm working on a completely un-minetest_game-like game myself, as it is.
18:25 Taoki PilzAdam: In this case however, minetest_game should probably replace minimal_game. Overall, the two still aren't very different from one another
18:26 PilzAdam eh, they differe a lot
18:26 Taoki Warr1024: Oh, I have plans for a game of my own myself. For now I'm still waiting though
18:26 Warr1024 Taoki: whatcha waiting for?
18:26 Taoki For engine improvements, and to finish some of my mods
18:26 Warr1024 ah
18:26 PilzAdam Warr1024, I do too; and more people should do that
18:26 PilzAdam where is your game?
18:27 Warr1024 I'm sort of remaking X-COM in the MT engine.
18:27 Taoki Anyway, I think a workbench might be a nice last thing to add to minetest_game. Though if all the devs say no, I won't cry about it
18:27 Taoki Can easily do as a mod as well
18:27 Warr1024 the nice thing about minetest_game is that it offers a common base that a lot of mods can build against.
18:27 Warr1024 makes it easier for server ops to mix and match mods that they like.
18:28 Warr1024 games are generally not mixable.
18:28 PilzAdam Warr1024, thats one more reason to not change this base too much
18:28 Taoki Warr1024: true true
18:28 PilzAdam e.g. a 2x2 crafting grid will "break" a lot of mods
18:28 Warr1024 and anyone writing a mod against a non-minetest_game-game is both limiting their audience, and becoming more dependent on the likely smaller dev team of that game.
18:28 Warr1024 maybe you could just do a 3x3 built-in grid, and a 4x4 workbench?
18:29 Taoki PilzAdam: Actually I didn't know minetest_game is intended as a base. I thought it aims to grow into a full game with lots of items and scripts and mobs and things to do
18:29 Taoki That explains why you never planned to add the mob framework to it either...
18:29 PilzAdam Taoki, well, just look at the current situation
18:29 PilzAdam whatever you do many people will cry about it
18:30 Warr1024 a full game is a good base on which to build mods.
18:30 Taoki Yeah. It's not a good situation when a lot of people want something and a lot of others don't want that something as badly
18:30 Taoki Usually that's solved by adding a setting about it. But such doesn't always work
18:30 Warr1024 i.e. modders don't feel the need to fill in too many gameplay holes, and can just focus on what they want to do...
18:31 PilzAdam a mod is kinda like a "setting"
18:31 Warr1024 though it'd be nice to have more hooks for disabling stuff, like unregistering abm's or recipes at runtime.
18:31 Taoki true
18:31 PilzAdam and with the modstore you get a nice GUI for it too
18:31 Taoki Still... will Minetest ever have a *full* game of its own?
18:31 Taoki As in ship with one
18:31 PilzAdam IMO the mod system isnt really good; I think more people should make games
18:31 Taoki Actually... is there any list of games that are being considered?
18:32 Warr1024 I like the idea that minetest_game would gradually incorporate features that are common and/or popular from other mods.
18:32 * Taoki agrees more people should make new games too. Although the mod system is pretty OK as well
18:32 Warr1024 I think mods would be more interesting if there were a fleshier base game upon which to build.
18:32 Taoki I actually can't think how the mod system could be better. Already very flexible and well thought of
18:32 Warr1024 more surface area from which to start exploring...
18:33 Warr1024 the mod system is technically very good.
18:33 Warr1024 you guys may bitch about how ugly the code is or how inefficiently everything is implemented, but I found it surprisingly easy to learn and insanely flexible.
18:34 Taoki Warr1024: +1
18:34 Warr1024 Also, the fact that everything runs entirely server-side and clients don't need to download or patch anything manually is beautiful.
18:34 PilzAdam Taoki, my point is that the casual user isnt capable of designing a good game via mods as he is supposed to currently
18:35 Warr1024 true, a lot of people's approach to modding is usually "ooh, this sounds cool, let's add it" instead of "will this fit into the overall game experience I want to design?"
18:35 Taoki PilzAdam: My hope was that whenever a mod becomes good and stable, it stops being a mod and becomes part of minetest_game. An example of mods which I instantly supported adding is the paintings mod. Also crossbow mod, although I'm not sure how good the arrow throwing code is
18:36 Taoki Erm, bow mod, not crossbow
18:36 Warr1024 it would be nice for minetest_game to start living up to the _game part a bit more... what it feels like it needs now is some kind of adversary.
18:37 Warr1024 i.e. mobs or monsters or other more varied hazards.
18:37 Taoki Warr1024: Agreed on that
18:37 Warr1024 if you want to preserve the "build without annoyances" experience, maybe fork off a "creative" version or something.
18:37 Warr1024 no reason why minetest needs to ship with exactly one game.
18:37 Taoki Although PilzAdam is right too. Many people are used to running minetest_game with various mods for various things. If a component is added to minetest_game, people might get upset. eg: "This mobs framework was better, why did you add another one?"
18:38 Warr1024 well, maybe it's an argument for allowing mods within a game to be disablable.
18:38 Taoki PilzAdam: Actually, there might be a way to solve this! Make various components of minetest_game mods themselves. They are enabled by default, but can be turned off if the sever wants to replace them.
18:39 Warr1024 on the one hand they are sort of designed to work together as a single whole, but on the other hand they ARE structures as mods, and they DO have depends.txt...
18:39 Taoki eg: You could include your simple_mobs framework in minetest_game and use it by default. But if someone doesn't like it and wants to use their own, they can disable the mods_framework part of minetest to add their own
18:39 Taoki That would make everyone happy
18:39 Taoki What do you think of this approach?
18:40 PilzAdam still same issue: normal players cant design games
18:40 Warr1024 what if games didn't contain mods.
18:40 Warr1024 instead they were just basically depandancies.
18:40 Taoki Some. Some can design mods whcih are good. The server admin would still take the choise though
18:40 Warr1024 so there'd be a set of mods/modpacks that make up the standard minetest experience.
18:41 PilzAdam (declaimer: this obviously doesnt apply to all players and isnt meant in a bad way)
18:41 Warr1024 then a "game" is just a selection of those mods.
18:41 PilzAdam *disclaimer
18:41 Taoki And it's not just for normal players. Multiple developers might make multiple implementations of the same thing. The one which is decided to be best is added to minetest_game, so everyone benefits of it out of the box. But it can be disabled and replaced
18:41 Warr1024 PilzAdam: no, I hear you.  I probably couldn't design a game too well myself; my talent is almost exclusively technical.
18:41 Taoki There are already multiple sub-folders in minetest_game. the "default" directory includes most things, but others are separated. If only there was a way to easily disable each one
18:42 Warr1024 right now the major difference between a "game" and a "modpack" seems to be that (1) you can't mix games, and (2) you can't disable mods from within a game short of deleting them.
18:42 Taoki Yeah. That statement is true for some players. As in, if you're mostly just a player and never worked in modding, it's hard to make anything good unless you practice
18:43 Taoki I'm a developer and modder apart from a player, so (hopefully lol) I can be both
18:44 Warr1024 Ideally, the way I'd see this working is that minetest_game is distributed as a modpack, i.e. a pack of independent-ish content added to the tabula rasa base.  Then there are "games" like "minetest survival" and "minetest creative" which are just selections from those modpacks.  This means that a lot of base content can also be shared between games.
18:45 Warr1024 For that to work with a modstore, though, you'd want to be able to pick a game to download and have it pull all the dependent mod[pack]s automatically.  For that to work smoothly, you might need author namespaces in modnames.
18:52 Warr1024 anyone find that old "limit the number of mesh rebuilds per frame" patch?
18:55 Taoki PilzAdam: BTW. VanessaE noticed that the VBO patch is no longer compatible with latest master. Can you please rebase it sometime?
18:55 Taoki If possible, merge it into master as well!!! :P But for now at least rebase please, when you have time
19:04 leo_rockway joined #minetest-dev
19:19 OldCoder joined #minetest-dev
19:21 proller joined #minetest-dev
19:24 Warr1024 I'd like to try it out myself.
19:30 Taoki Warr1024: VBO code?
19:35 Warr1024 yes
19:36 Warr1024 I have an intel atom that would make performance improvements related to rendering and mesh recalc very visible.
19:39 Taoki If someone rebases it on latest master, sure
19:39 Taoki It improves performance a lot. Still waiting for it to be merged
19:40 sapier joined #minetest-dev
19:41 Warr1024 where's the pull, and how ugly of a rebase are we talking here?
19:41 Warr1024 is this something that somebody not familiar with the code in particular, but marginally competent at reading code, could do?
19:42 PilzAdam Warr1024, it only helps pretty high-end cards
19:42 Warr1024 aw
19:43 Warr1024 well, that limiting of the number of meshes to recalc per frame would help low-end quite a bit
19:43 Warr1024 but celeron55 seems to have absconded with it :-)
19:45 specing ?
19:45 specing oops
19:45 harrison joined #minetest-dev
19:46 Warr1024 would it be easy to do it myself (e.g. just throw in a config for how many loops to run of a current dequeue process) or would it be more involved (e.g. current code always processes all meshes, I'd have to add a queue to persist these across frames)?
19:53 Warr1024 it looks like mesh recalc is done in a background thread, and it's updating them in the client display thread that's causing the slowdown...?
19:53 Warr1024 if that's the case, it looks like I just need to add a num_processed_meshes condition to the loop, in the simplest case.
19:53 Warr1024 ideally, I'd be able to hook into some existing timer and set a max number of milliseconds so this scales well with better hardware...
19:57 Akien joined #minetest-dev
19:58 thexyz why not try it then?
20:01 Warr1024 I'ma try it.
20:01 Warr1024 it will just take like forever to compile on this machine :-)
20:01 Warr1024 if I produce a patch, I can test on some low-end and mid-end hardware, but I'd need help regression-testing on high-end to ensure that things are at least not noticeably worse.
20:09 ShadowNinja Um, ServerEnvironment:serializePlayers iterates over every file in the players directory...
20:09 Warr1024 makes some sense
20:10 Warr1024 on case-insensitive vs. case-sensitive filesystems.
20:10 PilzAdam ShadowNinja, also old_inv != inv is always true, thats why all playerfiles are written all the time
20:10 ShadowNinja And of course every playerfile is loaded on startup.
20:10 thexyz what a waste
20:10 ShadowNinja PilzAdam: They shouldn't even be loaded if they aren't connected.
20:11 thexyz why?
20:11 ShadowNinja thexyz: So that you aren't wasting memory and CPU of course.
20:11 Warr1024 it'd actually be kind of nice if stuff like player files could be written instead into sqlite or leveldb databases, transactionally...
20:11 thexyz top joke
20:11 thexyz wasting cpu (once) and memory (how many megabytes? 1?)
20:11 thexyz is unacceptable now
20:12 PilzAdam Warr1024, so people cant edit it with their text editor anymore?
20:12 Warr1024 PilzAdam: well, you already can't edit the world with a text editor.
20:13 thexyz well it's still unclear to me why does it have to load all players and how's that related to case-insensitivity
20:13 Warr1024 load? no
20:13 Warr1024 but it would have to iterate over the filesystem entries
20:13 Warr1024 some filesystems are case-sensitive, some are case-preserving, and some totally mess up case.
20:14 ShadowNinja thexyz: No, every time you iterate through the playerlist. And you can have >10000 playerfiles (I have over twice that many.)
20:14 Warr1024 (though there aren't too many of the last anymore, as I understand it)
20:14 thexyz is minetest case-insensitive?
20:14 Warr1024 so you might have a world you created on a system where your player name was written and case not preserved well, then transfer it to a server on a case-sensitive platform...
20:14 Warr1024 case-insensitivity with player names would be nice.
20:14 ShadowNinja thexyz: And there's no reason to have them loaded AFAIK.
20:15 ShadowNinja thexyz: No.
20:15 Warr1024 I think it's currently either case-sensitive, or it may depend somewhat on the underlying FS.
20:15 thexyz lol that's so wrong
20:15 ShadowNinja Warr1024: Mods and the like are case-sensitive. They use case-sensitive string compatisons.
20:15 Warr1024 it'd be sort of nice to make it case-insensitive across the board.
20:15 Warr1024 at least for player names
20:16 Warr1024 case-sensitivity is fine for a programming interface, including any part of mods.
20:16 thexyz so on windows it's case-insensitive and on linux is case-sensitive and I still don't understand why does it have to iterate over all players in order to update the files
20:16 Miner_48er joined #minetest-dev
20:16 Warr1024 to read or update all the files?  no, it wouldn't have to
20:16 thexyz or, wait, it's case-sensitive on both
20:16 thexyz should be
20:16 Warr1024 it'd just have to do so to ensure that it can find the files.
20:16 thexyz then it's not wrong of course
20:17 * VanessaE peeks in and yells random things about network code wuality
20:17 PilzAdam thexyz, AFAIK on windows it only preserves case
20:17 VanessaE quality*
20:17 Warr1024 thexyz: the problem is that you can't be 100% case-sensitive if you're writing playername.txt files on a case-insensitive filesystem.
20:17 daswort When does the mine-test end? :P
20:17 Warr1024 for instance, if Warr1024 and warr1024 both log in on Windows, whose data will get stored in WARR1024.TXT?
20:18 Warr1024 daswort: hopefully it never will.  right now, it's a test of the software; eventually, it'll be a test of your skills :-)
20:18 ShadowNinja Warr1024: The player that logs in as WARR1024.TXT. :-)
20:18 thexyz Warr1024: check the code it should handle this case
20:18 Warr1024 can anyone point me to the right file real quick?
20:18 thexyz it will make the first one Warr1024 and the second one Warr10240 or so it seems
20:18 PilzAdam Warr1024, environment.cpp
20:19 Warr1024 oic
20:19 Warr1024 then I guess that explains why it has to iterate over and open every player file.
20:19 Warr1024 if the player names are stored IN the file, not AS the file name.
20:19 thexyz yes but you know
20:19 thexyz you can do it on server startup and store file name in Player class
20:20 thexyz so then you just iterate over players and update only modified ones
20:20 daswort Warr1024~ Good way to put it. :D
20:20 Warr1024 alternatively, you could use a sqlite database to store players, and you get (1) atomicity and transactional safety, to a certain degree, (2) players are still accessible using simple cmdline tools, and (3) unambiguous naming and random seek.
20:20 PilzAdam thexyz, thats where the old_inv != inv problem peeks in
20:20 thexyz people will bitch
20:20 Warr1024 or we could just hash the player name and make the filename the hash.
20:21 thexyz PilzAdam: well it's a separate one; why is it always not equal?
20:21 PilzAdam dunno
20:21 ShadowNinja So that's why it loops through every one of 20000+ files with every player. To find the one for a player.
20:21 ShadowNinja For Win$ compat.
20:21 Warr1024 or just lowercase(playername) + "_" + lowercase(hash(playername))
20:22 ShadowNinja Hashes might solve this, yes.
20:22 thexyz by looking at the code of serializedPlayers it seems it doesn't even check anything in the second loop
20:22 Warr1024 that scheme would make it relatively easy to find a player by name, but work fine with case-insensitve filesystems.
20:22 Warr1024 (hash is hex- or base32- or similar-encoded)
20:22 thexyz [00:19:51] <thexyz> you can do it on server startup and store file name in Player class
20:22 thexyz [00:20:06] <thexyz> so then you just iterate over players and update only modified ones
20:22 thexyz please
20:22 Warr1024 yes, writing out only actually-modified players would be very nice.
20:22 Warr1024 being able to unambiguously seek to a file instead of having to read them all to find a player would also be awesome :-)
20:23 Warr1024 20k+ player files?  man, that's such a first-world problem :-)
20:23 ShadowNinja Well that can be done, but the filenames should be better. That still requires iterating through all files every time a player joins. Hashes seem like a good solution.
20:24 PilzAdam suddenly: backwards compatibility
20:24 ShadowNinja Of course you'd have to provide a converter.
20:24 Warr1024 ha
20:24 Warr1024 true
20:24 Warr1024 I guess on server startup you'd have to look for any player files that DON'T have the hash name and rename them.
20:25 Warr1024 and we'd have that little bit of legacy stuck around for some time, likely.
20:25 Warr1024 alternatively, just loop through all the player files exactly once on startup to build an index, then persist it through the entire session.
20:25 ShadowNinja mkdir players2 && for each playerfile mv players/$playerfile players2/$(sha1sum $(get real player name)) end && mv players2 players
20:25 Warr1024 how long does it take to scan these files currently?
20:25 thexyz ShadowNinja: no it doesn't require you to iterate over all player files when a player joins
20:26 PilzAdam we could add .mpf (minetest player file) so its easier to identify the old format
20:26 thexyz if you can do something without hashes then better do it without hashes
20:26 Warr1024 PilzAdam: +1
20:26 thexyz if of course it's of the same complexity, etc
20:26 thexyz oh well no one is listening i probably should stop talking then
20:27 Warr1024 listening, just not necessarily commenting.
20:27 PilzAdam thexyz, why dont you like hashes?
20:27 Warr1024 I don't see any significant advantage to NOT doing hashes.
20:27 Calinou joined #minetest-dev
20:27 thexyz because this problem can be solved more easily
20:27 thexyz and in a sane way
20:27 PilzAdam so you say hashes are not easy?
20:27 thexyz yes they aren't
20:27 Warr1024 I don't see what way you're proposing that's easier than hashes.
20:28 Warr1024 man, when did hashes become not easy?
20:28 ShadowNinja thexyz: The only other option that I can think of is using escapes for capitalized characters, eg '^'.
20:28 Warr1024 just throw an MD5 at it or something.  It's not like it's gotta be bulletproof.
20:28 thexyz oh shit no one is reading what i say
20:28 thexyz whatever
20:28 PilzAdam thexyz, maybe others dont share your opinion on hashes?
20:28 Warr1024 store file name in player class?
20:28 VanessaE or you could keep a database file somewhere with mappings of upper<->lower that is only ever read at server startup/
20:29 Warr1024 that helps you find the player file to write it out when already loaded.
20:29 Warr1024 doesn't help you find the file to load it in the first place
20:29 thexyz VanessaE: well that's almost what I'm suggesting
20:29 VanessaE thexyz: I actually missed your suggestion
20:29 VanessaE lost in the noise
20:29 thexyz Warr1024: load every player on startup
20:29 Warr1024 thexyz: I thought "load every player on startup" was something we were hoping to avoid.
20:29 thexyz lol no, it's not a problem
20:30 Warr1024 some servers may have tens of thousands of players, 99% of whom are abandoned defunct accounts.
20:30 ShadowNinja Or we could make playername chesks case-insensitive, but with caps showing, like IRC.
20:30 thexyz and the player file is less than 1k
20:30 thexyz anyway I'm fine with any solution
20:30 Warr1024 I mean, it's not HORRIBLE (I assume players who aren't logged in won't take much RAM) but it's kind of ugly.
20:30 thexyz I just think that people here prefer to talk, not implement things
20:30 Warr1024 and 20,000 player files is a fairly good number of HDD seeks...
20:30 thexyz so well do hashes if that's what you want, it'll be better than what we have now
20:31 Warr1024 I'm thinking about implementing the hash thing, though first I was gonna do the mesh update limiting thing.
20:31 thexyz and if it still sucks then we can just replace it by another solution
20:31 Warr1024 thexyz: if you really want to implement it, implement it.
20:31 thexyz no I really don't because I'm busy with other things
20:31 Warr1024 upstreaming of patches is a slow process, but with persistence, it DOES get done...
20:31 thexyz like android shitport or something
20:31 Calinou idea: remove player files of players 1) with no additional or removed privileges compared to default, 2) with empty inventory, 3) close to the spawn
20:32 Calinou I just thought of that
20:32 thexyz 20k of file reads once at startup? i don't see a problem here
20:32 Warr1024 Calinou: neat idea.
20:32 VanessaE Warr1024: that's if you can stay on top of your patches and keep them "fresh" long enough to get them merged
20:32 Warr1024 kind of the problem here is that there are too many pretty-good ideas, none significantly better than the rest, and nobody seems to be really THAT interested in this problem.
20:33 thexyz well you can combine both ways and store filename in player class while having it hashed if so you want
20:33 thexyz this way you get both advantages
20:33 Warr1024 VanessaE: yeah, you can really only champion a few at a time, at most; gotta pick your battles to make any real headway.
20:33 ShadowNinja snprintf(m_name, PLAYERNAME_SIZE, "%s", name); -- Um, strncpy?
20:33 thexyz you don't have to load all player files and you don't have to recalculate file name every time
20:34 thexyz lol wtf why do we have C strings here
20:34 Warr1024 Calinou: actually, for very large servers, it might be more practical to just write a mod that tracks player last-seen timestamps and either deletes, or specially-archives, any player that hasn't been seen in a long time.
20:35 thexyz i now think minetest can be described as "inconsistent nih"
20:35 VanessaE Warr1024: the problem is eventually, after just so many battles, you walk away with too many cuts and more scars than clean skin, and you start asking yourself when is 'enough'.
20:35 VanessaE that's the problem we have been having here.
20:36 ShadowNinja I'll push this in a minute if nobody objects.
20:36 ShadowNinja http://pastebin.ubuntu.com/6590848/
20:37 Warr1024 VanessaE: well, there's always the option of forking, I guess.  Usually not a very amicable solution, but it can work for when the bureaucracy of a project starts to run away from the developers...
20:37 VanessaE Warr1024: suddenly, Freeminer.
20:37 Warr1024 hm, I guess I may check that out.
20:37 VanessaE it is the result of that exact process.
20:37 Warr1024 I'm working on a game for MT, so it's probably a good hedge to make sure it works on some major forks as well :-)
20:41 ShadowNinja Or this rather: http://ix.io/9pH
20:42 Calinou <thexyz> i now think minetest can be described as "inconsistent nih"
20:42 Calinou there are projects which do way worse in NIH...
20:42 Calinou it's bad to accuse NIH all the time, it makes you not do other things
20:44 Warr1024 it's not NIH to try to reinvent the wheel, necessarily.  It doesn't become NIH until you say "their wheels are rounder, but I think we should stick with the square ones we developed in-house"
20:44 Calinou PilzAdamWarr1024, it only helps pretty high-end cards
20:44 thexyz but there are just so many cases of NIH
20:44 Calinou VBO helps here...
20:44 Calinou (I pasted PilzAdam talking about VBO)
20:44 Warr1024 Calinou: you're on mid/low-end?
20:44 Calinou old high end
20:44 Calinou but not that much high end
20:44 Warr1024 ok.
20:44 Warr1024 I'm generally on new-low or semi-old-mid end.
20:45 Warr1024 actually, I *might* be on low and very-low, depending on perspective.
20:45 Warr1024 All IGP's atm.
20:45 Calinou VanessaE, talking about the lack of cURL support from clients, maybe there could be a setting to disallow non-cURL people from connecting
20:45 Warr1024 it's just that MT does pretty well on the low-end, so it doesn't feel too low.
20:45 Calinou (which causes lots of CPU usage)
20:45 VanessaE Calinou: VBO is nice if you can get PilzAdam to rebase it.  Notice he ignored Taoki's request?
20:45 Calinou I saw it
20:45 thexyz ShadowNinja: I object
20:45 VanessaE someone needs to JUST FUCKING MERGE IT!
20:46 Calinou but I use freeminer, which works fine on Minetest server
20:46 Calinou so I have it already
20:47 thexyz Calinou: i think we should just make it fail to compile without freetype/curl and output a message that if you really want to compile without this stuff then comment this line
20:47 VanessaE thexyz: +1
20:48 VanessaE but that doesn't solve the problem
20:48 VanessaE the media/network sending code needs fixed.  BADLY.
20:48 Warr1024 thexyz: I concur, except without the message about commenting.
20:48 VanessaE because cURL or no cURL, it's trivially easy to end up with a situation where some or all media on a server gets sent over the old protocol
20:49 thexyz VanessaE: well proller has fixed something like that in freeminer
20:49 VanessaE so I heard.
20:49 VanessaE as you know my attempt to migrate to freeminer ended in failure :(
20:49 Calinou downloading from server is usually not efficient, compared from downloading from web anyway
20:49 Calinou VanessaE, how and why?
20:49 thexyz VanessaE: yeah well
20:49 VanessaE Calinou: I'm not talking about the transfer efficiency.
20:49 Warr1024 VanessaE: I was thinking about working on a solution at some point that would let the server send *updated* or *new* textures during play. Maybe the general solution (see Inventor's Paradox) is just to make texture transfer happen in background at any time during the session.
20:50 Calinou not efficient as in, slow
20:50 sapier can someone explain to me why minetest sends 512byte packets?
20:50 Warr1024 It'd be kind of interesting to allow a player to emerge *instantly* and just play in a solid-shaded world as textures gradually load.  Uglier, but potentially more functional.
20:50 Calinou sounds good, but not sure if doable
20:50 VanessaE Calinou: I am talking about the CPU usage, efficiency, and latency of the *server* side of the equation as it applies to the other clients who are already connected when a new client signs on and begins downloading media.
20:51 Warr1024 sapier: avoiding IP frags when path MTU's are not well-known?
20:51 Calinou textures only seem to be checked once at load, except menu textures
20:51 Calinou or HUD textures
20:51 sapier MTU below 512?
20:51 proller sapier, minetest players must suffer
20:51 Warr1024 sapier: I've used MTU's of 576 on dial-up back in the day.
20:51 Calinou VanessaE, maybe that's from where the general lag on big servers comes from... and that's amplified by "Guest" people
20:51 Warr1024 kind of unlikely these days, but who knows...?
20:51 VanessaE Calinou: precisely.
20:51 Warr1024 some ATM uplinks use MTU's of like 1300 or 1400
20:52 Warr1024 1024 should be pretty safe on most modern networks, though, except I can't vouch for cellular.
20:52 VanessaE Calinou: guests and all-numeric accounts are blocked on my servers with that on-pre-joinplayer function kaeza added, so that helps greatly, but it still doesn't solve the problem
20:52 sapier so we add 150% overhead for downloading media to avoid fragmentation for 1% of users, withing a game phase the one wouldn't even realize performance issues?
20:53 Calinou guests should just be off by default, I don't get it why there are so many of them
20:53 sapier assuming mintest really handles fragmentation faster then router would do ;-)
20:53 Warr1024 sapier: true.dat
20:54 Warr1024 sapier: actually, UDP packets can go up to 64k, and IP probably handles fragmentation BETTER than we do, as long as we don't do weird shit like set the DF flag on our frags like Linux NFS has.
20:54 VanessaE then ramp it the fuck up to 64k
20:54 Warr1024 sapier: so 512 may be a reasonable packet size limit for gameplay action and such, but we should probably just max it out for bulk transfers.
20:55 Warr1024 test it out on a shitty wifi and make sure it doesn't choke harder than the old one did.
20:55 sapier no 64k is jumbo frames those aren't supported by a lot of networks
20:55 VanessaE auto-test for the maximum size then
20:55 sapier but I'd guess 1300bytes wouldn't cause any fragmentation for 99.9%
20:55 VanessaE send a 64k packet, then 32, then 16...
20:55 sapier mtu autodiscovery isn't a simple task ;-)
20:56 VanessaE bull.
20:56 VanessaE send packet, client sends back ack or nak, repeat.
20:56 sapier we don't have any way to find out
20:56 VanessaE we had this figured out back in the 1980's :)
20:56 VanessaE um.
20:56 Warr1024 64k is not a jumbo frame, it's a datagram.
20:56 Warr1024 it gets broken up into multiple frames automatically on layer 3.
20:56 VanessaE the client can always send back a checksum that says "I can receive that much safely"
20:56 sapier you're right Warr1024
20:56 thexyz yeah well we should just drop the connection.cpp and use some library in the next major release
20:56 Warr1024 fuck PMTUD, let 'em fragment :-)
20:57 Gethiox joined #minetest-dev
20:57 VanessaE thexyz: maybe so.
20:57 Warr1024 I mean, we're ALREADY doing our OWN fragmentation.
20:57 Warr1024 might as well simplify.
20:57 VanessaE thexyz: what would this break, seriously?
20:57 sapier we can't drop connection but we can stop it from fragmenting
20:58 Warr1024 thexyz: yeah, there are probably a lot of 3rd-party libraries by now that have compatible licensing and are more mature than what's in MT right now.
20:58 thexyz Warr1024: i think someone has suggested enet
20:58 sapier can we do this in a compatible way?
20:58 thexyz lol no
20:58 ShadowNinja I'll push THIS in a minute... http://ix.io/9pM
20:59 thexyz ShadowNinja: i object once again
20:59 Warr1024 don't we already have occasional compatibility breaks in the protocol?
20:59 ShadowNinja thexyz: Why?
20:59 thexyz perhaps but no one has ever tested it
20:59 Warr1024 a complete network overhaul might be worth it for like an 0.5.0 milestone...
20:59 thexyz and it seems to be more-or-less compatible
20:59 Calinou more like 1.0 </normal versioning scheme>
20:59 thexyz yeah, adding a key-value would be a good idea too
20:59 thexyz ShadowNinja: because those are two different functions that do different things
20:59 Warr1024 Calinou: don't be silly, open-source projects don't DO 1.0 :-)
21:00 ShadowNinja I'd like to have a release where we don't worry about campatability and can fix things.
21:00 sapier for security reasons the memset to password should be done after sending that packet ... but I guess we'd have to add this at so many locations we can't even coun't them
21:00 Warr1024 in the open-source world you ship good quality code and call it beta, and in the commercial world you ship alpha code and call it release.
21:00 ShadowNinja thexyz: snprintf is used as strncpy. Unless you know of a way that they differ?
21:01 Calinou Warr1024, that's the problem
21:01 thexyz ShadowNinja: yes i know
21:01 Warr1024 if we're dropping in a new net backend, datagram TLS would be a pretty sweet thing to add too :-)
21:01 ShadowNinja thexyz: Well?...
21:01 Calinou version number advances too slow... it doesn't change product quality, but an higher one makes it feel more polished
21:01 thexyz ShadowNinja: well of course i can't expect people to read standard or google so I'll explain
21:01 Calinou ShadowNinja, where do we worry about compatibility much?
21:01 thexyz The functions snprintf() and vsnprintf() write at most size bytes (including the terminating null byte ('\0')) to str.
21:01 thexyz If the length of src is less than n, strncpy() writes additional null bytes to dest to ensure that a total of n bytes are written.
21:02 thexyz got it?
21:02 Warr1024 Calinou: I actually prefer projects whose versioning is just fixed time intervals, like Ubuntu or OpenBSD, that just ship a monotonically-increasing version number every 6 months.
21:02 Calinou or we could use a year.month.day scheme
21:02 Calinou like I used to do for my mods
21:02 ShadowNinja Calinou: The protocol mostly.
21:03 sapier thexyz you are aware that strncpy doen't ensure 0 termination?
21:03 ShadowNinja thexyz: That allowed me to remove a memset, but besides that it's irrelevant.
21:03 thexyz sapier: well that's what i'm talking about, isn't that clear?
21:03 thexyz ShadowNinja is not aware it seems
21:05 sapier1 joined #minetest-dev
21:05 sapier1 ShadowNinja:  do not ADD http://ix.io/9pM
21:05 sapier1 you miss 0 termination in case source string is > field size
21:06 proller Warr1024, firefox increases version every month. but why? except marketing
21:06 ShadowNinja :-| You'd think that a string function would ensure 0-termination.
21:06 sapier1 read man page it does
21:07 Warr1024 proller: simplicity.  some projects increase by 0.1 or 0.01 at fixed intervals, but the data is really just a decimal-shifted integer in reality.
21:07 sapier1 The functions snprintf() and vsnprintf() write at most size bytes (including the trailing null byte ('\0')) to
21:07 sapier1 str.
21:07 Warr1024 I've thought about adopting an "r1", "r2", "r3", etc. scheme.
21:07 VanessaE christ in a cartoon.  players are seeing HALF HOUR LAGS on my server
21:07 VanessaE G*D damn it guys.  this shit has to stop!
21:08 thexyz you'd think people read man pages
21:08 proller Warr1024, major version must be changed when something incompatible appears
21:09 ShadowNinja sapier: I was refering to strncpy, whitch is actually in (c)string(.h)
21:10 sapier strncpy doesn't ensure 0 termination
21:10 proller VanessaE, welcome to fm ;)
21:10 Warr1024 proller: I usually bump major whenever I EOL an old branch.
21:10 sapier there's a explicite warning in man page for this issue ;-
21:10 VanessaE proller: until fm is supported by the core team and I can be 100% sure its memory and CPU usage are equal to or less than minetestserver, I don't think i can use i.
21:10 VanessaE it*
21:11 ShadowNinja sapier: Yes, but it would make sense for it to, seing as it's a string function, and strings are nul-terminated.  It seems strncpy is pretty much just memcpy then.
21:11 proller VanessaE, anything is adjustable
21:11 sapier yes seems to be ... I got used to non-sense things in programming ;-)
21:12 sapier proller connection handling is broken by design if you did redesign it we're pleased to merge that fix ;-)
21:13 proller sapier, some improvements was commited today
21:13 proller but it must be rewritten
21:14 proller to tcp or enet or...
21:14 proller sctp ;)
21:14 sapier not an option
21:14 sapier we need a more performant compatible variant first
21:14 sapier switching to tcp can be done later
21:15 proller too hard to implement good protocol over udp
21:17 Calinou enet uses UDP, proller
21:17 Calinou and it is good, I think :D
21:17 proller need to test
21:18 proller "I think" - very bad test
21:20 thexyz a guy who is a developer of some open source shooter game says it's good
21:20 thexyz VanessaE: lel, core team
21:20 Calinou enet is made by eihrul, the lead dev of sauerbraten/tesseract and red eclipse contributor
21:20 thexyz VanessaE: you will never switch then
21:20 Calinou it's used by some commercial games too, and some games that aren't FPSes at all like Stunt Rally
21:21 thexyz Calinou: yeah the only problem is that there's apparently no ipv6 support but I guess proller will do that
21:21 Calinou (Stunt Rally uses a peer to peer networking model)
21:21 Calinou no ipv6 support, yeah :/
21:21 Calinou that's weird though, I've seen someone claiming to use ipv6 in general, and I've still seen them play sauerbraten
21:21 VanessaE thexyz: it may turn out that the core team may abandon ship and follow you and proller and co. to fm, or you guys may figure out how to move your patches back to mt and make them work to everyone's satisfaction.
21:22 VanessaE this will only fail if people let it/want it to.
21:22 thexyz VanessaE: so in your world those two projects can't coexist
21:22 thexyz okay then
21:23 VanessaE thexyz: incorrect
21:23 Calinou they can coexist, competition is fine
21:23 thexyz oh well it's offtopic here so
21:23 VanessaE in my view they can and should.  But they should also share code both directions.
21:23 VanessaE and it's hardly offtopic
21:26 VanessaE I'm just saying that at some point the two projects should ideally merge together again - if fm can draw fresh code from mt every couple of days, why can't mt draw fresh fixes from fm?
21:28 proller why pulls accepted in 6-9 months?
21:33 vladimirg joined #minetest-dev
21:34 sapier proller don't start this discussion again noone is paid for doing this
21:39 smoke_fumus|2 joined #minetest-dev
21:40 VanessaE ok so
21:41 VanessaE enough of the unproductive arguing.
21:41 VanessaE can we PLEASE just DO something about these problems?
21:41 VanessaE maybe just push thexyz's idea into place about not allowing building without cURL, and whoever's idea it was that allows a server to reject non-cURL-capable clients?
21:42 VanessaE the rest can be handled server-side by making sure every last byte of media is on a remote_media server
21:42 VanessaE phase out the broken code entirely
21:42 VanessaE delete it from the repository
21:42 VanessaE yes? no?  piss off?
21:42 VanessaE something?
21:42 VanessaE or are you gonna just wit there jerking off? :P
21:43 sapier that'l result in breaking compatibility to all clients out there ... not a good idea
21:44 VanessaE and this is different from the past........how?
21:45 ShadowNinja thexyz: Does this still allow single depth variables? https://github.com/freeminer/freeminer/comm​it/e598375c840c5223f645ca923223801bf34d8199
21:47 thexyz ShadowNinja: of course this does
21:47 Calinou it was my idea to reject non-cURL clients
21:48 * Calinou patents that idea, 75 cents per Minetest client compiled
21:48 Calinou :p
21:48 VanessaE right calinou's idea
21:48 VanessaE ok so.
21:48 VanessaE what's it gonna be?
21:48 Calinou or it could be, require cURL for compiling
21:49 VanessaE one last major client breakage for the sake of finally getting rid of a piece of bad code that's been a thorn in the side of every Minetest server operator since kimml gornisht?
21:49 sapier the difference is atm a old client can connect to a new server running a simple game
21:51 VanessaE sapier: we've had plenty of instances in the past where this failed.
21:51 VanessaE hell right now, you can't connect to very old servers anymore
21:51 VanessaE (like redcrab:30401), not that this should actually be a cause for concern, as those old servers really should update.
21:51 sapier but it's still something we try to avoid wherever possible ... for this case there's no technical reason why it can't be avoided
21:52 VanessaE I know
21:52 VanessaE but you're missing my point:
21:52 ShadowNinja proller: Um, shouldn't fatal errors, by definition crash the server?
21:52 sapier curl doesn't fix the in game transmission of data
21:52 proller ShadowNinja, no.
21:53 sapier while this isn't as critical as media it's way beyonde optimal state too
21:53 proller every lua mod contain fatal errors
21:53 VanessaE it doesn't matter if it can or can't connect.  If it DOES connect and it uses that old code, it locks up the server until the media has been sent.
21:53 VanessaE the old code evidently can't be ficed
21:53 VanessaE fixed*
21:53 proller sapier mods crasshes 3-5 times per day ;)
21:53 VanessaE or no one cares enough to fix it
21:53 VanessaE so it needs to be removed,
21:53 VanessaE pick one.
21:53 sapier vanessae it can be fixed
21:53 VanessaE fix it or remove it
21:53 sapier it's a server side issue
21:54 sapier it's just nothing you fix in 15 minutes
21:54 VanessaE sapier: well of course not in 15 minutes.  But not in a year either?
21:54 sapier seems you haven't been annoying enough ;-)
21:54 VanessaE hm.
21:55 * VanessaE makes plans to get even more annoying then
21:55 VanessaE :P
21:55 ShadowNinja proller: The definition of a FATAL error is that you can't continue.
21:56 rambomedic joined #minetest-dev
21:56 proller definition of server - be stable, and dont drop 10-100 players every 10 minutes
21:57 thexyz just add a config option to never serve media
21:57 ShadowNinja proller: You have broken mods if your server crashes that often, fix your mods. And one error will lead to more.
21:57 thexyz I assume that's what VE wants?
21:58 VanessaE thexyz: way to totally misread my point.
21:58 thexyz uh
21:58 proller ShadowNinja, every admin will shutdown server and forgot about this buggy game,
21:58 thexyz I wanted to be helpful ;_;
21:58 proller but its minetest way..
21:58 thexyz > reject non-cURL-capable clients?
21:58 thexyz isn't it the same?
21:59 VanessaE I think I said pretty clearly at the end there:  the whole point of this argument is thus:  either the bad media sending code can't be fixed or no one cares.  Either fix it or get rid of it.
21:59 ShadowNinja proller: If he can't fix his mods he shouldn't be running a server.
21:59 proller wrong.
21:59 proller player wants to play, not fix ALL shitty mods
21:59 VanessaE thexyz: no, reject as in disallow then signing on, like the on-preconnect feature does for the no-guests mod kaeza and I worked up.
21:59 thexyz do you expect admin (== user) to fix mods that someone wrote while being drunk?
22:00 ShadowNinja Don't add mods if they don't work.
22:00 thexyz VanessaE: isn't it the same as not serving media?
22:00 proller ShadowNinja, 80% mods dont work
22:00 thexyz because I don't think there's a way to detect if it's a curl-enabled client
22:00 thexyz 80% of code doesn't work; to be precies
22:00 thexyz or maybe not "doesn't" but "shouldn't"
22:00 ShadowNinja proller: Where have you been getting your mods?
22:00 VanessaE thexyz: nope, because if the user DOES have cURL support, they may still occasionally be able to receive media through the non-cURL channel e.g. if the remote_media server is missing a file.
22:01 Calinou disallow from-server downloads is proably how you would disallow cURL
22:01 proller ShadowNinja, forum.
22:01 VanessaE well if there's no way to detect it, then code in a way?
22:01 Calinou but you need all data to be avilable on remote_media then
22:01 ShadowNinja proller: I'm surprised something hasn't exploded yet from thet. (All of the saved data getting niled out specifically)
22:01 VanessaE if the client doesn't respond with some flag in its features list (I assume such a thing exists) on connect, then assume no cURL.  simple.
22:01 VanessaE there is always a way
22:02 VanessaE or assume it based on the version number of the client, like assume if it's 0.4.9 it's been forced to build with cURL support, let's say
22:02 * ShadowNinja writes a mod to SIGINT servers on errors for freeminer users.
22:02 thexyz VanessaE: ah well then it's the only solution, right
22:02 proller 400k bytes per second FM now serve media without httpfetch
22:02 thexyz ShadowNinja: […] then they fight you […]
22:02 VanessaE thexyz: the only other solution, which of course is the proper one, is to fix the media transmission code at the core.
22:03 thexyz yeah that's what proller was trying to do
22:03 ShadowNinja thexyz: Hmmm?
22:03 thexyz nah just ignore it if you don't get the quote
22:03 VanessaE make it not suck 100% CPU to send at 5 kBytes/second.  FORGET how FAST it can send.  Pay attention to what it does TO THE SERVER (which as you just said, is what proller is trying to do)
22:04 proller VanessaE, connection.cpp is terrible with lot of useless copying data
22:04 VanessaE proller: you're getting 400 kBytes/sec without remote_media?  impressive.
22:04 thexyz yeah we should just throw the current network stack out and use something like enet
22:04 proller yes,
22:05 proller who want to try - join to sky server without curl, 17mb data
22:07 VanessaE VE-Survival has 39MB of data to send...
22:08 proller ShadowBot, imagine http server, making core on each served broken html page
22:08 proller ~100 seconds
22:08 VanessaE proller: 39 MB, ~30 seconds via http_fetch.  your math is a little off.
22:09 VanessaE oh you mean for the html example heh
22:09 proller no, for minetest
22:09 proller but 100 much better than current
22:09 VanessaE indeed so
22:10 VanessaE [12-17 17:10] <kizeren> 16:06:01: ACTION[main]: Client: Contacting remote server "http://minetest.digitalaudioconce​pts.com/creative-survival-media/"
22:10 VanessaE [12-17 17:10] <kizeren> Quit message received.
22:10 VanessaE um, wut?
22:10 Megaf joined #minetest-dev
22:11 VanessaE (from a user who usually has no problems)
22:11 VanessaE is this a minetest client issue, or an nginx issue?
22:11 thexyz nginx has no issues
22:12 VanessaE where does the above message come from then?
22:13 ShadowNinja proller: HTTPds don't process HTML, unless you enable SSI.
22:14 thexyz well if you want to argue instead of trying to understand his point
22:14 thexyz let's say that was a php or python or perl script
22:14 Warr1024 I'm not really too optimistic about the idea of getting rid of non-cURL media downloads entirely.
22:14 Warr1024 I like the fact that I can setup an MT server, complete with media transfer, using only 1 firewall port.
22:15 proller also as bonus - instant nodedef transfer
22:15 Warr1024 but for people like me, there is always the option of low-def media, I guess.
22:15 VanessaE well it did turn out to be fairly easy to actually get it working, it's just that most of the nginx tutorials I found sucked batshit. :)
22:15 VanessaE and my scripting skills also suck, but that's a different matter.
22:16 ShadowNinja thexyz: Then it would show a server error page.  It wouldn't continue to exeute the PHP/Python/perl.
22:16 Warr1024 I'm just not sure I want to dedicate that many different daemons to working in concert just to host one game world :-)
22:16 Warr1024 also, I've been sticking to 16x16 png's for all of my media in my mods, and optimizing the hell out of the pngs.
22:16 Warr1024 if people don't like the way it looks, they're welcome to make texture packs.
22:17 thexyz ShadowNinja: exactly! the server just breaks out of the mod it can't execute
22:18 ShadowNinja thexyz: So it shuts down? Mods aren't seperated after load time.
22:18 Warr1024 having all of the mods run in the same sandbox means that they can share library functions and the like, which is VERY helpfu.
22:19 Warr1024 but it also means that you can't have the system partially fail; it's gotta all work or none.
22:19 thexyz ShadowNinja: meh it's boring to argue with you
22:19 thexyz the web server doesn't shut down when it fails to process a request
22:19 thexyz get it?
22:21 ShadowNinja thexyz: Why would it? It is a non-fatal error, it can continue to process requests and just send a error message. However if it hot a fatal error(eg, OOM) then it would shut down. All Lua errors are fatal.
22:21 ShadowNinja got*
22:21 thexyz well keep believing that, sorry but it's a waste of time
22:21 thexyz because I won't convince you anyway
22:21 thexyz and vice-versa
22:22 VanessaE bbiab.
22:25 rambomedic how do I get access to editing the main minetest wiki page
22:26 rambomedic there are very severe issues with it
22:26 rambomedic (or you can do the edit for me)
22:26 rambomedic the issue is that it's linking to the old developer wiki (the c55 one not the dev.minetest.net)
22:36 ShadowNinja rambomedic: The main page in administrator-only. I'll check that.
22:38 ShadowNinja "Development resources" Isn't really helpfull at all, it just gives links to the dev wiki and the old dev wiki.
22:41 ShadowNinja rambomedic: If you have ideas for the Main page make a copy in your user namespace and modify it and notify us.
22:43 smoke_fumus joined #minetest-dev
22:44 Megaf joined #minetest-dev
22:44 Megaf joined #minetest-dev
22:59 VanessaE joined #minetest-dev
23:00 Akien joined #minetest-dev
23:10 Megaf left #minetest-dev
23:20 deltib joined #minetest-dev
23:20 sapier left #minetest-dev
23:21 hmmmm who highlighted me
23:21 hmmmm it got cut off
23:22 VanessaE [12-17 13:10] <ShadowNinja> hmmmm: I have a santa model now. It's built on SamII and is built into the model. See https://forum.minetest.net/vie​wtopic.php?pid=122153#p122153 What do you think? (And to anyone else that it may concern)
23:23 VanessaE last one I saw.
23:23 VanessaE (but I was off for about an hour doing a hardware upgrade)
23:23 hmmmm well
23:23 hmmmm my intent was to make a separate hat model that's rendered on top of the player's head, separate
23:23 hmmmm this way it doesn't break alternate skins
23:28 ShadowNinja I asked for that, but ^ is what I got.
23:28 Akien joined #minetest-dev

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