Time Nick Message
00:43 Megaf hm, I think minetest in full screen when 1920x1080 its just actually 1080i, and not 1080p
00:43 Megaf yep
00:44 Megaf its 1080i
00:44 Megaf why?
00:44 Megaf ^ PilzAdam ShadowNinja
00:44 Megaf minetest 1920x1080 fullscreen is actually 1080i
00:45 PilzAdam what is 1080i ?
00:46 Megaf minetest in fullscreen
00:46 PilzAdam "1080i and 1080p are both High Definition display formats for HDTVs. 1080i and 1080p signals actually contain the same information. Both 1080i and 1080p represent a 1920x1080 pixel resolution (1,920 pixels across the screen by 1,080 pixels down the screen). The difference between 1080i and 1080p is in the way the signal is sent from a source component or displayed on an HDTV screen."
00:48 proller__ i = interlaced = 30fps
00:48 proller__ p = progressive = 60fps
00:48 Megaf 1080i is not actually 1080 lines, is half
00:49 Megaf 720p > 1080i
00:49 PilzAdam maybe its your video driver?
00:50 Megaf http://i1.ytimg.com/vi/boF_Zl-nK-A/maxresdefault.jpg
00:50 Megaf http://aparanjape.files.wordpress.com/2010/03/hd_vs_sd_resolutions.png
00:51 Megaf here is a good example http://www.brorsoft.com/images/how-to/video-converter/1080i-vs-1080p.gif
09:50 CraigyDavi Managed to capture a bug caused by 3rd person view, it happens occasionally when just walking around. Did not happen before 3rd person view was introduced.
09:50 CraigyDavi https://mediacru.sh/cOA83eNE36FV
09:50 CraigyDavi The player you see near the end is me.
09:51 CraigyDavi I should not be able to see myself when not using the 3rd person view mode, right?
09:56 PenguinDad CraigyDavi: are you using the latest build?
09:56 CraigyDavi Not the latest but a fairly recent one
09:57 PenguinDad CraigyDavi: which commit id?
10:00 CraigyDavi https://github.com/minetest/minetest/commit/5b1bd2fb4760e7d6f4a47e59839aa1b52c6c0f7a
10:01 CraigyDavi Probably should get a more recent one. That is over a month old
10:01 sapier if I rember correct blockmen said a bug like that was fixed as sideeffect of 3d mode addition
10:02 sapier so there's reason to believe this is an old bug
10:02 CraigyDavi it was probably fixed by "Bugfix: make waypoints respect camera offset" or "Fix player:set_animation() in third person view"
10:03 sapier possible, there have been various changes since your version
10:04 RealBadAngel sapier, could you check why sometimes player:hud_add can return the very same id for different elements?
10:05 sapier yes I can but I don't see a way how I might have caused that ;-)
10:05 RealBadAngel it is happening
10:05 RealBadAngel i do have two mods (UI's waypoints) and 4itemnames mod, both are using hud elements
10:06 RealBadAngel and both call hud_add and getting same id for own elements
10:06 sapier if (id == (u32)-1) { ?? ... not the bug anyway
10:07 RealBadAngel also, i found out that putting hud_add calls in minetest_after function, solves the problem
10:09 sapier sounds like a race condition
10:09 RealBadAngel yup, statbars were also affected by this
10:10 RealBadAngel if mods elements were added straightforward, without minetest_after, it caused bars to be overwritten
10:10 sapier do those mods use different ways to add hud?
10:11 RealBadAngel no, simple text (or waypoint)
10:11 sapier no I mean server step, entitiy step something else
10:11 RealBadAngel one (4itemnames) changes hud at server step
10:12 RealBadAngel UI changes that on user action (push a button) and loads data on startup (if waypoints were active, restores them)
10:12 RealBadAngel in UI case restoring had to placed in minetest_after
10:13 sapier hmm I'll have to check that but seems to be same thread
10:13 RealBadAngel basically, if not used in minetest after, it is given wrong id
10:13 RealBadAngel which gets overriden later or something
10:14 BlockMen or isnt applied at all (without after)
10:14 RealBadAngel it is applied
10:14 RealBadAngel i keep getting id=1 for example
10:15 RealBadAngel and then another mod is getting the very same id
10:15 RealBadAngel so the first mod assumes 1 is his own and modifies another's mod hud element
10:16 sapier that code is strange ... it's spread throughout different classes
10:16 RealBadAngel so, it looks like whatever is done before minetest_after(0.0) gets lost
10:17 BlockMen sapier, i doubt that the issue CraigyDavi showed here is the same that got fixed now
10:17 BlockMen because you see the player from front
10:17 BlockMen with the issue you would see him from back
10:17 BlockMen it might be something else
10:17 CraigyDavi It happens from all angles, not just the front
10:17 sapier maybe a combination of lag and your bug?
10:18 BlockMen hmm...might explain it then
10:18 CraigyDavi Sometimes you see the inside of the player, sometimes you see the back, sometimes the front
10:18 BlockMen CraigyDavi, have you tried with a current git version yet?
10:19 CraigyDavi I'm using it now, I'll see if the problem is still there
10:19 BlockMen k
10:21 sapier RealBadAngel: I'm looking for that bug but I don't understand yet how it's happening, without beeing called from different threads
10:26 RealBadAngel can minetest_after calls being made from many threads?
10:27 RealBadAngel or theyre made one by one from just one thread?
10:27 sapier for what I know everything is done from same thread
10:29 RealBadAngel hmm, i think i know the reason
10:29 sapier if that code is supposed to be used from different threads we've got a major issue anyway
10:29 RealBadAngel builtin statbar.lua clears the hud
10:30 sapier clears?
10:30 RealBadAngel line #39
10:30 sapier no that's just the statbar local variable
10:31 sapier not related to the player hud vector
10:32 sapier change_hud receivces a pointer to a hud element, if that element is removed while still beeing processed ...
10:51 sapier oh shit
10:51 RealBadAngel what?
10:52 sapier hmmm no wrong idea ... even if add remove packets are lost they arrive in order
10:53 sapier as long as we send them in order ...
10:53 sapier which isn't guaranteed if we use it from multiple threads
10:56 sapier assuming we really use different threads the id mechanism is completely useless
10:56 BlockMen but it works fine in general
10:56 BlockMen just at "start" not
10:57 sapier as hud's ar initialized at "start" chances to mess up are way better there
10:57 sapier think about following constellation
10:57 sapier thread A removes hud 1, but is scheduled prior sending that packet
10:58 sapier thread B adds a new one and is assigned id 1 because that one is now free
10:58 RealBadAngel issues is not with removing and adding at the same time
10:58 RealBadAngel we are talkin now adding returns same id
10:58 RealBadAngel one call is not delayed, second is delayed with minetest.after
10:59 sapier which codewise means threads manage to get scheduled prior really adding their hud
10:59 RealBadAngel so definitely nothing to do with threads
10:59 RealBadAngel something that happens before minetest.after calls resests the id's counter or something like that
10:59 sapier as of code there's no way to add huds with same id
10:59 sapier as long as it's run singlethread
11:00 BlockMen wait, when it does return same id when adding hud element without after, why does it work for buitin then?
11:00 BlockMen there is no after
11:01 RealBadAngel propably point is to let builtin do its job, then go with mods hud elements
11:01 sapier mods are initialized by same thread so there is no concurrency
11:01 RealBadAngel going to disable now builtin and see if problem is still here
11:02 BlockMen RealBadAngel, its nothing new, so i guess it will
11:03 sapier whole hud code isn't thread safe but I don't understand why it'd be necessary for that code
11:05 RealBadAngel and we have the winner
11:06 RealBadAngel statbar.lua definitely messes up things
11:06 RealBadAngel idk how, but it deletes everything
11:07 RealBadAngel disabling it lets hud_add work properly, no matter delayed or not
11:07 sapier it's just another way of using it
11:08 RealBadAngel if it clears everything, no wonder mods can get same id
11:08 sapier but there's no way to clear everything
11:09 RealBadAngel mod a is executed first, without delays gets id
11:09 RealBadAngel then comes statbar, clears it
11:10 RealBadAngel then another mod delayed
11:10 sapier what does your mod do?
11:10 RealBadAngel both mods will get same id on first try to call hud_add
11:10 RealBadAngel add's hud elements
11:10 RealBadAngel same as the other one
11:11 RealBadAngel you can reproduce it easily
11:11 sapier statbars should already have it's ids and not do any add or remove operation
11:11 sapier ok give me those mods ;-)
11:11 RealBadAngel https://github.com/minetest-technic/unified_inventory
11:11 RealBadAngel https://github.com/4aiman/4itemnames
11:11 RealBadAngel enable both mods
11:12 RealBadAngel within UI, click on waypoints icon and turn some waypoints on
11:13 RealBadAngel if you enable both mods, UI's waypoints wont work
11:13 RealBadAngel now clear statbar.lua
11:13 RealBadAngel and both mods will work as a charm
11:14 RealBadAngel btw, 4aiman had problems with hud_change not workin properly
11:15 RealBadAngel no wonder if statbar messed up ids
11:15 sapier lets see what's really happening first ;-)
11:15 sapier how do I enable the waypoints?
11:16 RealBadAngel see buttons on bottom
11:16 RealBadAngel last one (map) turns on Waypoints tab
11:16 sapier they miss a tooltip ;-)
11:16 sapier ok I'm already there
11:16 RealBadAngel green flag sets the waypoint's pos
11:16 sapier I added waypoints too how to enable them?
11:16 RealBadAngel switch next to it, turns it on/off
11:17 RealBadAngel when switch is green, you should see waypoint in game
11:17 sapier no ... is this the bug?
11:17 RealBadAngel yes
11:17 RealBadAngel now, disable 4aiman's mod
11:18 RealBadAngel and reload game
11:19 sapier ok I see one now
11:20 RealBadAngel now enable 4itemsname again, but clear content of statbar.lua
11:20 sapier aren't I supposed to see ALL waypoints?
11:21 RealBadAngel if you turn all on
11:21 sapier I did
11:21 RealBadAngel have you set different positions for each one?
11:21 sapier yes
11:21 RealBadAngel so you should see them all
11:22 sapier wait two of them are quite close
11:22 sapier ok user error
11:26 RealBadAngel btw, 4itemnames show item name over inventory bar, when you change wielded item
11:26 BlockMen but if builtin would "clean up" the ids whole time then better hud wouldnt work either
11:26 BlockMen but it works fine
11:27 RealBadAngel does better hud use minetest after?
11:27 sapier I don't think so
11:28 BlockMen yes
11:28 BlockMen oh, right
11:28 BlockMen ups^^
11:31 RealBadAngel btw, why when i erase whole statbar.lua code, all the hud elements are still here?
11:31 RealBadAngel i mean health bar, inv
11:31 sapier inventory isn't related
11:31 RealBadAngel what does this code really do?
11:32 sapier you run into fallback code
11:32 sapier the one required for old servers
11:33 RealBadAngel ok
11:33 RealBadAngel so the old one is ok, new one is used to break mods, cool :)
11:33 sapier the old one doesn't use luahud
11:33 BlockMen ^ better
11:33 sapier wrong ... ugly hack
11:33 RealBadAngel gtg, bbl
11:34 sapier but that's a different discussion
11:38 sapier no hud removed RBA? wwaypoints aren't changed but always removed and readded
11:41 BlockMen ^ same for the itemnames mod
11:41 sapier if huds[pll] then player:hud_remove(huds[pll]) end do you see any code invalidating the hud?
11:42 sapier this most likely will always clear same hud element, no matter if it was added by it or not
11:43 sapier I don't find a bug in statbar once fixing 4aimans mod
11:45 sapier for what I see statbar is only involved as it's another source for huds
11:45 sapier which could be any other mod too
12:38 sapier #1332 ... comments? sorry for the added lines but I had to follow our coding style ;-)
12:38 ShadowBot https://github.com/minetest/minetest/issues/1332 -- Small cleanup of hud add/remove code by sapier
13:49 BlockMen sapier, #1333
13:49 ShadowBot https://github.com/minetest/minetest/issues/1333 -- Remove useless statbar protection by BlockMen
13:53 sapier you know my opinion about this, i wrote it down as comment
13:53 BlockMen ok
15:03 SoniEx2 I think Minetest's Lua 5.1 should be compiled without 5.0 compatibility
17:41 ShadowNinja sapier: I commented on it. There are also some {s on seperate lines than their statements, but that's less important.
17:42 sapier I'm writing a suggestion how this should really be done ... yet that variant would break compatibility and therefore is 0.5 ... of course we could add compatibility code to it but doing so would just result in same chaos we already have
17:43 sapier basic idea is adding generic stats to any object
17:44 sapier removing (most of) health as well as breath special handling
17:44 sapier maybe everything but I'm not that far right now
17:49 BlockMen ShadowNinja: https://github.com/minetest/minetest/pull/1333#issuecomment-44140918
17:56 sapier ShadowNinja you could write a lua coding style specification if you already refer to it ;-)
17:59 Exio4 what about making a branch and start "don't caring" about about 0.4 compat?
18:00 sapier not without releasing a "final" 0.4 version
18:00 sapier at least that's my opinion
18:01 sapier And to be honest what I'm doing now is a proof of concept to illustrate how a good solution is supposed to be (at least in my oppinion)
18:02 sapier breaking compat for a improvement that small would be quite crazy
18:02 Exio4 what i saw in the last weeks (or months) is "nah, don't do that, that would break compat" repeated at least once a day :P
18:02 sapier the only difference would be "if lag is as big as you can't play any longer at least your statbar will be up to date"
18:03 sapier everything else is just a nice base for mods to start from
18:04 Exio4 all the devs should agree to make a last "feature" 0.4 version
18:05 sapier "all devs should agree" is same as "neverever do this" ;-)
18:05 Exio4 eh
18:05 Exio4 i mean, agree about the process
18:06 Exio4 you alone do it => "sapier thinks minetest is his own project"
18:06 BlockMen ^ proller!
18:06 BlockMen :D
18:06 sapier did I ever say it has to be done that way?
18:07 Exio4 but you, hmmmm, RBA and c55, SN, BM :P
18:07 Exio4 everything you said that could be done is your fault sapier!
18:07 Exio4 you're why minetest doesn't have X feature! or why minetest has Y bug! :P
18:08 sapier I know :-) I'm glad to be the one responsible if that keeps the peace for others ;-)
18:09 sapier if those requesting features did write half the code they suggest mt would improve almost at speed of light ;-)
18:10 SoniEx2 remove table.getn
18:11 SoniEx2 either by removing it from table.* at runtime or by compiling Lua without it
18:44 ShadowNinja Comments on #1149?
18:44 ShadowBot https://github.com/minetest/minetest/issues/1149 -- Add AppData file by davidgumberg
18:48 ShadowNinja If we break compat I'd like to add some big feature, like reloadable modsplugins.
18:50 sapier If you have those 3-6 months to implement it shadow?
18:50 ShadowNinja Modules would be (re)loadable C++ shared libraries, and mods would just be modufications to the engine.
18:50 ShadowNinja sapier: Well, the main thing to do is to make register_* unregisterable.
18:50 sapier btw you're talking about breaking compat to any mod out there not about some small client compat glitches
18:50 ShadowNinja sapier: Yes.
18:50 sapier basically forcing any single mod to be rewritten
18:51 ShadowNinja sapier: I think that reloadable plugins could be done without breaking compat, but it would be uglier.
18:51 sapier I'm listening
18:51 sapier how do you think it could be done?
18:51 ShadowNinja sapier: The hardest part would probably be deregistering items on the clients.
18:52 sapier that's just a lot of work
18:52 sapier really hard is how to separate the mods from each other
18:52 sapier you'd have to detect and deregister dependent mods automaticaly
18:53 ShadowNinja You would have register_* add a ["plugin"]=minetest.get_current_modname() field to everything registered, and then go through all registration tables looking for the appropriate items on unloading.
18:54 ShadowNinja I like the way that I implemented reloadable plugins in LuaBot, but something like that would be a major compatability break.
18:54 sapier ok sounds like a way to go for hard dependencys ... what about soft deps?
18:55 sapier are you really willing to spend those 3 months of work or are we talking about a hypothetical scenario right now?
18:55 ShadowNinja sapier: We should probably add a way to check if a plugin is loaded, rather than just minetest.get_modpath.
18:56 sapier yes but first we need to fix the broken async
18:56 ShadowNinja sapier: Hypothetical currently. It should be fairly easy to do though. With the exception of updating client's itemdefs, because I don't know much about that part of Minetest.
18:57 sapier I didn't say it's complicated but it's a lot of work
18:57 ShadowNinja sapier: Yes. I haven't gotten any further on that.
18:57 sapier time conduming work
18:57 sapier -d+s
18:57 sapier even if you know it getting it right takes time
18:58 ShadowNinja sapier: Well, since we use make_registration only a few places will have to be changed to add it.
18:58 ShadowNinja + a function to go through and remove entries, and a command.
18:58 sapier and and and ;-)
18:58 Megaf What does this means? "fdir=2"
18:59 ShadowNinja Megaf: fdir = FaceDirection.
18:59 Megaf I got like 7 lines of this
18:59 sapier even without knowing the details I assume loadable mod support isn't something to be done in parallel and will require a lot of core changes
18:59 sapier even more then android support
18:59 Megaf http://paste.debian.net/101733/
19:02 ShadowNinja sapier: The clean way to do it would be like this: http://pastebin.ubuntu.com/7516674/
19:03 sapier to do what?
19:03 ShadowNinja sapier: We could also namespace textures. Eg, default/dirt.png
19:03 ShadowNinja sapier: Reloadable plugins.
19:03 ShadowNinja (mods/modules)
19:03 sapier wait please write some concept prior starting to implement it
19:03 sapier this is a task as big as chances your/my/anyone elses first ideas are correct are next to zero
19:04 ShadowNinja sapier: I haven't started writing it, that's a concept.
19:04 sapier well if that's supposed to be a concept you've got a long way to go ;-)
19:04 ShadowNinja sapier: LuaBot ( https://github.com/ShadowNinja/LuaBot ) uses a method like this for it's reloadable plugins.
19:05 sapier plugin concepts aren't that complicated but still we should try to find a way to implement it to not force moders to rewrite their mods in total but just modify them
19:05 sapier that's the problem
19:06 ShadowNinja There should also be a unload function that is called if available. It can return true to signify that the plugin isn't unloadable.
19:06 Megaf what could cause player timing out?
19:06 sapier mods taking to much time
19:06 sapier if a server step increases above client timeout all clients are dropped
19:07 ShadowNinja sapier: Annother option is a combilition of both, with the old API depreciated and removed after a few releases.
19:07 Megaf Im not timing out, only players with not fast internet are timing out
19:07 sapier classical timeout about all packets beeing lost?
19:08 Megaf 16:06:31: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 580 has timed out. (source=peer->timeout_counter)
19:08 Megaf 16:06:31: ACTION[ServerThread]: kaue123 times out. List of players: Megaf Ricardo
19:08 Megaf 16:08:33: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 581 has timed out. (source=peer->timeout_counter)
19:08 Megaf 16:08:33: ACTION[ServerThread]: Lander times out. List of players: Megaf Ricardo kaue123
19:08 Megaf actually everyone but me are timing out
19:09 Megaf And i get these messages alone too, without a player actually timing out
19:09 Megaf 16:08:54: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 583 has timed out. (source=peer->timeout_counter)
19:09 ShadowNinja Megaf: pastebin please.
19:09 Megaf http://paste.debian.net/101739/
19:17 Megaf It's also really hard to teleport those players
19:17 Megaf and when they die, they spawn where they died
19:27 Megaf ok, not everyone timing out
19:30 sapier well spawn location issue is something completely different
19:30 Megaf You are wrong
19:30 sapier that happens for me too
19:30 sapier not always but sometimes
19:31 Megaf wrong spawn location + problems teleporting + timeout = all network issues
19:31 Megaf client and server having trouble speaking to each other
19:32 sapier just because I'm the only one fixing bugs claiming everything to be a network issue wont help
19:32 sapier ;-)
19:32 Megaf i don't know whos fixing it
19:33 sapier btw peer timeout after 2 minutest of not receiving anything from that client is perfectly ok
19:33 sapier are those clients current ones or some old buggy ones?
19:33 Megaf I believe those clients have poor internet connections or may be using outdated clients
19:34 sapier then make them use recent clients in first step and see if this helps, we can't fix client side bugs causing client not to send any data on server
19:34 Megaf so, I think there's nothing we can do about
19:35 sapier the only difference to before is those clients have been dropped silently in old code
19:39 sapier the spawn location thingy is a bug ... but it's not server/client communication as the position is done server side only
19:40 sapier teleporting ... no idea, but if a client isn't initialized properly due to already timing out that might be the result
19:40 sapier and timeout ... if there's really a slow connection and old clients that might be the reason for this one
19:40 sapier later two issues are hard to impossible to fix on server side
19:45 Megaf sapier, I can see no way of improving that without creating overhead
19:45 sapier improve what?
19:45 Megaf timeouts]
19:46 Megaf that could be prevented
19:46 sapier how is it supposed to be prevented? we already send pins
19:46 sapier pings
19:46 Megaf being passive, not sending pings
19:46 Megaf but not a good idea
19:46 sapier that's not an option as you'd not have a way to remove clients
19:47 sapier dead clients
19:49 sapier in case those clients state machine is messed up they most likely wont answer no matter if we wait 60 600 or 6000 seconds
20:11 * VanessaE peeks in
20:22 Megaf sapier; Just confirmed, there was 3 players having issues
20:22 Megaf other players are fine
20:22 Megaf no timeouts at all
20:23 sapier ok now we'd have to find out what clients those 3 players have been using
22:24 sapier #1335 comments on this? worth continuing and adding stats for lua entities too or drop it?
22:24 ShadowBot https://github.com/minetest/minetest/issues/1335 -- WIP replace hp/breath by generic stat mechanism by sapier
22:25 sapier proller you don't even have to answer the last question I already know your answer
22:33 VanessaE how does this affect old clients if they connect to a server so-patched?
22:33 sapier they won't have any statbar
22:33 VanessaE ok, that's a big no, then.
22:34 sapier that's why I suggest not to add it as is
22:34 sapier it's an improvement for a 0.5 release
22:34 VanessaE you should mention that in the "compatibility" line
22:34 sapier basicaly a showcase how I believe stats should be implemented in a clean way
22:34 VanessaE fair enough
22:35 sapier open for suggestions and improvement till it's added or not added by 0.5
22:36 sapier maybe it's possible to add compatibility code, but I'm not sure if it'd result in crazy code
22:37 VanessaE well of course I suppose I should clarify, by "old" client, I mean one that has C++ statbars and doesn't support HUD
22:37 sapier and to be honest this thing wont give a lot of benefit as long as we don't have client side lua
22:37 VanessaE anything that supports HUD surely would work fine with an appropriately-coded game on the server.
22:38 sapier partial
22:39 sapier starting from lua hud support a game could at least add some sort of statbar
22:39 sapier 16x16 px
22:39 sapier scaling with texture pack ... so not a really good way
22:40 sapier I'll check if it's possible to make it compatible but if it's more then 500 lines of code I don't really think it's worth it
22:49 ShadowNinja Commented.
23:22 RealBadAngel sapier, imho definitely worth continuing. especially for lua entities
23:38 VanessaE RealBadAngel: you have messages waiting.