Time Nick Message 00:14 ShadowNinja bind_address rebased... 00:16 ShadowNinja https://github.com/minetest/minetest/pull/1081 This looks good -- xyz? 00:17 ShadowNinja Related: #1051 00:17 ShadowBot https://github.com/minetest/minetest/issues/1051 -- libGLESv2 dynamic link breaks minetest on NVIDIA 00:21 xyz yes I will fix stuff assigned to me latet 00:21 xyz later* 02:41 ShadowNinja Does the serverlist allow multiple servers from one IP/with the same name/description? What things are checked for uniquenes, if any? 02:41 ShadowNinja proller: ^ 02:43 proller ip:port 02:44 proller name/desc - optional 02:44 proller only for showing 02:45 ShadowNinja Ok, so it should work fine(show seperately) if everything is identical but the port? 02:46 ShadowNinja proller: ^ 02:59 ShadowNinja Well, it seems a new server removes the old server... Except the port isn't shown properly. 03:01 ShadowNinja b03135548bbd9bcb73d14b067b96ec913404dd5f is the first bad commit 03:16 ShadowNinja Hah, if I'm reading this right using POST will only involve moving the data from the url to a HTTPFetchFequest field, encoded identically. 03:18 ShadowNinja Any thoughts on me rewriting the masterserver script in PHP? 03:33 xyz ShadowNinja: the point being...? 03:34 ShadowNinja xyz: Readability. 03:35 xyz do you know perl? 03:36 ShadowNinja xyz: No. 03:36 xyz then you shouldn't be the one to judge readability of that code 03:37 ShadowNinja Although it would probably be more readable if I understood perl, other languages are easy to understand without having ever seen them before. 03:38 sapier perl readable? :-) I guess there's noone out there knowing all ways doing same thing provided by current perl versions 03:38 sapier but of course thats benefit and failure of perl same time 03:39 xyz although it would probably be more readable if I understood Japanese, oh well forget it 03:40 xyz I just miss the point entirely 03:41 xyz if you want to improve it then do something about client side 03:41 hmmmm PHP is horrible! 03:42 hmmmm it would probably be more readable if it were python (and consistent with the other minetest utilities) 03:42 hmmmm ;) 03:42 sapier I don't know of ANY language there's noone compaining about it ;-) 03:42 hmmmm that's probably gotta be the worst 03:42 hmmmm when someone rewrites an entire component in the language of their choice 03:48 xyz I don't see any problem with perl though 03:49 xyz I would be very irritated by the need to reconfigure my server every time someone rewrites something into other language just because they can't understand the current implementation 03:52 ShadowNinja Well, I could do Python, but Python isn't a web language by design. 04:20 kahrl should we get rid of the "low-priority enhancement" label? 04:20 sapier and how to mark things we don't wanna do instead? ;-) 04:21 kahrl just "enhancement"? 04:21 kahrl if something was labeled low-priority before that may not be true anymore with the new subsystem maintainers 04:21 sapier guess this way realizing noone really cares about a special feature will be more difficult ... not worst effect ;-) 04:22 sapier yes but that is true for almost anything 04:24 kahrl maybe keep the low-priority label as an option but upgrade all currently existing enhancements to "enhancement"? 04:24 sapier to be honest I'm gonna have a look at those things anyway once the maintainer thing is officially 04:33 kahrl which subsystem do mainmenu/modstore bugs belong to? 04:34 sapier hmm guess that'd be ShadowNinja 04:34 kahrl script API? not sure 04:35 sapier I think so but even if there are maintainers that doesn't mean the maintainer has to do all the work ;-) 04:35 kahrl maybe add a subsystem "builtin/mainmenu" 04:35 kahrl of course that could be assigned to ShadowNinja or anyone 04:36 kahrl although... some of builtin would conflict with server/client/env 04:36 ShadowNinja Mainmenu is both client/audiovisuals and ScriptAPI. 04:37 sapier we have conflicts everywhere so as of me I'd consider the lua parts more to be in Shadows realm but of course it touches server client too 04:38 kahrl ok, I'm assigning those to client/audiovisuals for now 04:38 kahrl it'll hopefully get clearer when the subsystems are eventually separated in code 04:38 sapier I hope so too :-) 05:14 xyz hmm.. what if we make some kind of server proxy 05:14 xyz a server which acts as a server but actually connects to the real one and acts as clients on it 05:16 xyz so when a client which is connected to that proxy sends, say, a dig, then the proxy processes it with its lua scripts (that are a subset of the server which is proxied) and sends the action to the server 05:17 xyz this way we can have "client-side" lua prediction plus more fun stuff 05:37 kahrl Mission Complete: Assign section labels to all open issues 06:01 ShadowNinja \o/ /me checks his sections. 06:05 ShadowNinja #355 Um, there hasn't been a response to this. Close it? 06:05 ShadowBot https://github.com/minetest/minetest_game/issues/355 -- HTTP Error 404: Not Found 06:06 ShadowNinja Hmmm, it exists. 06:11 kahrl https://github.com/minetest/minetest/issues/355 06:13 ShadowNinja What happened to the Travis CI builds? -- Oops, isn't much I can do about that. 06:14 kahrl what is 355 about? I don't get it 06:15 ShadowNinja I don't know, and there's no response, which is why I suggested closing it. 06:16 kahrl yeah, go ahead 06:16 ShadowNinja #1045 looks good, with the spelling fix and a capital 'M' in Minetest. 06:16 ShadowBot https://github.com/minetest/minetest/issues/1045 -- Add cmake commandline parameters to README.txt by sapier 06:17 kahrl maybe add more info about what curl is used for 06:17 kahrl e.g. the modstore, server_announce 06:17 kahrl remote_media 06:24 ShadowNinja VanessaE: I thinnk #959 causes the replacement bug... 06:24 ShadowBot https://github.com/minetest/minetest/issues/959 -- Add 6d facedir rotation prediction routine by VanessaE 06:25 ShadowNinja You also check buildable_to twice nested... 06:29 kahrl https://github.com/minetest/minetest/pull/1045 added a suggestion 06:36 kahrl ShadowNinja: about the serverlist announcing, do you still have the pastebin link? it says timeout, right? 06:37 ShadowNinja kahrl: I think so, it also mentions a response of 0. 06:38 kahrl well 0 means it didn't get one 06:38 kahrl can you check (e.g. with wireshark) if it sends the request and if an answer comes back? 06:39 ShadowNinja Maybe later. 06:40 kahrl just ping me when you know more 06:44 kahrl btw, I found this greasemonkey script for assigning labels to pull requests: http://userscripts.org/scripts/show/185095 06:45 kahrl that had always bothered me about github, that you can't do that on pull request pages 06:49 ShadowNinja The labels on issues only show up for me about 5% of the time... 06:50 ShadowNinja Or maybe it's just a PR thing... 06:51 kahrl normally it should show them on all issues that are not pull requests 06:51 ShadowNinja Yes. I don't like how they don't show up there. That's where we use them most. 06:54 kahrl this script fixes that 09:05 celeron55 maybe there indeed should be client/gui 09:05 celeron55 is there any taker for that? 09:53 VanessaE ShadowNinja: it's a bit obscure in that code but pos1 gets redefined half-way through, so that buildable_to check is actually done on two different nodes (once on pointed_thing.under and once on .above) 09:53 VanessaE however the rare replacement of a non-buildable node has existed since before this routine, so I'm pretty sure that's not it. 09:54 VanessaE (plus it happens when placing, e.g. a bucket of water, which doesn't use this code at all) 09:57 celeron55 (i think currently sapier should be on client/gui as he has worked so much on it and initially made the whole formspec menu thing) 10:00 kahrl celeron55: sounds good to me 10:01 kahrl of course that's assuming he has enough time for 3 subsystems 10:08 VanessaE celeron55: sapier is gonna kick your ass, you know that right? :() 10:08 VanessaE :) 10:32 celeron55 kahrl: let's not make it unless sapier wants to 12:23 sapier "xyz hmm.. what if we make some kind of server proxy" sounds more complicated then necessary to me ... and very laggy 12:25 sapier 3 subsystems ... guess I schould reduce my coding efforts in favor of administration ... but right now it's most likely the most sane decision 12:53 xyz sapier: why would it be laggy? it's supposed to reduce network lag 12:54 sapier partially any processing step in between will limit the theoretical rtt ... but of course as networking is our big point in there this is most likely not of relevance here 12:56 sapier I thought about a different way of doing client side lua basicaly callbacks are done on client to but their actions are queued for revertion if not commited within a certain time 12:57 xyz that proxy stuff will work in a similar way 12:57 xyz but it'll allow more fun things to do if properly implemented 12:57 sapier yes different wording but quite similar mechanics 12:58 sapier what exactly? 12:58 xyz for example, having a big server somewhere and a lot of gateways in different parts of the world to minimize latency, like some MMO games do 12:58 celeron55 so people really want to make an MMO? 12:59 celeron55 and expect it to work? 12:59 sapier I'm not sure if it's wise to mixup load balancing with game mechanics 12:59 celeron55 well i'm fine with that if it's done with a proxy; at least it doesn't mess up every codebase 12:59 xyz I wasn't talking about load balancing 13:00 proller https://github.com/minetest/minetest/pull/1087 13:00 proller ShadowNinja, ^^ 13:00 sapier sounded like load balancing ... guess you need to be more precise for me to understand 13:01 sapier what exactly is that proxy supposed to do? 13:02 sapier btw I'd require some help on evaluating protocols, for now I have 3 different (yet hard to get) indicators 13:02 xyz "to minimize latency" 13:02 sapier max throughput, avg rtt, avg jitter 13:03 xyz it's still more like thought experiment 13:03 sapier as I said in our very special case there may be ways to reduce latency but not by a actual proxy (proxy defining as thing just caching static data) 13:04 sapier those proxys I know usually increase throughput and speed on recurrent data but increase latency on dynamic data 13:11 xyz sapier: as I said earlier this proxy will run its own Lua scripts and therefore will be able to predict at least some actions 13:11 xyz sapier: by the way, what profiler did you use for Lua? 13:12 sapier if I remember correct that one from geofrey or some similar name 13:12 sapier how do those lua scripts keep in sync to server and mods? 13:13 sapier talking about profiler did I do something wrong or does intel vtune not support 64 bit environments? 13:13 xyz can't find anything related in google, can you look the name up? 13:13 sapier of course 13:14 xyz explain, what's the issue with intel vtune? it works fine on my 64 bit os and the binary seems to be 64 bit too and it seems to profile 64 bit minetest fine as well 13:15 xyz "how do those lua scripts keep in sync to server and mods?" — that's a hard question and we can't do anything about it; in the simplest case for some mods they can be just the same, for other of course not everything could be predicted 13:15 sapier https://github.com/geoffleyland/luatrace ... try to place minetest in some very very short path as it's gonna "shortcut" paths by "..." and therefore fail to match paths to files 13:16 xyz hm... this seems like an overkill to me; I just wanted something simple 13:17 xyz so I guess for now I'll go with pure-lua profiler and ffi call to get precise time 13:17 sapier I'm not sure if I understand correct but wouldn't that mean proxy has to do exactly same thing as server? 13:18 proller trying to optimize 2000 players on one server & 13:18 proller ? 13:18 sapier not sure if this wouldn't be the easy task compared to syncing 20 proxy servers 13:19 xyz sapier: I guess in the best case it'll do the same, but this is not always achievable (I guess it's almost never achievable) 13:20 xyz well, the case with multiple players is really hard so for now let's talk about a single-player "proxy" which runs on localhost, runs mods and acts as a layer between the client and the server 13:21 sapier I guess you know how big this task is :-) let's have a try 13:21 xyz this way we get zero latency in, say, inventory or crafting, even when lua is involved a bit (say, checking permissions) 13:21 xyz I know, that's why I said it's more a "thought experiment" 13:21 sapier imho for single player the client side callbacks are way more easy and straight forward 13:22 sapier and we already have most of the infrastructure required to do them 13:22 xyz well then do it this way if it's simpler 13:23 sapier it's on my list for ages now but until I completed other open tasks I wont start a new one if your proxy suggestion works well why do another one 13:24 xyz the problem with both suggestions is that neither is being coded 13:25 sapier you told that about tcp protocol 2 weeks ago too ;-) 13:26 sapier but this time I'm gonna spare that part for you *smile* 13:28 sapier does enet provide a interface to read rtt and jitter? 13:28 xyz check api docs 13:28 sapier I didn't see something but I may have missed it 13:31 xyz there's roundTripTime field in ENetPeer struct 13:33 sapier guess that's gonna be good enough ... not sure if I'm comparing apples with bananas 13:37 xyz not sure if that comparison shows anything tbh 13:38 sapier me to but until there's some better suggestion? 13:38 * celeron55 is debugging block sending now that he has a fast computer and fixed networking in his hands 13:39 sapier celeron you know I already fixed it? 13:39 celeron55 there's a magic setting that makes it work super fast 13:39 proller it already tuned in FM ;) 13:40 celeron55 if you just set emergequeue_limit_generate = 50, the speed seems to be limitless 13:40 celeron55 no code changes otherwise 13:40 sapier you still will run into squence number glitches and other implemetation flaws 13:40 celeron55 well i'm running the server_improvement branch to get networking work reliably 13:41 celeron55 (and fast) 13:41 sapier that's not the latest one switch to udp_implementation_fixes (squashed and some minor fixes) 13:42 sapier but there's still one bug there I already fixed (happens on client disconnection) 13:57 celeron55 sapier: both of those branches hang on singleplayer disconnect 13:57 celeron55 while that configuration fix works on master too and it doesn't have the hanging problem 13:58 sapier I'm gonna look at it, I wait for packets beeing sent there (or all client's timing out) ... guess there's something wrong in there 14:07 nore btw: I just got that when exiting minetest: *** Error in `./minetest': free(): invalid pointer: 0x00007f2f940000b8 *** 14:08 celeron55 here's one lockup: http://paste.ubuntu.com/6697118/ 14:08 nore ======= Backtrace: ========= 14:08 nore terminate called without an active exception 14:08 nore Abandon 14:08 nore <-- and that 14:09 nore ^ any thoughts about that crash? 14:10 sapier seems like connect threads just don't stop ... guess that's gonna be fixable 14:10 sapier seems to be a double free nore 14:11 sapier at least that'd be my first thing to check 14:11 sapier ok I found first thing our old protocol beats all others ... rtt 14:12 sapier at least if I didn't do a measuring error 14:14 sapier but looking at old protocol jitter rtt's < 10exp-5 seem to be an error 14:14 xyz see, this only confirms that those numbers don't show anything 14:14 sapier but your fealings of enet beeing "better" are so much better ;-P 14:15 xyz my feeling are based on my 100-players test 14:15 sapier lol 100 players are so representative 14:16 xyz what is then? 14:16 sapier and what do they show? 100 subjective sayings it's better then some variant we all know it was broken badly 14:17 xyz they show that it's better at handling a lot of packets between server and client 14:18 sapier we now know that enet is better then something not working at all ... but what we actually need to know is how fixed minetest,enet, tcp compare 14:21 sapier ok seems rtt caclulation in my fixed branch is still broken guess that could have performance effects too ... lets fix and check again 14:24 kahrl for the sake of curiosity, how did the rtt calculation get broken? 14:25 sapier due to split of send and receive thread, the dtime added by send thread is obviously no longer in sync to receive thread 14:25 kahrl ah 14:25 sapier so in worst case rtt is underestimated by max send thread sleep time 14:44 celeron55 sapier: so how long does it still take to figure out what to use?+ 14:44 sapier good question, hope to have some reasonable numbers within next week 14:45 celeron55 what if the fixed udp stuff was taken into use right once those lockups are fixed and then there's time to think about the others while we have a non-sucky backwards-compatible protocol in use 14:45 celeron55 there's nothing to lose by going that way 14:46 celeron55 or is there? 14:47 sapier I already thought about that, the only thing stopping me about it is it's quite likely that threre are issues caused by send/receive split we haven't found out now. yet vanessae is running it for days by now so this might not be a critical issue 14:49 celeron55 if VanessaE is running it without issues, then it works well enough 14:50 sapier I'm fine about it so I fix those isses I know about and prepare it for merge 14:51 sapier as of now those are rtt, vanessae's exception and the hang 14:56 * VanessaE wanders back in 14:57 VanessaE mostly without issues, yes. every so often someone has to disconnect and try again, but I'd say no more often than it ever is. plus one crash which I already told sapier about 15:00 sapier yes the exception I assume it's someone I already fixed in tcp or enet branch but haven't merged back to udp branch right now 15:01 VanessaE right 15:21 VanessaE bbl 16:25 xyz celeron55: I'm still not sure if I need another dev agreement to merge stuff which I'm responsible for 16:36 celeron55 XYZ: you don't; by being assinged to be a subsystem maintainer you are trusted to know better than some random naysayer 16:38 XYZ alright, I'll go on and merge some things then 16:38 celeron55 of course you *can* ask, but by all means you don't have to 16:39 XYZ how do I get access to our launchpad builds? 16:39 celeron55 what kind of access 16:39 XYZ another question, what versions of Irrlicht do we support? I'd like to close #712 and forget about it 16:40 ShadowBot https://github.com/minetest/minetest/issues/712 -- irrlichttypes.h version problem 16:40 celeron55 i guess you log into there and request membership 16:40 XYZ ah, I see 16:42 celeron55 i think we currently should support every 1.7 and 1.8 release available here: http://sourceforge.net/projects/irrlicht/files/Irrlicht%20SDK/ 16:42 celeron55 curiously enough, there's no 1.8.0 there 16:42 XYZ "Your request to join Minetest Developers is awaiting approval" 16:43 XYZ there's irrlicht-1.8.zip 16:44 celeron55 http://slackware.org.uk/slacky/slackware-13.37/libraries/irrlicht/1.8.0/src/ 16:44 celeron55 8) 16:44 celeron55 what the fuck, 13.37 16:44 celeron55 but that seems to be the packaging stuff for slackware 16:44 xyz my request is still awaiting approval 16:45 celeron55 i approved it now 16:47 xyz nice 16:47 xyz is it okay if I rename "Minetest-c55" to "Minetest"? 16:47 celeron55 you can, but it's a whole lot of trouble as there are many references to the name in the packaging scripts and whatever 16:47 celeron55 it was considered but dropped because of that 16:49 xyz ah, I see 16:49 celeron55 lol what 16:50 celeron55 i'm looking at irrlicht.SlackBuild 16:50 celeron55 this takes just the SVN trunk of irrlicht and calls it 1.8.0 16:50 celeron55 good luck figuring out what version they have packaged 8D 16:51 * hmmmm steps back 16:51 hmmmm https://www.freshports.org/x11-toolkits/irrlicht/ 16:51 hmmmm is this real life? 16:53 celeron55 why do you ask? 8) 16:54 hmmmm don't you see? freebsd has irrlicht 1.8 16:59 celeron55 xyz: of course the title of the page can be renamed, but there are all those repo names that are referenced 16:59 xyz yes, I see 16:59 celeron55 and i don't know by what name eg. apt-get references the ppa (the page name or the repo names or something else) 17:00 celeron55 also you might want to know that IIRC those github references were set up by manually requesting them from the launchpad staff 17:02 xyz this packaging stuff is awful, do we really need it? 17:02 celeron55 launchpad is the preferred place for ubuntu and debian and whatever; they want it there but maybe we could force them to manage it themselves 17:04 celeron55 1) find some ubuntu or debian game package maintainer, 2) tell them that good luck, we have decided to abandon it, 3) get kicked in the ass 17:04 Exio4 what about the guy that actually mantains the debian package? 17:05 celeron55 Exio4: find him and drag him here 17:09 xyz uhh 17:10 xyz I guess there's no way to apply this http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/games-action/minetest/files/minetest-0.4.9-as-needed.patch?view=markup in a sane way, preserving author, etc? 17:10 xyz also #617 was incorrectly tagged as client/audiovisuals 17:10 ShadowBot https://github.com/minetest/minetest/issues/617 -- Minetest floating point exception 17:11 kahrl xyz: I only quickly looked at most issues, this one had an exception in font handling so I put it there 17:12 xyz alright 17:12 kahrl feel free to retag that one 17:16 hmmmm so guys are you enjoying quick releases? :) 17:17 kahrl I do 17:17 ShadowNinja VanessaE: The bucket was broken but was fixed. The issue was in the bucket's code, there is no deeper issue, you need to use get_node_or_nil. (And you should also remove that redefining) 17:18 hmmmm releasing is hard work :( 17:18 kahrl I should write the make-minetest-release.sh script VanessaE mentioned and set up a cron job to call that script randomly 17:21 hmmmm hah 17:21 kahrl heh, there is some guy on linkedin whose job title is "Probabilistic Software Management" 17:22 hmmmm that sounds pretty nasty 17:22 hmmmm but they probably mean decision trees etc. 17:22 hmmmm risk management stuff 17:23 kahrl ah :) 17:23 kahrl I just thought it was fitting 17:24 hmmmm BRB, I still didn't 100% fix my xorg setup 17:24 hmmmm I went home for two weeks and I didn't have the same exact monitor setup, and now when I come back everything's a mess 17:25 hmmmm randomly missing icons, missing window titlebar text, mouse acceleration/keyboard repeat speed settings screwed up, huge DPI setting 17:28 celeron55 hmmmm: do you know that there is a bug in emergemanager where it will select between the generate queue limit (default 2) and disk queue limit (default 6) based on whether generating is *allwoed*, not based on whether it will be actually done, leading to the main bottleneck in sending block data to clients? 17:28 hmmmm whoops 17:29 hmmmm no I did not know that 17:29 celeron55 the values are overally too low in any case; an effective workaround seems to be to set those both to as high as 50 without real problems and then the bottleneck is gone 17:29 hmmmm especially when everybody said that after my do-over is faster than the original 17:29 celeron55 but a lower works too 17:29 hmmmm s/after / 17:29 celeron55 i tested in singleplayer, don't really have any idea about server with tens of players 17:29 xyz #617 is hard, with the patch applied we can no longer build with custom Irrlicht since it uses bundled libpng 17:29 ShadowBot https://github.com/minetest/minetest/issues/617 -- Minetest floating point exception 17:29 hmmmm I'll have to take a closer look 17:29 xyz and system libpng goes first 17:30 celeron55 my question is that do you want to fix it or should i just propose a new default config that fixes it 17:30 hmmmm celeron, just curious, did you notice an actual difference in performance? 17:30 celeron55 hmmmm: the difference is very visible 17:30 hmmmm I'd like to take a look at what I could do to fix it 17:30 celeron55 just run a singleplayer game on a computer that renders to a distance of like 200 and also set the server to send to that distance 17:31 hmmmm because it's actually not too straightforward 17:31 celeron55 and set the network to perform better 17:31 celeron55 which is... set this http://paste.ubuntu.com/6698208/ 17:31 hmmmm also didn't your old code do the same thing? 17:31 celeron55 if you remove the two last lines from that, it stays slow 17:31 celeron55 but with them it's fast 17:32 hmmmm shrug 17:32 hmmmm well look: 17:32 hmmmm you don't actually *know* whether or not the block needs generation until it's too late (i.e. it's that block's turn to get processed) 17:32 xyz what about #457? do we care about centos having weird version of irrlicht? 17:32 hmmmm at which point the fact that it's in a queue or not doesn't matter 17:32 ShadowBot https://github.com/minetest/minetest_game/issues/457 -- HTTP Error 404: Not Found 17:33 hmmmm so what do you personally think we should do? 17:33 celeron55 xyz: i don't see how we can help that; doing some ifdefs will just break it elsewhere 17:33 celeron55 or if you know how, then do it 17:33 hmmmm to "fix" this logic error, I think the best thing to do would be to just remove the different limits and make it THE emergequeue limit 17:33 hmmmm but to actually fix it as in, do what it was intended to do in the first place 17:34 hmmmm we'd have to do a db query for the existence of that key 17:34 xyz alright, I'll leave this issue open for now 17:34 hmmmm but that's slow, and it goes back to that idea I had a long time ago of caching block existence 17:34 xyz can't you just fetch all block positions at startup? 17:35 hmmmm the simple "stupid" way of doing that (storing all block v3fs in a std::map) is probably going to end up too large of a data structure 17:36 hmmmm there do exist less common data structures for this kind of thing, I don't remmeber what the name of it is but I remember what it does basically 17:37 celeron55 well, a quadtree or any other thing that is able to efficiently store information about volumes that aren't too noisy 17:37 hmmmm I think its' this www.di.ens.fr/~jv/HomePage/pdf/dichotomy09.pdf or something 17:38 xyz what complexity do you aim for? 17:38 hmmmm obviously O(1) 17:38 hmmmm but storage is the problem here 17:39 xyz then use hashtables 17:39 celeron55 or maybe just index in larger chunks, and also forget the Y coordinate? 8) 17:39 hmmmm no 17:39 hmmmm stop it 17:39 hmmmm these are all ideas that might work okay but there are special data structures made exactly for this kind of problem 17:39 hmmmm we ought to look into those 17:40 celeron55 well anyway, what if we chhange the default configuration for now 17:40 hmmmm sure, that could be a good for now thing 17:40 celeron55 with a big comment saying it's a hack but it currently works better than no hack 17:43 hmmmm ugh I'm paywalled http://dl.acm.org/citation.cfm?id=176484 17:43 hmmmm can somebody download that for me? my school account ran out a long time ago 17:44 celeron55 looks like i can 17:44 celeron55 except no 17:45 celeron55 it changed it's mind 17:46 hmmmm well 17:46 hmmmm alright maybe your idea isn't too bad 17:46 hmmmm we don't need some sort of exotic data structure 17:46 celeron55 anyway, there's the issue though that with the current default networking/other confiugration and the default send and generation distance, the poor emerge performance doesn't actually matter, so we should decide on those first 17:46 hmmmm if we associate a plain bitmap with a MapSector, that'd take 512 bytes per 17:46 proller celeron55, https://github.com/freeminer/freeminer/commit/f86ef3a14ffdcc432029a153f14854fd9298c4d0 17:46 celeron55 which are all in that paste 17:47 celeron55 proller: that's useful 17:48 hmmmm it's useful but it's just a minor improvement in an overall horrible block sending scheme 17:49 hmmmm I wonder what the main problems with DavidMikeSimon's rewrite were 17:50 hmmmm what I'd do instead of calculating based on FOV is just to request the whole D-radius sized area of blocks 17:50 hmmmm like in Minecraft 17:51 proller not very good if you want 1000 range 17:51 celeron55 the sending isn't actually that bad; it's main issue is bad tuning like for any adaptive-ish algorithm 17:53 celeron55 i don't quite agree with putting that stuff in that packet though 17:53 celeron55 there should be a new packet that's purpose is to tell the server about the client's relevant configuration 17:54 celeron55 thats* 17:54 xyz [off] hmmmm: http://a.pomf.se/xrrxeg.pdf 17:55 hmmmm thanks 17:55 proller but creating new packet now very hard 17:55 hmmmm oh that's a crappy algorithm 17:55 xyz [off] also http://sci-hub.org/ 17:56 hmmmm all that does is eliminate the need to initialize the sparse array 17:56 hmmmm you still need to have a very large set 17:57 celeron55 proller: yes it's unnecessarily hard, everyone knows it 17:58 celeron55 maybe a simple layer could be added for some kind of less efficient generic packets 17:58 proller yes, messagepack ;) 17:58 celeron55 which go on that layer in a single type of packet and are named by a string 17:58 hmmmm I had an idea that xyz says is similar to protobufs that's reverse compatible 17:58 proller or special json-rare packets 17:59 hmmmm if we are breaking compatibility, then we should definitely use protobuf 17:59 hmmmm not messagepack 17:59 proller why? 17:59 hmmmm because I don't want to waste space sending keys constantly....? 18:00 proller 1-3 bytes for key is big waste? 18:00 hmmmm 1-3 bytes for every key 18:00 hmmmm and yes it is 18:00 celeron55 what about stored data that wants to use keys for cross-version compatibility, and cross-version compatibility otherwise too? 18:01 celeron55 protobuf isn't particularly good at such as far as i can see; it's basically what minetest has now but fancier to set up 18:01 hmmmm the idea is that the keys are implicitly encoded in packets as the position of the data 18:02 hmmmm what the keys are is exchanged upon connection 18:02 hmmmm just once 18:03 celeron55 we eventually want a new format for on-disk data too 18:04 celeron55 maybe it has to be different then anyway; well whatever 18:05 celeron55 but changing these protocols and formats to anything that is worse in maintaining compatibility is a big failure 18:05 hmmmm I can do it 18:05 celeron55 do what 18:06 hmmmm look, like I said, you have a new packet with information about the protocol itself 18:06 hmmmm if the client or server or whatever never receives that 18:06 hmmmm it's assumed to be the format that we have currently 18:06 celeron55 protobuf is fine for networking, i'm not conceerned about that 18:06 celeron55 -e 18:06 hmmmm like I said, protobuf is what I'd personally do if we wanted to blow everything up and start again from scratch 18:07 hmmmm this idea is similar to protobuf, except I can make it reverse compatible 18:07 hmmmm oh my god one big idea at a time, please 18:07 hmmmm libmtmap first 18:08 celeron55 8D 18:08 hmmmm then the generalized formspec 18:08 celeron55 anyway, for networking really anything that puts the packet definitions into a centralized place and enforces them is enough 18:09 celeron55 anything else than that is extra, but obviously we want as much extra as possible 18:10 hmmmm where am i going to get the free time necessary to do this 18:10 celeron55 however, as i am responsible of graphics now, i can't stand static block send distance and slow sending; i'll add the new packet 18:10 celeron55 hmmmm: get shorter work week 18:10 hmmmm i just blew away a 2 week vacation doing nothing... well almost, I worked on my old NES game a tad 18:11 hmmmm it's structured slightly less horrible now 18:16 proller hmmmm, can ypu make configurable nparams_biome_def_heat nparams_biome_def_humidity in this year? 18:17 hmmmm perhaps 18:23 celeron55 actually, i'm not going to do it now; i'll do it once sapier gets his server/protocol improvements in 18:24 * celeron55 makes issue 18:47 celeron55 https://github.com/minetest/minetest/issues/1022 18:48 celeron55 i think we need a new subsection for things like this 18:48 celeron55 it isn't even minetest's problem as a program really, but mmdb's; so it's kind of about minetest's infrastructure or policy or something 18:50 xyz I'm not even sure what to do; that time I just removed those licenses but then this guy came and said that it's actually fine 18:50 xyz and now I guess someone has readded them and they're complaining again 18:54 celeron55 maybe we should just add a setting to filter them on the client like it was originally suggested 18:54 celeron55 i'll add a note about that here https://github.com/minetest/minetest/issues/1053 18:54 xyz then they'll complain about it being enabled/disabled by default 18:55 celeron55 hmm, true 18:55 celeron55 maybe we'll show them randomly 50% of the time 18:55 celeron55 then it's fair for everybody as they get less visibility but are still shown?! 18:56 celeron55 well what's your opinion 18:56 celeron55 is it still the same as in there 18:57 kahrl oddly enough, no one seems to have ever filed a bug on firefox that it shouldn't allow downloading proprietary software 19:02 celeron55 if someone asks me, i think we should disallow ND and NC in there; they don't make much sense overally anyway 19:02 xyz https://github.com/minetest/minetest/blob/master/src/script/lua_api/l_object.cpp#L944 what could go wrong? 19:03 xyz using cc licenses for code is already considered strange, isn't it? 19:04 celeron55 xyz: lol 8) 19:05 xyz this was reported in #808 19:05 ShadowBot https://github.com/minetest/minetest/issues/808 -- Static Analysis Warnings 19:05 xyz there's also nice division-by-zero error when executing /clearobjects with less that 10 blocks generated 19:07 xyz this clang analyzer seems really handy 19:07 xyz although last time I tried to run it it said there were no errors 19:09 xyz "none of these warnings are actually issues" 19:09 rubenwardy ok, I am not using freeminer anymore: there is no console 19:10 xyz what if we set a goal to release every month? this will be fun 19:10 xyz I know at least about GitLab who do that; they release every month on 20-22 19:11 xyz although they have more intensive development process too... 19:11 xyz rubenwardy: we totally needed to know this 19:12 rubenwardy oh 19:12 rubenwardy wrong channel 19:13 rubenwardy Please forgive me! 19:15 xyz I don't have anything big-endian but I think #670 should just go in 19:15 ShadowBot https://github.com/minetest/minetest/issues/670 -- Fix build on big endian architectures. by mat8913 19:22 celeron55 sapier: Can you say something useful on https://github.com/minetest/minetest/pull/844 and/or https://github.com/minetest/minetest/pull/546 about showing settings menu in-game? 19:50 celeron55 PilzAdam: oops 19:51 celeron55 https://github.com/minetest/minetest/pull/759 19:51 celeron55 what's up with this? 19:57 celeron55 hmm, it seems the same problem was fixed by allowing multiple textures per model 19:57 celeron55 so i think i can close it as it was a non-final version in the first place 20:09 celeron55 what's up with this join/quit flood 20:09 celeron55 people please stay here or stay out, i don't want to disable visible joins and quits on my client 20:09 celeron55 as don't many others 20:10 kaeza netsplits; freenode is seriously derping today 20:11 celeron55 does someone want this? https://github.com/minetest/minetest/pull/751 20:11 celeron55 it looks like nobody is interested in it 20:12 celeron55 except Exio 20:16 Exio copy-paste support is the thing 20:17 celeron55 what? 20:18 Exio the console doesn't have proper support of "copy-paste", and the actual inputbox has those features 20:30 pitriss Exio: yep i can confirm that.. copy paste works for me only in / or t window.. 22:09 PilzAdam ShadowNinja, could we add something like on_move() and allow_move() for player inventories? 22:10 ShadowNinja PilzAdam: Yes. 22:14 celeron55 i can imagine uses for that 8) 22:14 * celeron55 has played nodetopia 22:14 celeron55 altough you probably don't want to do what came to my mind 22:15 celeron55 and i'm not telling it! 22:15 PilzAdam :-( 22:15 PilzAdam anyway, nodetopia gets armor now 22:20 celeron55 sounds appropriate 22:31 proller /usr/bin/ld: cannot find -lfreetype 22:38 proller before cguittfont_LIB_DEPENDS:STATIC=general;/usr/local/lib/libIrrlicht.so;general;/usr/local/lib/libfreetype.so;general;/usr/lib/libz.so; 22:38 proller after guittfont_LIB_DEPENDS:STATIC=general;/usr/local/lib/libIrrlicht.so;general;freetype;general;/usr/lib/libz.so; 22:44 celeron55 http://paste.ubuntu.com/6699855/ 22:44 celeron55 here's some hacky shit that makes objects that use the same mesh have different lighting 22:45 celeron55 dunno about memory leaks or anything and bone positions are unhandled (they're trivial though, but i don't really have anything to test with) 22:46 celeron55 if someone can, that someone might want to develop it further 22:47 celeron55 also maybe that animation stuff doesn't work either and has to be somehow similarly managed and reset each frame 22:47 celeron55 and yes, this does not make any sense; irrlicht is really lacking here 22:51 celeron55 well the problem with the vertex lighting does make sense, as such isn't usually used; but if there is any other as PilzAdam suggests here, that doesn't make sense: https://github.com/minetest/minetest/issues/703 23:12 xyz can somebody test if current master compiles? 23:13 xyz apparently because of cb7bb736c70afa7e7dfc90545ad52992a35dc082 it doesn't link on proller's freebsd 23:15 celeron55 seems to build 23:34 hmmmmm testing 23:35 hmmmmm fails to link 23:35 hmmmmm undefined reference to BiomeDefManager::calcBlockHumidity and so on 23:35 hmmmmm let's see what's in that commit 23:36 hmmmmm whaa 23:38 hmmmmm this doesn't make sense 23:40 hmmmmm alright even when I roll it back there's that linking error 23:40 PilzAdam rm CMakeCache.txt and build again 23:42 hmmmmm erm... compiles but crashes now 23:42 hmmmmm there's something wrong with my computer 23:42 hmmmmm I just updated today 23:45 hmmmmm alright 0.4.9 works 23:45 Taoki celeron55: https://github.com/minetest/minetest/pull/608 I still believe this looks a little bit nicer. Also, even if text is quite readable without it, this makes it even more easily readable. It's easier to focus on the fonts when the background is a little darker, despite what the text shadow does 23:46 celeron55 Taoki: i don't think many people want it 23:46 celeron55 you can just open the f10 console if you want to read a lot 23:46 Taoki Perhaps something else (but similar) can be done sometime, when other HUD changes can also be added 23:47 Taoki eg: Textured quickbar 23:47 hmmmmm alright, after clearing the cmake build cache that odd linking error is gone 23:47 hmmmmm and I am not seeing proller's error 23:47 hmmmmm FreeBSD/amd64 9.1-RC3 23:50 hmmmmm proller, I can't verify your linking bug 23:50 celeron55 Taoki: a game can already make a textured quickbar if it wants to 23:51 Taoki Nice. Can the same system be used to add a chat background? 23:51 celeron55 it's not the engine's problem really 23:51 Taoki Actually no... you need to know the number of lines 23:51 Taoki True 23:52 celeron55 chat is kind of a client-side thing though and it might not be a thing that we want to be game-themed 23:54 celeron55 the only thing keeping me from not making that a setting is that i think most of people are happy with the shadow 23:55 celeron55 if you can ask around and prove there's demand, then it will happen