Time Nick Message 00:56 hmmmm nerzhul: I don't approve of 5f8e48c at all and I'm sure lots other devs don't either. 00:57 hmmmm how come you didn't seek any approval from anybody else? 00:57 hmmmm now lua errors will abort the application instead of kicking the game back to the main menu. 01:01 hmmmm also I'm not too sure about e7737ff.. reliable_data and unreliable_data are sent in the same exact manner? 01:02 est31 https://github.com/minetest/minetest/commit/e7737ff 01:02 est31 404 4 me 01:02 hmmmm before your changes, I bet they were sent very differently. there is a reason why it was made like that and I think you should research this before determining it's irrelevant and changing its functionality. "it looks like this works fine for me" is a bad excuse 01:03 hmmmm est31, e7736ff rather. 01:03 hmmmm nerzhul: unless you understand the totality of minetest, I don't understand how you can make commits so quickly without prior discussion 01:05 est31 hmmmm, was that commit more than refactoring? 01:05 hmmmm that particular commit, no. but that piece of code was changed with the huge network changes 01:06 est31 what do you mean with "differently"? 01:07 hmmmm https://github.com/minetest/minetest/blob/stable-0.4/src/server.cpp#L944 01:09 est31 I see what you mean now 01:09 est31 (with the change) 01:09 hmmmm there is a large difference between reliable and unreliable data 01:09 est31 yes 01:09 hmmmm but it just got steamroll'd by nerzhul's large network changes 01:10 hmmmm this qualifies as a regression 01:10 est31 it still works, doesn't it? 01:10 hmmmm I'm willing to bet that all of the unreliable data is now erroneously being marked as reliable 01:10 hmmmm that's irrelevant 01:11 hmmmm if I add Sleep(5000); in the main loop of your GUI application and it freezes for 5 seconds every time you do some kind of action, "it still works, doesn't it?" 01:12 est31 memcpy isn't beautiful either 01:12 est31 ok thats coding style not behaviour 01:13 est31 (reliable/unreliable is behaviour) 01:13 Tablet_One Ok, so I tried to join a server, and I got in, but the app crashed right after. I don't know if it's the app, or if the server is to heavy for a tablet. Here's the debug: http://pastebin.com/3MPPv4pX 01:13 hmmmm est31: FWIW, *all* of the packets are copied using memcpy before being sent 01:14 est31 I know they are copied 01:14 est31 perhaps memcpy is still used 01:14 est31 but using memcpy in a repetitive style is ugly 01:15 est31 and dangerous 01:15 est31 Wayward_One, I see is no crash in that log 01:22 Tablet_One Ok, then my tablet must not be powerful enough 01:23 Tablet_One Thanks for clearing that up 01:23 est31 Tablet_One, how did you create the log? 01:23 Tablet_One It was formed automatically in the Minetest folder 01:24 est31 hm, can you check the logcat? 01:24 Tablet_One What is that? 01:25 est31 its android logging mechanism 01:25 est31 every app logs there 01:25 est31 install this: https://play.google.com/store/apps/details?id=com.nolanlawson.logcat 01:25 Tablet_One Ok 01:25 est31 only if you have root access. if not, then nvm 01:26 Tablet_One Nope, I haven't rooted it yet 01:27 est31 you did singleplayer? 01:28 Tablet_One No, I joined BlueLobster Free-4-All 01:28 est31 ok 01:55 Zeno` Looks like the android release went well? 02:05 Wayward_One pretty well, yeah 02:07 est31 there is #2502 ... 02:07 ShadowBot https://github.com/minetest/minetest/issues/2502 -- Shaders on android produce wrong colors 02:08 est31 f-droid process can be tracked here : https://gitlab.com/fdroid/fdroiddata/merge_requests/639 02:08 est31 but yes it went well otherwise 02:08 est31 already 10-50 installs! 02:08 est31 we'll make our first million in a week :P 02:09 est31 (at this pace) 02:41 Zeno` #2503 (trivial) 02:41 ShadowBot https://github.com/minetest/minetest/issues/2503 -- Minor cleanup: game.cpp by Zeno- 02:42 Zeno` So sfan5 is less upset 02:42 Zeno` I am not going to make GameRunData "global" though (sorry sfan5) 02:43 Zeno` s/"global"/"effectively global" 02:50 Zeno` est31, the only time I've seen "all red" is when shaders are not working 02:54 VanessaE *rubs eyes* hi all. 02:58 Zeno` no chatting! /me throws chalk at VanessaE 02:59 hmmmm hmm 02:59 VanessaE ow. 03:00 hmmmm does PseudoRandom lose its ability to get inlined if I use virtual functions? 03:00 Zeno` hmmmm, I would say so 03:00 hmmmm yeah... shit 03:01 hmmmm I'm not sure how to implement this in a clean manner without reducing performance or bloating code 03:01 Zeno` implement what? 03:02 * Zeno` looks at the logs 03:17 hmmmm a non-crappy version of pseudorandom =-] 03:35 Zeno` How does Jenkins work? 03:35 Zeno` There is no config file anywhere? 03:37 Zeno` I don't really "get" it 03:39 hmmmm LEEEEEEEROY! 03:43 Zeno` oh 03:43 Zeno` https://github.com/minetest/minetest/commit/699d42efc64cb1e317efbdf21dd55fdbef4c108c 03:43 Zeno` that was stupid anyway (using assert()) 03:44 Zeno` assert() is not in release builds 03:44 Zeno` Why can't people understand that? :( 03:52 est31 wasn't there this custom assert definition of minetest? 03:53 Zeno` There was before it got removed 03:53 est31 knew you would comment on this 03:54 Zeno` I just don't understand where people got the idea of using assert() for lazy error checking in the first place? 03:54 Zeno` Are universities full of stupid people now? 03:55 est31 https://github.com/minetest/minetest/pull/2503/files#diff-18513665750ef5adf42b5ec29e14162eR68 03:55 Zeno` (the ones teaching I mean) 03:55 est31 is github stupid, or did you really add a # and then a tab? 03:55 Zeno` I added a tab 03:56 est31 at the start or behind the #? 03:56 Zeno` after the # 03:56 est31 why that 03:56 est31 does the preprocessor ignore it otherwise 03:56 Zeno` nope 03:57 Zeno` there was nothing in the style guide and looking at other files I couldn't find a clear way that the MT source code prefers it 03:57 est31 but I understand the idea behind. you shouldn't ident because of #ifdefs 03:57 est31 so you did the pseudoident 03:58 Zeno` you do indent if it's all pre-processor stuff 03:58 Zeno` (you don't have to, but it's easier to read and common practice) 03:59 Zeno` The question is where to place the tab; and that's a style issue 03:59 est31 stupid thing that preprocessor requires newlines. 03:59 est31 in fact, you could spare all newlines in a file if there wasnt the preprocessor 04:00 Zeno` well, you can use # inside the macro so I guess there's no reasonable way around it heh 04:00 est31 I mean, why do we have three kinds of non-printable chars? 04:00 est31 refactor them to one, the space 04:00 est31 its easier to read, without all the downscrolling 04:00 est31 after all, most computer screens are broader than high 04:01 Zeno` you must have a very small screen/terminal if you need to downscroll to see all 3 lines 04:01 Zeno` :) 04:04 Zeno` regarding # at the start of the line followed by tab(s), vs. tab(s) before the #... apparently before ANSI C the # was *required* to be the first character on the line. So there is some historical reasoning why some projects prefer it always as the first character even if though that's no longer a requirement 04:08 Zeno` we should write a documentary 04:08 est31 ? 04:13 Zeno` The History of Silly Things Inherited from Ancient C Programming 04:52 hmmmm I really wonder how much of a performance hit there would be if I made PseudoRandom next() a virtual function 04:53 hmmmm probably not significant enough to be an issue, but relative to actual operations taking place it might be bad 05:01 Zeno` Why's it need to be virtual? 05:02 hmmmm so i can minimize the amount of changes I do to the rest of the code 05:03 Zeno` I guess I'd need to see what you're doing to actually understand that 05:05 hmmmm lol 05:05 hmmmm I love how -O2 code is almost always faster than -O3 05:27 paramat weird damage bug i just confirmed https://github.com/minetest/minetest/issues/2501 05:30 paramat probably caused by nerzhul's recent damage related commits 05:30 hmmmm i wonder if they were tested... 05:38 paramat ShadowNinja and MTGame team, i'll soon push https://github.com/minetest/minetest_game/pull/453 to MTGame, as it's now a mapgen/bugfix/maintenance commit, hope this is okay 05:39 paramat then will also push #2504 05:39 ShadowBot https://github.com/minetest/minetest/issues/2504 -- Mgv6: Remove addDirtGravelBlobs, replaced by registered blob ore in MTGame by paramat 05:40 est31 no apples anymore?? 05:41 hmmmm i have an idea of how to do apple trees 05:41 hmmmm it requires a new version of schematics though 05:41 paramat the tree was controversial =) i need to get this pushed 05:41 Zeno` well I've found out the source of the "invisibility" bug that I haven't reported 05:42 paramat when there are trees growing through each other the trunk dissappears on one, i was considering using the probability value to allow per-node control of force-placement 05:43 hmmmm we need to write unit tests for schematics 05:43 hmmmm the code for schematics is waay too fragile 05:44 paramat 255 values of probability are so fine, we can control more with the prob value, perhaps odd = force place, even = not force place, or something 05:44 hmmmm paramat: you know the schematic replacements field in the lua api 05:45 hmmmm add a probability parameter to that 05:45 hmmmm actually that'd require a fair bit more coding 05:45 hmmmm hrmm, okay... 05:46 VanessaE hmmmm: Ltrees does something very similar to place fruits. 05:46 hmmmm I think this could be a shared field between both DECO_LSYSTEM and DECO_SCHEMATIC 05:46 hmmmm good to note 05:47 paramat placing apples in appletrees doesnt seem a problem though, apart from it being the choice between apple and air, not apple and leaf 05:49 paramat unrelated: now trees are allowed to grow to full_node_max i am having to drop dust from there too, am working on that.. 05:49 hmmmm hmmm ... 05:50 hmmmm this is so messy 05:50 Zeno` this is not good 05:50 Zeno` I don't even know what type hp is supposed to be 05:51 Zeno` in some places (most) it's u8, in others 16, and in at least one place s32 05:51 hmmmm maybe it's time to think about shifting discrete structures over to a different system altogether 05:51 hmmmm where it gets placed outside of the map generator 05:51 paramat so hmmmmm what's the issue you see with appletrees? 05:52 hmmmm trying to think of whether to modify Schematic or DecoSchematic 05:53 hmmmm probably DecoSchematic 05:54 hmmmm add a std::map > to DecoSchematic 05:54 hmmmm that'll be the replacement probability map 05:54 hmmmm as you could guess, it's original node -> (replacement node, probability value) 05:55 hmmmm have this loaded from place_schematic and register_decoration 05:55 hmmmm and then pass it as a parameter to Schematic::blitToVManip 05:55 hmmmm I guess that makes the most sense here 05:57 hmmmm so this way we'll have one register_decoration using the same schematic as regular trees, it just has a replacements = {{from="default:leaves", to="default:apple", probability=128 } 05:57 hmmmm well that's too high of a probability for apple trees 05:57 hmmmm but you get the idea 05:57 paramat ah i see 06:02 paramat for jungles i need to pack the trees really close, overlapping in fact, so trunks should be force-placed and leaves should not. we could perhaps have 0-127 as probs with no force place, 128-255 as probs with force place 06:05 hmmmm i don't see force-placed probabilities as being particularily useful. more likely than not you'll end up with swiss cheese of the two node types 06:05 hmmmm and it'll look ugly 06:05 hmmmm as for particular nodes being force placed and others not, that would necessitate a new schematic format. i don't really have any other ideas 06:08 paramat ah yes. i did think of 255 = force place. 0-254 = no force-place with probability 06:09 hmmmm oh don't assign special meaning to certain probability values 06:09 hmmmm i made that mistake the first schematic format version 06:10 hmmmm do you want to make force placement an attribute of the node itself, or the content type? 06:13 paramat othe node itself 06:13 paramat (-o) 06:14 hmmmm that's going to require much more storage 06:15 hmmmm you'd also need to rewrite MapNode::deSerializeBulk if you do that 06:15 hmmmm well, nevermind that 06:16 paramat maybe i misunderstand. essentially because prob in param1 doesn't really need 255 levels of prob we could encode more information with param1, that was my idea for using it to also control force-place 06:16 paramat anyways it's not urgent, the forests will still 'look' good with hidden chopped trunks 06:17 hmmmm so you want to split param1 between "probability of placement" and "probability of force placement"? 06:18 paramat prob of force place is not needed, that can be yes or no 06:18 paramat we just need to make sure trunks are always force placed 06:19 paramat ..and leaves are not, within one schem 06:19 hmmmm that can be doable by separating it on content 06:19 paramat the problem with MT is, if one becomes too perfectionist one quickly goes insane =) 06:22 paramat back later O/ 06:23 Zeno` hmmmm, #2505 and #2503 if you have a few seconds 06:23 ShadowBot https://github.com/minetest/minetest/issues/2505 -- Fix various damage related bugs (client-side) by Zeno- 06:23 ShadowBot https://github.com/minetest/minetest/issues/2503 -- Minor cleanup: game.cpp by Zeno- 06:23 hmmmm lol what @ 2503 06:23 hmmmm if you wanted to make game.cpp cleaner, a good start would be to separating things into new files 06:23 Zeno` sfan was unhappy the parameter names were not consistent 06:24 hmmmm you misspelled parameter in the commit msg by the way 06:24 Zeno` I know and I planned to do that (split into files and other things) after I refactored the whole file originally but lost steam :) 06:24 Zeno` Oh... I'll fix that 06:24 hmmmm removing unnecessary includes is always good, doubly so if you're removing them from a header :-) 06:25 hmmmm as far as "# preprocessor_directive" - I would normally do that in my own code for correctness, but minetest has " #preprocessor_directive" everywhere already so i figured i'd be consistent 06:26 Zeno` yeah I wasn't sure about the accepted style 06:27 hmmmm it doesn't matter, what is consistent in this entire codebase 06:27 hmmmm heh 06:28 sfan5 Zeno`: why not make GameRunData a class var.? 06:28 hmmmm also GameRunData is a pointer in some places and const ref in another 06:29 hmmmm do the functions where it's passed as a pointer modify it? 06:29 Zeno` sfan5, well that effectively makes it almost global 06:29 Zeno` hmmmm, not all of them 06:29 Zeno` oh as a pointer always 06:29 sfan5 almost global? 06:29 hmmmm if you ever looked at google code style this is a thing 06:30 Zeno` if not it's passed as a const reference 06:30 Zeno` sfan5, the class is huge 06:30 hmmmm they have a rule that things should usually be passed as pointers, but you could pass it as a const ref instead if it's not being odified 06:30 hmmmm modified 06:30 hmmmm void processUserInput(VolatileRunFlags *flags, GameRunData *rundData, 06:30 hmmmm rund data 06:31 Zeno` hmmmm, and that's what I use as well... pointer for stuff to be modified and const ref. otherwise 06:31 hmmmm lol you propogated the typo throughout the function 06:31 hmmmm was that on purpose to piss off sfan 06:31 Zeno` shit 06:31 sfan5 lol 06:31 Zeno` nah, it's my stutter 06:31 hmmmm otherwise LGTM +10000 06:32 Zeno` sfan5, I can explain the history (if you want it) behind the parameters if you want it ;) 06:32 Zeno` see... I stuttered again 06:33 hmmmm so why does spawning into lava cause invincibility 06:33 hmmmm when you respawn don't you become un-dead and it starts hurting you? 06:34 hmmmm also i'm not sure what the difference is between being dead and having zero hp 06:35 Zeno` I'll give the brief history. When I refactored the_game() it was originally a 3400 line function. So, I broke that giga-function into many smaller functions; it was not a class at all. So that the GameRunData didn't have to be an object with file scope I naturally used parameters. Then, after that someone suggested (or asked, I can't remember) that it be made a class instead. After changing it to a class I figured that it would be nice (still) to 06:35 Zeno` know which functions changed the rundddData so I left them 06:35 Zeno` hmmmm, there is no difference 06:36 Zeno` hmmmm, and I don't know why spawning into lava makes you never lose health. It's related to https://github.com/minetest/minetest/commit/64ff966bae99813229dff6629fd9131a91ba7484 06:36 Zeno` and the client and server being out of sync somehow 06:36 hmmmm oh 06:36 Zeno` server version doesn't matter 06:36 Zeno` just connect to any server with the current client... 06:37 sfan5 Zeno`: function d needs GameRunData, it is called like this function a -> function b -> function c -> d; i now need to change at least 8 lines of code to get that variable into my function 06:37 sfan5 and you won't know which functions changed the rundddData 06:37 sfan5 because function a, b and c need the runData arg too 06:38 Zeno` teleport into lava; you die; teleport back into lava; /sethome if the server has it; and from then on whenever you /home you become invincible (e.g. you can skip the dying part) 06:38 sfan5 whats so bad about making it 'almost global' anyway? 06:38 Zeno` if you don't have teleport you need to be able to type /sethome really quickly but it's still possible 06:39 Zeno` sfan5, what's so bad about having everything global (or file scope)? 06:39 sfan5 I'm not talking about having everything global 06:40 sfan5 but having something that is needed by many functions and just passing that along w/ every one of them is inefficient 06:40 Zeno` What I'm saying is that class is way too large anyway I guess... so in this case it probably doesn't matter 06:40 * sfan5 bbl 06:41 Zeno` But that's kind of explained by the historical events (it was not a class at the beginning)... I guess I'm not particularly scared of passing arguments. 06:41 Zeno` sfan5, it's not a moral issue :) 06:42 Zeno` does function d need everything inside runData? 06:42 Zeno` oh, sorry... missed the bbl 06:46 Zeno` The majority of the existing functions don't need runData 06:46 Zeno` One day I'll get back to my original plan of continuing to clean up game.cpp 06:47 Zeno` Maybe I should just make GameRunData smaller for a start 06:48 Zeno` it's a pretty large struct 06:51 Zeno` I may split that class into two as well... if not classes then files where I can expose GameRunData in another way. I remember why I did it that way (in addition to them all originally being functions and not member functions). You can see the pattern by looking at the functions where GameRunData is currently passed to 06:52 Zeno` (i.e. they are all related to processPlayerInteraction) 06:52 Zeno` apart from the single gui one 06:54 Zeno` hmmmm... I might do that tomorrow 06:54 Zeno` s/hmmmm/hmm 06:56 Zeno` especially now we have a client/ directory 07:05 hmmmm about tht 07:08 hmmmm I wanted to reorganize the directories 07:08 hmmmm it might help if we do it all at once, like ripping off a bandaid 07:09 hmmmm if more people are on board with this, I'd like to go through all current pull requests over the course of a few days 07:10 hmmmm and merge, or at least give a comment on why it's not merged yet, or close it if it's been old and abandoned 07:11 hmmmm things that are really specific to client go in client/, really specific server things go into server/, common things stay in src/, then each client/ and server/ has a script/ directory 07:12 hmmmm network is too small of a directory to bother maintaining anymore and the source files in there should be split between client/ and server/ 07:12 hmmmm third party libraries should go into a directory called third_party or something 07:12 hmmmm jthread and util stay in src/ 07:15 hmmmm I like directories for organizing things, but we should be very careful about going overboard because I don't want to turn into a C++ version of terasology 07:25 Zeno` oh great 07:26 Zeno` my fix causes a lag before damage is updated on-screen 07:32 Zeno` well, actually... you see the damage flash but the hearts don't update straight away 07:37 Zeno` I'm pushing this: http://dpaste.com/2BRZXH0 (minor bug fix) 07:39 paramat will push game#453 very soon 07:39 ShadowBot https://github.com/minetest/minetest_game/issues/453 -- default/mapgen.lua: Fix biomes, register blob ores in mgv6 to replace addDirtGravelBlobs by paramat 07:40 celeron55 "Hi I like the game multicraft, but can you make a world with unlimited blocks and objects? Also I've been meaning to ask you if you can make beds and lamps for the miners so they don't have to go out and look for wool and stuff that will save them slot of time,thanks for reading." 07:40 celeron55 enjoy this yet another nonsense email 07:41 Zeno` umm. Thanks? 07:41 Zeno` heh 07:42 Zeno` A good employer would supply beds and lamps for their miners 07:42 Zeno` All employees should have a bed for quick naps 07:42 celeron55 if i didn't think that person is completely retarded, i would be angry of him asking me to add something to a minetest android ripoff 07:45 paramat okay now pushing 453 to game .. 07:45 celeron55 that particular one seems to have something like 350 000 installs 07:46 nrzkt then for 5f8e48c63baf12930430d5d8fc07495021599e61 we have two choices: catch the exception on server side and exit. Use a ifdef SERVER and do the way i propose else do the throw for the client. 07:46 Zeno` for what? 07:46 nrzkt this crash i fixed which isn't well handled for client running embedded server: https://github.com/minetest/minetest/commit/5f8e48c63baf12930430d5d8fc07495021599e61 07:46 Zeno` anyway, as usual for this time of day I go away for a few hours :) See you soon 07:47 Zeno` oh that one. Yes, and assert() was no good either :P 07:47 nrzkt yesterday i experienced a problem with this throw which isn't catched on server then server crashes because of this without warn me about the error 07:47 Zeno` read logs. will be back an a few hours 07:47 nrzkt i already read logs 07:47 Zeno` k :) 07:47 nrzkt then we must fix this crash. The error isn't handled on minetestserver. 07:47 paramat ugh whitespace errors, will push this later 07:48 Zeno` sorry, just rushing to get off before I get involved in yet another conversation... hehe been trying to do what I have to do for 30 minutes now 07:49 nrzkt hmmmm: your suggestion was what i was suggest and if i remember you rejected it :) 07:49 nrzkt and for network, don't touch the directory now, because some files will be added when i will work on sessions 07:50 paramat actaully, i'll fix my whitespace errors right now, continuing with push .. 07:50 nrzkt for third_party we can use a well known name: contrib/ 07:50 hmmmm that sounds better 07:50 hmmmm nrzkt: your version of the suggestion I thought you wanted to make common a separate library 07:51 hmmmm i don't agree with that part at all 07:51 hmmmm i don't want common source files to be in a separate directory either... 07:51 nrzkt yeah, no problem for this it's only a compilation comfort :). Also for common no problem for me 07:51 hmmmm making it a library would ruin whole program optimization 07:52 nrzkt can you explain me really what is the problem with libraries and optimization, i'm not very familiar with this 07:52 hmmmm there's this feature on all modern optimizing compilers called Whole Program Optimization 07:53 hmmmm basically you know how each compilation unit (.cpp file) is its own self-contained module of compiled code? 07:53 hmmmm well if it has several of these it can figure out ways to optimize the code across each file when making the resulting binary 07:53 nrzkt okay, i see 07:53 hmmmm but if it's a library this causes problems with that and it won't attempt this optimization with any calls to the common library or vice versa 07:56 nrzkt okay, thanks for the explanation 07:57 paramat (push complete) 07:59 nrzkt #2495 seems good for me. hmmmm, paramat ? 07:59 ShadowBot https://github.com/minetest/minetest/issues/2495 -- Save creative_mode and enable_damage setting for each world in world.mt by fz72 07:59 hmmmm yes, agreed 07:59 hmmmm let me look at the implementation... 08:00 paramat yeah cool 08:01 hmmmm without testing, it looks good to me 08:01 hmmmm I trust that it works though 08:02 nrzkt i will test it another time to be sure, and push it if okay, agree ? 08:03 hmmmm yes 08:03 paramat what hmmmmm said 08:03 hmmmm night 08:08 nrzkt strange; i create a branch and i have this issue: unable to find rule to make: po/timestamp/minetest.po 08:11 nrzkt i can make minetest and minetestserver targets without problems 08:14 est31 timestamp is for android, isnt it? 08:14 est31 nrzkt, have you done an android build with that repo before? 08:17 nrzkt you are right, i do it :) 08:17 nrzkt okay fixed, thanks for the tip; i have never let my android builds before :) 08:18 nrzkt sorry, not fixed 08:18 nrzkt make clean_all on android build doesn't fix the thing 08:19 nrzkt then, no problem i set the targets in my command, i'll look at this later 08:37 nrzkt will push the reliable/unreliable fix for unreliable send regression to master now 08:37 nrzkt packet: TOCLIENT_ACTIVE_OBJECT_MESSAGES 09:43 nrzkt guys, new stats on sunday: 39 Minetest installations on android 10:06 est31 so, what is the best method to point players to the app... 10:06 est31 I want to add a message on join 10:06 nrzkt i don't know. I add a hardcoded patch which check the client version at join 10:06 nrzkt which does a sendchatmessage to client if version < 0.4.12 10:07 est31 please not to master 10:07 nrzkt no 10:07 nrzkt it's only for my server 10:07 est31 for master, I can perhaps make a patch... 10:07 nrzkt i have a separate branch with some little core additions :p 10:08 nrzkt i don't think it's a core issue. Admins must do the communication themselves 10:09 est31 yes ofc, but when lua api is extended to enable a simple lua patch, then perhaps more admins will add it. 10:09 nrzkt yes 10:09 est31 there is already register_on_joinplayer 10:09 est31 perhaps add another argument 10:09 nrzkt yes, you can use it 10:09 nrzkt you need to retrieve client version major minor and patch and compare it. Then send a message 10:11 nrzkt here is my message: "*[EN] Server Notification* You client version is outdated. We recommend you to upgrade to 0.4.12 or later.\nIf you are on Android, please use the new free and official version 'Minetest' on the Google Play Store available here:\nhttps://play.google.com/store/apps/details?id=net.minetest.minetest" 10:13 Calinou use a short link so that it is easily typable 10:13 est31 yup 10:13 Calinou or point to minetest.net/download 10:13 est31 anyone knows a good url shortener? 10:13 Calinou ur1.ca bans tons of people :P 10:13 Calinou someone needs to update minetest.net/download anyway 10:14 est31 perhaps also with link to the F-droid repo 10:14 est31 when/if it gets there 10:14 Calinou that's why we should point users to minetest.net/download 10:15 Calinou and not Google Play 10:16 nrzkt right, but F-Droid and play store permit to update the apk without user action better for the maintenance 10:17 est31 F-Droid doesnt 10:17 nrzkt oh ? okay :) 10:17 est31 its like apt-get or yum 10:18 nrzkt okay 10:43 nrzkt as discussed with celeron55, i have created a topic on the forum to create a minetest_game enhanced for android users. The basic idea was to improve minetest_game, but it seems it's more reasonable to create a meta-game which include minetest_game and some others mods for our android customers. Everybody can contribute to this topic, adding ideas and argument about which mod add or not add and why. => https://forum.minet 10:43 nrzkt est.net/viewtopic.php?f=3&t=11499 10:43 nrzkt erf... cutted: https://forum.minetest.net/viewtopic.php?f=3&t=11499 10:47 nrzkt the goal is not to supersede minetest_game; regular clients and servers must continue to use it. 10:47 est31 "est.net" 10:48 nrzkt xD, sorry IRC cut my message :p 11:38 kilbith i'm a bit tired to report 4-10 forum spams everyday, does a captcha solution can be considered ? 11:42 Calinou captcha annoys everyone 11:43 kilbith typing 4 clear characters is annoying ? 11:44 kilbith report and cleaning posts daily is. 11:45 est31 captchas when you register? 11:45 est31 not at every post 11:45 kilbith yes 11:46 Calinou you're not obliged to report, we eventually notice it :P 11:46 Calinou est31, some users do fail to solve captchas 11:46 Calinou IMO they're a thing of yesterday 11:46 est31 so what do you think is the thing of today? 11:47 kilbith the current caretakers won't be eternally present to monitorize closely the forum - some day it can be drowned by spams 11:48 kilbith not all captchas are equals, some are very hard to decrypt but some not 11:53 kilbith or as another solution, force copying a short phrase in a field 11:54 kilbith well, all that is not painful 12:51 sfan5 ~tell Zeno` the 4 function thing was just an example but it might be exactly that case in the future when somebody works in game.cpp 12:51 ShadowBot sfan5: O.K. 13:02 Zeno` est31, I have no idea what to make of #2509 13:03 ShadowBot https://github.com/minetest/minetest/issues/2509 -- full version of a client is empty 13:03 nrzkt i'm on it Zeno` 13:03 est31 Zeno`, 13:03 est31 man wrong button 13:03 est31 sry 13:03 Zeno` you are reporting a bug in your own PR that hasn't even been merged? 13:03 est31 its a bug with an internal variable 13:03 est31 but, yes. 13:03 Zeno` :/ 13:04 est31 nerzhul wanted it for tracking 13:04 est31 I've pmed it to him first 13:04 nrzkt he points a bug :) 13:04 Zeno` nrzkt, est31, umm why? Why not just fix the PR?! 13:04 est31 because the PR doesnt touch that code 13:04 est31 it only reads it 13:05 Zeno` that's not clear in the issue 13:05 est31 its obviously a bug 13:05 nrzkt Zeno` it's not a PR bug Zeno` :p it's a single bug. 13:05 Zeno` yeah I see that now but the issue is confusing 13:06 est31 sry for that 13:06 nrzkt no problem, i take it :p look at the PR mention in PM :p 13:06 Zeno` ok, onto the second question. Why is the full client version needed by Lua? 13:06 est31 yes 13:07 est31 Zeno`, I want it because I want to enable server owners to show a nice "you have an old version" message. Its totally their choice, and they have to code the function themselves, but I added the functionality 13:07 Zeno` I think you'll have a lot of difficulty getting that accepted 13:08 est31 and why full version ... why do something incompletely 13:08 est31 why? 13:09 Zeno` https://github.com/minetest/minetest/pull/1689 as an example 13:10 nrzkt maybe a dedicated Lua call which gets the playername as parameter and return the client versions is better 13:10 nrzkt this call can be trigger by the original on_register 13:13 nrzkt i push the 2509 fix now 13:15 est31 ok, what about sending the "fork"'s name too? 13:15 Zeno` est31, it already shows that 13:15 est31 where 13:15 Zeno` when you connect if your client is older than the server version it gives some warning 13:16 Zeno` something like "warning this server uses ******* but your client is old and may not support all features" 13:17 est31 aha 13:21 est31 ok building 0.4.10 and checking that 13:23 est31 connecting with 0.4.10 gave me no such message 13:23 est31 to 0.4.12 13:24 Zeno` it gives it to you in the status text 13:24 Zeno` it'll look like a chat command 13:24 Zeno` chat message* 13:26 est31 no nothing 13:27 nrzkt Zeno` there is no message. My wife uses a 0.4.11 on my 0.4.12 server, no message 13:28 srifqi Zeno`, sorry, but what do you mean? (about: #2480) another dialog? 13:28 ShadowBot https://github.com/minetest/minetest/issues/2480 -- Add mg spflags in dlg create world by srifqi 13:28 srifqi there is no more room 13:28 srifqi have you idea? 13:29 est31 hm on 0.4.3, you can't enter into formspecs 13:30 est31 ha! 0.4.4 has no compat to 0.4.12 13:30 est31 but error 13:30 Zeno` srifqi, not sure actually. A dropdown with with checkboxes would be idea but can't do that :( 13:31 nrzkt ping Zeno` #2506 #2429 and #2443 13:31 srifqi Zeno`, yes, there is no checkboxes in dropdown, any other idea? 13:31 ShadowBot https://github.com/minetest/minetest/issues/2506 -- Server::step throw is never catched in minetestserver by nerzhul 13:31 ShadowBot https://github.com/minetest/minetest/issues/2429 -- Update credits by Zeno- 13:31 ShadowBot https://github.com/minetest/minetest/issues/2443 -- Make MutexedQueue use std::deque instead of using a std::list member by nerzhul 13:32 est31 0.4.6 has assert errors 13:33 Calinou the protocol did not change between 0.4.11 and 0.4.12 13:34 Zeno` srifqi, I guess what I am saying is that if the person creating the world knows what flags to add in the new text edit your PR creates then they are 99% likely to know how to manually add them anyway 13:35 srifqi so, we need something like helper? 13:36 est31 ok, with 0.4.8 I was abled to generate an error 13:38 est31 https://github.com/minetest/minetest/blob/814e55597d3c3c1711825366d4345cee48d8fb87/src/network/serverpackethandler.cpp#L692 13:38 est31 ^ for reference 13:41 est31 so, nrzkt perhaps your method approach is better than my param approach... but I'll wait for community to input on this 13:42 est31 before I invest more time 13:44 nrzkt no problem :) 13:48 est31 Zeno`, I think part of the criticism was that ShadowNinja suggested to do feature detection by version and not by feature. Thats a very bad thing. User agent strings have shown us where this had led to. However I don't think that this should disable the API completely. after all, mods can already now parse core.get_server_status() 13:56 Zeno` " I want it because I want to enable server owners to show a nice "you have an old version" message. Its totally their choice" 13:56 Zeno` do it in the engine then, rather than using Lua? 13:57 est31 lua allows for a wide variety of options 13:57 est31 and mods can exploit them all 13:58 Zeno` what's the PR again? 13:59 est31 #2508 13:59 ShadowBot https://github.com/minetest/minetest/issues/2508 -- Pass version information to joinplayer callback by est31 13:59 Zeno` yes, but that does the same thing as SN's patch did (in effect) 13:59 est31 one is for the server, one for clients, isn'T it? 14:00 est31 (exploit in a positive sense ofc, for the record) 14:00 Zeno` I must be confused then... there is no client side scripting (well, there is, but there isn't supposed to be) 14:01 nrzkt right. SN => server est => client 14:01 est31 ShadowNinja's patch allows to fetch the version of the server. mine allows to fetch the version of the client. 14:01 Zeno` yeah ok, I see 14:02 Zeno` the same arguments may apply though 14:02 Zeno` (not that I agree with all the arguments presented) 14:04 est31 minetest is no kindergarden for mods to prevent them from doing bad things 14:05 est31 we don't even check identation 14:05 est31 I agree though that the situations of these two PRs are similar 14:06 est31 the fork argument clearly applies 14:06 Zeno` yep 14:06 Zeno` anyway, the PR is new so a day or so of discussion cannot hurt 14:07 Zeno` let's discuss #2462 14:07 ShadowBot https://github.com/minetest/minetest/issues/2462 -- Configurable automatic texture scaling and filtering at load time. by Warr1024 14:07 est31 but the question is: do you want to privilege fork users, who most times use an outdated and ad laden fork which lowers reputation, or do you want to privilege server owners 14:07 est31 agreed Zeno`. 14:08 Zeno` est31, I don't know about that. Which is why I'd like to think more and hear some more opinions. At the moment I'm ambivalent 14:08 Zeno` so... 2462... 14:08 Zeno` I tested it when I made my comment and could see no issues (it looked good on screen -- to me -- actually) 14:09 est31 it should probably be done with setDefaults 14:10 est31 and default off, in mine opinion, after all its a blocky game :) 14:10 Zeno` yeah 14:10 Zeno` so that needs to be added 14:10 est31 not that its looking good 14:10 nrzkt agree for 2462 14:11 est31 (add second not somewhere) 14:12 Zeno` ok, assume I set the default value for "texture_clean_transparent" (if I'm in a good mood), merge? 14:13 Zeno` ugh... I will add a comment 14:13 Zeno` I can't be bothered doing that hehe 14:13 nrzkt i don't find any issue on this PR and it's a good improvement. but don't forget default value for texture_clean_transparent and texture_min_size in defaultsettings.cpp 14:15 Zeno` nrzkt, those are the comments I just added to the PR :P 14:15 nrzkt a oh, my page wasn't up to date :) 14:18 Zeno` 2506 looks better now :) well, apart from the Jenkins failing 14:18 nrzkt android makefile shit 14:18 nrzkt ndroid NDK: ERROR:jni/Android.mk:ssl: LOCAL_SRC_FILES points to a missing file 14:18 Zeno` ask Jenkins to fix the make file! 14:18 Zeno` heh 14:18 nrzkt this error occurs some times... 14:18 nrzkt not only on jenkins, also on my computer 14:19 Zeno` smae with on mine 14:19 Zeno` it's very irritating 14:19 est31 for i in 1 2 3 do make && break; done 14:19 est31 ugly way of "solving" it 14:19 nrzkt xD 14:19 Zeno` maybe the whole makefile can be rewritten one day 14:19 Zeno` but I don't think I want to do that 14:20 nrzkt yes, i started. But i stopped because it's boring :p 14:20 Zeno` it's all too hacky and I get annoyed looked at it lol 14:20 Zeno` yes, and boring lol 14:20 est31 the -j JOBS setup is wrong too 14:20 nrzkt the first thing will be translate all the commands to cmake calls 14:20 est31 make has an own jobserver for parallelism, you dont need to handle it yourself 14:21 nrzkt right. I will remove this ugly hack this afternoon. This override my freebsd make and it's useless 14:22 est31 and I'm off 14:22 est31 cya 14:22 Zeno` bye :) 14:22 Zeno` sleep"? 14:23 nrzkt then, okay for 2506 N 14:23 nrzkt ? 14:25 Zeno` as far as I can see, yes 14:25 Zeno` looks fine to me 14:25 nrzkt thanks 14:26 nrzkt pushed 14:29 nrzkt #2471 seems good for me, Zeno`, hmmmm ? 14:29 ShadowBot https://github.com/minetest/minetest/issues/2471 -- Standalone bundle for OSX (w/ dependencies!) by neoascetic 14:29 nrzkt as far i know about Mac OSX (last use on mavericks) this is good 14:31 Zeno` yeah I don't understand enough about that one 14:31 Zeno` but it's a bit like translations 14:31 Zeno` sometimes I guess we have to trust our users if we can't understand (for translations) or test (on an OS we don't have) 14:32 Zeno` so as long as it does not break any other builds I'm fine with it 14:32 nrzkt on this PR all paths are correct 14:32 nrzkt and the modification affects only apple products 14:33 Zeno` (I haven't tested it, but I don't see anything obviously wrong) 14:33 Zeno` yep, well I guess it's a case of merge then 14:33 Zeno` I can't test and I don't know any other core dev using OSX either 14:34 Zeno` so, yeah 14:34 Zeno` as long as it only affects osx I would agree to merge. I meant to raise this PR myself actually 14:37 nrzkt i push it now 14:37 Zeno` k 14:48 nrzkt i will remove the ugly hack for android build 14:48 nrzkt the -j HACK 15:23 hmmmm yeah 2471 looks good 15:24 hmmmm but i don't know if it is good unless i were to install mac os x and test it 15:24 hmmmm :/ 15:24 hmmmm I'd have a much higher level of confidence about commits if we had better unit testing, but I'm not sure how to unit test over half the stuff committed 15:25 nrzkt right, this is difficult to add so more unit tests on each platform :( 15:26 hmmmm no, it's just hard in general 15:26 hmmmm how are you supposed to unit test, say, a change to the inventory code? 15:26 hmmmm I'm thinking it might be worthwhile to add autoit scripts to simulate GUI navigation like a user might actually do 15:27 nrzkt you need to test the output result of a classic modification into the inventory 15:27 nrzkt like stacking or destacking items 15:27 hmmmm oh I mean from the GUI point of view 15:28 hmmmm I'm not actually sure, I was just using the android inventory crash bug as an example 15:30 nrzkt i don't experience this problem on my phone, can you give me more information to reproduce it ? 15:30 hmmmm ahh 15:30 hmmmm I was under the impression it was a reliable failure 15:31 hmmmm this was just a report I heard from tablet_one in the channel. he seems to be testing the android builds a fair bit which is great 15:33 hmmmm [10:48 AM] i will remove the ugly hack for android build what is this? 15:33 nrzkt android Makefile add -j instead of letting the user do it. 15:34 hmmmm oh that's sort of dumb 15:34 nrzkt https://github.com/minetest/minetest/commit/94b3950958c643c39c60b382c85f833593a718d0 15:34 hmmmm i wouldn't call it a hack, though 15:34 nrzkt not really a hack but i haven't any best translation for my own words :p 15:34 hmmmm multithreaded make might result in errors so it's always best to keep it optional 15:35 sfan5 ^ 15:35 nrzkt in fact, make -j4 release will do the work properly. Why the makefile want to override my options ? Parallelise is the job of the developper not the makefile :( 15:37 nrzkt it was on the original sapier's file in fact 15:39 Calinou make -j$(grep -c processor /proc/cpuinfo) 15:39 Calinou automatic detection :) 15:39 nrzkt and if i don't want to use all my CPU because i'm doing something else ? i don't have choice 15:40 Calinou then use arithmetics to substract 1 thread 15:40 nrzkt sorry but this mustn't be done by makefile. 15:42 hmmmm well, I agree with removing -j, but I wish people would have a chance to discuss it like this before it got pushed to upstream 15:43 hmmmm and possibly get approval from at least 2 core developers 15:44 nrzkt this is a trivial change, and i'm the main android packager atm 15:44 nrzkt and it was discussed briefly and pointer by est31 15:44 nrzkt pointed* 15:45 Zeno` In all fairness I was the one who spent over a week fixing the Android bugs 15:45 nrzkt thanks you, hopefully you permit this release :) 15:45 Zeno` Am I the main packager? No. Did I fix the bugs? Yes 15:45 nrzkt you are the main debuguer :D 15:46 Zeno` 2 weeks ago Android build did not display text 15:46 Zeno` that's not a debugging issue :/ 15:46 Zeno` nobody cared that Android did not display text 15:47 nrzkt somes parts of our code are abandonned :s like irrlicht engine, lightning issues... :( 15:47 Zeno` So, sorry, I find your comment a bit offensive 15:48 Zeno` I asked for help even... but nobody even offered or could care to look 15:48 nrzkt No problem Zeno`, i understand. I know you use many time to find the Android bugs which permit to have a good Android release (with cherry pick on master) 15:48 hmmmm I'd help but I don't even have an android device :( 15:49 nrzkt you can make a IOS build then ? :D 15:50 hmmmm I'm not really interested in mobile devices at all 15:50 nrzkt i was laughing :) 15:51 nrzkt https://github.com/minetest/minetest/issues/2507#issuecomment-82428061 ... 15:52 nrzkt user wants us to recover from LuaError due to a Lua coding error... 15:52 hmmmm it's definitely possible and, if done, needs to be a server option 15:53 hmmmm one that's disabled by default 15:53 nrzkt if a mod trigger a null pointer exception we need to recover from it ? This could trigger unexpected effects 15:53 hmmmm you mean nil access exception? it's a LuaError 15:53 nrzkt and this permits modder to do code with many problems 15:54 hmmmm absolutely not, if you make it optional and disabled by default 15:54 nrzkt yes, i was talking about that 15:54 nrzkt it's like having a great and ugly while(true) { try { runServer(); } catch (std::exception e) {} }; 15:54 hmmmm the people who want their server to ignore the error (which in 99% of cases will be minor and pretty much irrelevant) and the vast majority of other users will still see the problem when minetest crashes 15:55 hmmmm i can see server owners with one errant mod that has one bug in very rare circumstances wanting this functionality 15:55 hmmmm the entire thing doesn't need to go down because of one sandboxed script 15:56 hmmmm hrmm 15:57 hmmmm maybe we can try to guess which mod caused the crash and dynamically unload it 15:57 nrzkt i understand the uptime issue, i agree with it, but mods bugs cannot be found easily if they are not shown to server administrators, who looks debug.txt and send reports to modders ? 15:57 hmmmm that'd be difficult but i'd argue an ideal solution 15:57 hmmmm maybe these kinds of errors should be added to the syslog in addition to debug.txt 15:57 nrzkt and if the recoverable situation generate some missing and mandatory code for a mod which modify the player ? 15:58 nrzkt unrecoverable* 15:58 hmmmm that's a risk the people enabling this would have to understand 15:59 nrzkt many mods users wants working mods, not mods which can corrupt datas :s 15:59 hmmmm want to just try it? if this causes problems we can just remove the script recover feature later on 15:59 hmmmm I'm willing to bet it's fine in 99% of cases, though 15:59 nrzkt personnaly i don't want to talk with the 1% which have problems if you do it :p 16:00 hmmmm FWIW there's also ignore_world_load_errors 16:01 hmmmm so it's not like ignoring some non-fatal errors is unprecedented 16:01 nrzkt exact... strange thing too, we can corrupt the map with this, no ? if you want to add the switch, i think it's better to let server trigger their errors and if admins wants to turn of the thing, they must be careful and do it 16:01 nrzkt turn off* 16:02 hmmmm you must've misunderstood me earlier 16:02 hmmmm I'm saying this would need to be an option, that is disabled by default 16:02 hmmmm server owners would need to explicitly enable it on their own and be mindful of the risks involved 16:02 nrzkt oh sorry :) i understand the other 16:02 nrzkt in that case i agree then, you can make the modification if you want :) 16:06 nrzkt there are many issues to solve and many PR to check. hmmmm, Zeno` i need a last review with #2443 16:06 ShadowBot https://github.com/minetest/minetest/issues/2443 -- Make MutexedQueue use std::deque instead of using a std::list member by nerzhul 16:06 hmmmm i thought this was merged already 16:07 nrzkt no, because no other core dev agreed, and it's a modification on a sensible object. If you agree i push it :) 16:07 hmmmm hmm I don't get how those changes could cause synchronization bugs 16:09 hmmmm oh nvm didn't read the comments very well 16:09 hmmmm yeah it looks good 16:09 hmmmm i don't understand why people use std::list so much. it's a very slow data structure. 16:10 nrzkt yes, and i changed many std::list to better std::vector or std::queue 16:10 hmmmm http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container 16:11 nrzkt and as i noticed this improved server performance many times, now i can use nuke mode without any lag 16:11 nrzkt ok i push it to master then 16:12 nrzkt i do a last local test and push 16:13 nrzkt Google now uses PEGI, i answered their form and we are classified as 3+ 16:20 nrzkt perfect. Now pushing 16:21 Calinou heh, Minecraft is 7+ 16:21 Calinou we are beating them! 16:21 nrzkt i don't know why, we have no drugs, ni violence, no terrorists (except TNT users) 17:05 celeron55 i think the in-game chat and player-made creations make the age limit higher 17:06 celeron55 where did you get this information? 17:26 VanessaE actually, ESRB rates Minecraft as "E 10+" 17:26 VanessaE http://www.esrb.org/ratings/synopsis.jsp?Certificate=100396 17:40 Calinou it's the equivalent of PEGI's 7+ 18:39 sfan5 *sigh* 18:39 sfan5 this is exactly why you should not allow users to choose things they'll not want 18:39 sfan5 https://forum.minetest.net/viewtopic.php?p=172567#p172567 18:39 sfan5 tl;dr "I get the red screen. The edges are messed up too." >Irrlicht Software Driver 1.0 18:43 Krock oh. he uses the irrlicht driver, that's why it looks to... special xD 18:44 Calinou we can remove drivers other than OpenGL, sfan5 18:44 Calinou even ezQuake removed the software driver :P 18:44 sfan5 ofc we can 18:44 sfan5 the question is why did/do we allow the user to select the software driver in the first place? 18:45 Krock beside to the burningsvideo it's the only driver that works on every graphic card 18:46 Calinou 99,5 % of our user base has working 3D acceleration 18:46 Krock and 99.999% supports opengl 18:46 Calinou I can play Minetest smoothly with Nouveau now 18:46 Calinou it has evolved 18:46 sfan5 hm 18:46 sfan5 Krock: your sentence sounds incorrect while it's completly correct 18:46 sfan5 burningsvideo has nothing to do with video cards though 18:46 sfan5 it just renders the thing 18:46 Krock same with irrlicht's driver 18:46 sfan5 displaying it is the job of the os 19:21 ShadowNinja sfan5: build-cleanup updated, and the man page looks much nicer now :-). I also combined the largely duplicate man pages and added the --worldname option. 19:21 ShadowNinja I should also make --migrate not require --server, but I'll do that seperately. 19:22 ShadowNinja I addressed all your comments except the endif() one, which I prefer as-is. 19:23 ShadowNinja (And the RUN_IN_PLACE one) 19:29 ShadowNinja sfan5: Good to merge now? 19:30 sfan5 i haven't looked at it again 19:56 ShadowNinja nrzkt: Your server's 503ing. 19:58 rubenwardy sfan5, I remember a case where a user had to use software renderers as they had no other choice 19:59 nrzkt i know ShadowNinja, i'm migrating apache, you need something ? 20:00 ShadowNinja nrzkt: No, I was just checking a build. 20:00 sfan5 rubenwardy: i wouldn't disable software drivers, just not have them in the menu 20:00 sfan5 rubenwardy: also mesa has a way better software driver than irrlicht 20:00 rubenwardy That's true 20:01 nrzkt i need to finish PHP compilation in ~ 20 min to repair my migration from PHP 5.4 to 5.6 on FreeBSD but my repository decided to recompile every packet instead of mod_php5.6 only :( then the varnish cache is the only available atm 20:24 ShadowNinja I'm getting this when attempting to load the server list now: *** Error in `bin/minetest': malloc(): memory corruption (fast): 0x00007fb648120f60 *** 20:24 ShadowNinja The local list segfaults instead. 20:26 ShadowNinja Hmmm, it's somehow an issue with my branch. 20:27 ShadowNinja Don'tcha love obscure bugs that show up in things that you didn't touch? 20:30 ShadowNinja est31: Does https://github.com/minetest/minetest/pull/2491 lower the loading menu clouds FPS? 20:31 est31 no, it increases them 20:31 ShadowNinja est31: O.K., good. 20:32 est31 from [never during that specific phase] to [all 100ms when a whole percent of progress has been made] 20:32 est31 I didn't know how the porting time functions behave e.g. on windows 20:32 est31 and didnt want to call it ~10k times 20:32 est31 so I only call it 100 times 20:33 est31 (then better "all 100 ms" could have been implemented) 20:33 est31 really best would be however to have different threads 20:34 est31 but im not that good at irrlicht, and doubt that it supports the multithreaded access. 20:34 ShadowNinja est31: Hmmm, you should use an FPS limiter and use wanted_fps. 20:34 est31 fps is never larger than 10 20:34 ShadowNinja Yes, it seems like the client loading thread is the main thread. 20:58 ShadowNinja Apparently my distros JSONCPP is the problem. 21:00 sfan5 i think we did not use linking systemd-wide jsoncpp because of that exact cause 21:00 sfan5 s/cause/problem/ 21:05 est31 what systemd has swallowed jsoncpp too 21:08 est31 btw ShadowNinja satisfied with #2482 ? 21:08 ShadowBot https://github.com/minetest/minetest/issues/2482 -- Fix bug that disabled game-based minetest.conf default setting by est31 21:14 ShadowNinja est31: Yep. 21:22 nrzkt ShadowNinja: jenkins is back 21:23 nrzkt Monday stats on Google play Store: 53 installations 21:29 nrzkt est31: #2490 is good ? if you can comment the PR i can't understand german 21:29 ShadowBot https://github.com/minetest/minetest/issues/2490 -- Update and complete German translation and fix mistakes (second try) by Wuzzy2 21:38 ShadowNinja sfan5: I have this patch for the master server. Look O.K? http://sprunge.us/hVMW?diff 21:45 ShadowNinja sfan5: And this too: http://sprunge.us/YWRg 21:48 ShadowNinja Above with ping tweaked: http://sprunge.us/WLEe?diff 21:51 ShadowNinja Hmmm, I'll also make it add a penalty for servers with over, say, 16 players, because: 1. It'll start getting laggy with that many. 2. Other servers should get a chance, the top 5 shouldn't have half of the users. 22:00 ShadowNinja http://sprunge.us/IXFj?diff 22:00 ShadowNinja Might remove that guest penalty. 22:03 Sokomine it is confusing that the order servers in the list are shown is constantly changing. and some very good servers are at the bottom, while crowded chaotic ones where building is rather pointless do get top positions 22:03 Sokomine i've also wished for an ignore option for some very few servers 22:03 VanessaE Sokomine: a player rating option added to servers.minetest.net would help that 22:04 VanessaE (but that comes with its own problems like ballot stuffing) 22:04 est31 yup 22:04 Sokomine yes. rating isn't easy either 22:05 ShadowNinja Rating requires a major change in the server list's backend. 22:05 Sokomine you'd get lots of excited kids who think that a pile of bones around spawn is all there could ever be... 22:05 VanessaE ShadowNinja: that too. 22:05 ShadowNinja It'll have to use an SQL database or so to store the servers persistently. 22:06 ShadowNinja Sokomine: I've set it so that more than 16 clients is not beneficial to your score. 22:06 est31 to start with, servers need unique way to identify them 22:07 ShadowNinja est31: IP & port is used currently. 22:07 VanessaE est31: hash the server's name field and IP? 22:07 est31 both name and ip can change 22:08 est31 best is we also do something that might work in the future with encryption 22:08 VanessaE true, but I wouldn't think they'd change particularly often 22:08 Sokomine i've always wished for a tiny picture of the server (or its spawn) provided by the server so that they can be identified more easily 22:08 VanessaE besides, penalize a server that uses dynamic IPs or where they can't make up their mind for their name 22:08 ShadowNinja This discussion should probably go to #minetest. 22:08 VanessaE (i.e. always start with a ranking of 0 or neutral or some such) 22:09 Sokomine admittedly, a local blacklist is rarely needed. it's just sometimes that servers do not match up to expectations, and expectations differ so much that a particular server might not fit at all 22:10 Sokomine shadowninja: good idea 22:10 VanessaE ShadowNinja: no real point to move the conversation if there's nothing else being discussed here :P 22:11 est31 most players dont scroll 22:11 est31 (so yes) 22:11 VanessaE ok ok #minetest 22:44 ShadowNinja Pushing master-server IPv6 support.