Minetest logo

IRC log for #minetest-dev, 2014-01-05

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

All times shown according to UTC.

Time Nick Message
00:13 bas080 joined #minetest-dev
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 mrtux joined #minetest-dev
00:21 xyz yes I will fix stuff assigned to me latet
00:21 xyz later*
00:45 bas080 joined #minetest-dev
01:04 bas080 joined #minetest-dev
01:25 Miner_48er joined #minetest-dev
01:42 sapier joined #minetest-dev
02:05 EvergreenTree joined #minetest-dev
02:20 mrtux joined #minetest-dev
02:38 Rsouthee joined #minetest-dev
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:42 ImQ009 joined #minetest-dev
02:43 proller ip:port
02:44 proller name/desc - optional
02:44 proller only for showing
02:45 Rsouthee left #minetest-dev
02:45 ShadowNinja Ok, so it should work fine(show seperately) if everything is identical but the port?
02:46 ShadowNinja proller: ^
02:51 bas080 joined #minetest-dev
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:09 bas080 joined #minetest-dev
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:27 hmmmm joined #minetest-dev
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 :-)
04:50 sapier left #minetest-dev
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 us_0gb joined #minetest-dev
06:25 ShadowNinja You also check buildable_to twice nested...
06:29 us_0gb joined #minetest-dev
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:40 damiel joined #minetest-dev
06:40 damiel joined #minetest-dev
06:41 hmmmmm joined #minetest-dev
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
06:59 NakedFury joined #minetest-dev
07:05 jojoa1997 joined #minetest-dev
07:05 jojoa1997 joined #minetest-dev
07:06 us_0gb joined #minetest-dev
07:45 nore joined #minetest-dev
07:49 blaaaaargh joined #minetest-dev
08:19 Calinou joined #minetest-dev
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 pitriss joined #minetest-dev
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:12 psedlak joined #minetest-dev
10:32 celeron55 kahrl: let's not make it unless sapier wants to
10:47 EvergreenTree joined #minetest-dev
10:47 EvergreenTree joined #minetest-dev
10:50 Calinou joined #minetest-dev
11:15 rubenwardy joined #minetest-dev
11:16 rubenwardy1 joined #minetest-dev
11:17 rubenwardy joined #minetest-dev
12:17 OldCoder joined #minetest-dev
12:19 jin_xi joined #minetest-dev
12:21 sapier joined #minetest-dev
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:26 Megaf joined #minetest-dev
12:52 rubenwardy joined #minetest-dev
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:54 rubenwardy joined #minetest-dev
12:54 rubenwardy joined #minetest-dev
12:56 rubenwardy1 joined #minetest-dev
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 rubenwardy joined #minetest-dev
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 EvergreenTree joined #minetest-dev
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 daswort joined #minetest-dev
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:33 rubenwardy joined #minetest-dev
13:37 xyz not sure if that comparison shows anything tbh
13:37 rubenwardy joined #minetest-dev
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:41 rubenwardy joined #minetest-dev
13:42 sapier but there's still one bug there I already fixed (happens on client disconnection)
13:43 rubenwardy1 joined #minetest-dev
13:45 rubenwardy joined #minetest-dev
13:57 celeron55 sapier: both of those branches hang on singleplayer disconnect
13:57 rubenwardy joined #minetest-dev
13:57 celeron55 while that configuration fix works on master too and it doesn't have the hanging problem
13:57 rubenwardy joined #minetest-dev
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:12 rubenwardy joined #minetest-dev
14:13 book` joined #minetest-dev
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 rubenwardy joined #minetest-dev
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:19 rubenwardy1 joined #minetest-dev
14:20 rubenwardy joined #minetest-dev
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:28 rubenwardy1 joined #minetest-dev
14:32 rubenwardy joined #minetest-dev
14:38 smoke_fumus joined #minetest-dev
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 rubenwardy joined #minetest-dev
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:01 ImQ009 joined #minetest-dev
15:06 Yepoleb_ joined #minetest-dev
15:20 rubenwardy1 joined #minetest-dev
15:21 VanessaE bbl
15:23 Gethiox joined #minetest-dev
15:31 Zeitgeist_ joined #minetest-dev
15:31 Zeitgeist_ joined #minetest-dev
15:31 hmmmm joined #minetest-dev
15:31 rubenwardy joined #minetest-dev
15:34 hmmmm joined #minetest-dev
15:44 sapier left #minetest-dev
15:50 rsiska joined #minetest-dev
15:57 kaeza joined #minetest-dev
16:06 bas080 joined #minetest-dev
16:07 jojoa1997 joined #minetest-dev
16:10 Calinou joined #minetest-dev
16:14 rubenwardy1 joined #minetest-dev
16:16 rubenwardy1 joined #minetest-dev
16:16 rubenwardy joined #minetest-dev
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 Miner_48er joined #minetest-dev
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 rubenwardy joined #minetest-dev
16:51 proller joined #minetest-dev
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:03 EvergreenTree joined #minetest-dev
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 PilzAdam joined #minetest-dev
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:55 hmmmm thanks
17:55 proller but creating new packet now very hard
17:55 hmmmm oh that's a crappy algorithm
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 nore joined #minetest-dev
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 hmmmm joined #minetest-dev
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:53 hmmmm joined #minetest-dev
18:54 celeron55 maybe we should just add a setting to filter them on the client like it was originally suggested
18:54 hmmmm joined #minetest-dev
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
18:59 VargaD joined #minetest-dev
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 blaaaaargh joined #minetest-dev
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:08 hmmmm joined #minetest-dev
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 hmmmm joined #minetest-dev
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:32 loggingbot_ joined #minetest-dev
19:32 Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/
19:33 iqualfragile joined #minetest-dev
19:37 hmmmm joined #minetest-dev
19:40 7CBAANTL0 joined #minetest-dev
19:50 celeron55 PilzAdam: oops
19:51 celeron55 https://github.com/minetest/minetest/pull/759
19:51 celeron55 what's up with this?
19:54 EvergreenTree joined #minetest-dev
19:54 EvergreenTree joined #minetest-dev
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 loggingbot_ joined #minetest-dev
20:09 Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/
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:26 loggingbot_ joined #minetest-dev
20:26 Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/
20:30 pitriss Exio: yep i can confirm that.. copy paste works for me only in / or t window..
20:31 werwerwer joined #minetest-dev
20:32 lanxu joined #minetest-dev
20:34 Anchakor_ joined #minetest-dev
20:35 specing_ joined #minetest-dev
20:36 kahrl joined #minetest-dev
20:36 Megaf joined #minetest-dev
20:38 OldCoder joined #minetest-dev
20:38 us_0gb joined #minetest-dev
20:38 harrison joined #minetest-dev
20:38 ShadowNinja joined #minetest-dev
20:38 yno joined #minetest-dev
20:39 OWNSyouAll joined #minetest-dev
20:49 proller joined #minetest-dev
20:56 jojoa1997 joined #minetest-dev
21:04 jojoa1997 left #minetest-dev
21:34 hmmmmm joined #minetest-dev
21:48 ShadowBot joined #minetest-dev
21:56 ImQ009 joined #minetest-dev
22:03 jojoa1997|Tablet joined #minetest-dev
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 iqualfragile joined #minetest-dev
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:41 us_0gb joined #minetest-dev
22:41 kaeza joined #minetest-dev
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:49 proller joined #minetest-dev
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

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