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/commit/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/viewtopic.php?pid=122259#p122259 00:13 kahrl BlockMen: yup 00:16 BlockMen done and im going bed now. bye 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 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 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: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 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/viewtopic.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 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 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] o crap 10:41 VanessaE [12-17 05:41] 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? 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 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 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 and around 13:35 celeron55 >all previous ones 13:36 thexyz okay, not all 13:46 VanessaE bbl 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: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: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/viewtopic.php?pid=122153#p122153 What do you think? (And to anyone else that it may concern) 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: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: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: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: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: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 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] you can do it on server startup and store file name in Player class 20:22 thexyz [00:20:06] 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 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 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 PilzAdam Warr1024, 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 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 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 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:34 sapier proller don't start this discussion again noone is paid for doing this 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/commit/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 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] 16:06:01: ACTION[main]: Client: Contacting remote server "http://minetest.digitalaudioconcepts.com/creative-survival-media/" 22:10 VanessaE [12-17 17:10] Quit message received. 22:10 VanessaE um, wut? 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. 23:21 hmmmm who highlighted me 23:21 hmmmm it got cut off 23:22 VanessaE [12-17 13:10] hmmmm: I have a santa model now. It's built on SamII and is built into the model. See https://forum.minetest.net/viewtopic.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.