Time Nick Message 00:55 paramat i updated #3146 to calculate displacement 'disp' only once for use with leaves and/or plants, much more efficient because these 2 options are usually used together. also, as tuned yesterday, much less compression/stretching of leaves. can anyone review/approve? 00:55 ShadowBot https://github.com/minetest/minetest/issues/3146 -- Shaders: Use triple-frequency waving for leaves and plants by paramat 00:56 paramat now i will reduce the heat/humidity spreads of mgv5/v7 biomes back to 750, as biomes get too big 01:18 RealBadAngel paramat, feels ok, but on the other hand, plants seen from above makes too visible square patterns imho, twisting movement you have eliminated helped there a bit 01:19 RealBadAngel you should think about rotating plants to avoid that and bring more variety to the world 01:19 paramat thanks. yes i noticed the twisting before 01:20 RealBadAngel just set randomly param2 of plants 01:21 paramat as you know i'm not keen on plant rotation :) 01:21 RealBadAngel yeah yeah you love squares, yet you now like round minimap ;) 01:22 paramat yes i prefer the round map because it rotates around the player and has no player marker 01:23 paramat #3152 01:23 ShadowBot https://github.com/minetest/minetest/issues/3152 -- Mgv5/mgv7 biomes: Reduce heat and humidity noise spreads to former value of 750 by paramat 01:24 RealBadAngel but seriously plant jungle grass on 10x10 area and look at it from above 01:24 RealBadAngel they make a grid 01:25 paramat i like the diagonal pattern, i find it suitable for a voxel world 01:25 RealBadAngel without twisting it looks even worse 01:26 RealBadAngel what you called more natural look is non changing diagonal pattern 01:26 RealBadAngel all over the area 01:27 paramat guess i should disturb hmmmm because of my PR above (i miss you) 01:27 RealBadAngel you should rather say "more natural voxel look" ;) 01:28 RealBadAngel anyway, im ok with the code. i will just apply rotation to the plants to avoid those patterns 01:29 paramat thanks for looking 01:30 RealBadAngel btw, another issue, why the heck if i update meta for one node, server updates meta for every node around? 01:32 paramat neighbours or whole mapblock? 01:32 paramat well i dunno 01:34 RealBadAngel propably whole mapblock 01:35 RealBadAngel i noticed that with signs, i have 3 signs next to each other, and when i edit just one, client is deserializng meta for all of them again 01:37 RealBadAngel awww lol 01:37 RealBadAngel thats pretty funny 01:37 RealBadAngel ive put there 6 chests 01:38 RealBadAngel editing one signs is causing server to send all 9 metas to the client 01:46 RealBadAngel no wonder inventory operations are so laggy 01:54 paramat now merging 3152 01:59 paramat complete 03:42 paramat i might merge the waving changes later, i *think* i have enough approval and testing now, and have reduced the squishing on est31's request 05:54 paramat ~tell est31 thought i'd mention i had a 'cmakefiles' folder pop up unexpectedly in one of my branches in 'src/threading/', it contained 'cmakedirectoryinformation.cmake' and 'progress.marks'. git didn't gitignore it 05:54 ShadowBot paramat: O.K. 06:00 paramat now merging #3146 06:00 ShadowBot https://github.com/minetest/minetest/issues/3146 -- Shaders: Use triple-frequency waving for leaves and plants by paramat 06:03 paramat ah bums 'patch does not apply' 06:03 paramat will do this another time 06:45 paramat fractal mapgen is ready for merge in a basic form, but i have hit a bemusing bug https://github.com/minetest/minetest/pull/3088#issuecomment-134002097 07:51 rubenwardy #3153 07:51 ShadowBot https://github.com/minetest/minetest/issues/3153 -- Override groups by rubenwardy 07:51 rubenwardy just rebasing to remove bad commit 07:54 rubenwardy done 07:54 rubenwardy #3153 07:54 ShadowBot https://github.com/minetest/minetest/issues/3153 -- Add minetest.override_item_groups by rubenwardy 08:46 rubenwardy nvalid block data in database - https://gist.github.com/rubenwardy/a0362922ebe85e6b27b6 08:46 rubenwardy Invalid block data in database - https://gist.github.com/rubenwardy/a0362922ebe85e6b27b6 08:46 rubenwardy hmmmm 08:53 rubenwardy https://www.dropbox.com/s/jnatised6nya4fg/world.zip?dl=0 08:54 rubenwardy #2610 08:54 ShadowBot https://github.com/minetest/minetest/issues/2610 -- Invalid block data in database: unsupported NameIdMapping version 10:02 rubenwardy I'm experiencing those 1/2 second jolts, but only when looking at unloaded blocks... 12:15 rubenwardy is #184 still present? 12:15 ShadowBot https://github.com/minetest/minetest/issues/184 -- Map-related FPS performance regression 15:36 TenPlus1 Hi folks... 15:36 TenPlus1 any devs in the house today ?? 15:38 nrzkt ? 15:39 TenPlus1 hi nrz, a quick question about the serialize.h error ppl are having 15:39 TenPlus1 https://forum.minetest.net/viewtopic.php?f=6&t=13177 <--- is 4aiman correct in his statement? 15:40 nrzkt please build your servers as a release to avoid the assert 15:41 nrzkt for a server it's better. 15:41 TenPlus1 so using 0.4.13 stable would stop the serialize.h error altogether ??? 15:42 nrzkt For the assert itself, a backtrace is needed to find which call send the wrong value 15:42 TenPlus1 I've run standalone server for a while and could not get that error to appear, until I teleported far beyond map limits 15:43 TenPlus1 which leads me to believe the updatelistener bug on linux builds may be the cause 15:43 TenPlus1 it teleports you far outside maps also which could crash server and cause same error 15:43 nrzkt strange thing 15:43 TenPlus1 nothing else causes it to happen 15:45 TenPlus1 but... saying that, if 4aiman is right and a check statement could stop error happening and throw up an error instead of a crash... would it help future testing of builds ? 15:46 red1 I added a node to a group but minetest.get node group still returns 0. What am I doing wrong? 15:46 TenPlus1 red1, show your code plz 15:47 TenPlus1 use pastebin 15:50 red1 http://pastebin.com/eeZSqgG5 15:53 TenPlus1 the command you are using is deprecated red1 15:53 TenPlus1 use minetest.registered_nodes[node].groups.groupname instead 15:54 TenPlus1 e.g. minetest.registered_nodes["default:water_source"].groups.water 15:54 red1 oh ok thanks 15:54 TenPlus1 np :) 15:56 red1 I though that the wiki meant get_node_level is deprecated 15:57 TenPlus1 double-checking page... 15:58 TenPlus1 apologies, you are right... I misread the command page... 15:59 TenPlus1 although try the minetest.registered_nodes command to see if that works 16:00 red1 yeah it works 16:00 TenPlus1 :) 16:08 TenPlus1 bye folks 17:37 rubenwardy #3153 17:37 ShadowBot https://github.com/minetest/minetest/issues/3153 -- Add minetest.override_item_groups by rubenwardy 18:11 TenPlus1 nrz, thanks for help earlier but their is no 0.4.13 stable build available for ubuntu/mint at this time 18:15 TenPlus1 and the 0.4.13 ppa available on launchpad still has serialize.h error 19:32 RealBadAngel guys, whos familiar with network code? ive found serious issue with metadata 19:33 RealBadAngel im not familiar with it, and can see it would require lotsa changes 19:35 RealBadAngel this is real nasty bug affecting both server and clients, more developed world (and more complex mods) the things get worse 19:36 RealBadAngel well, its not a bug, its planned by whoever wrote that code 19:36 RealBadAngel problem is that changing single node meta means sending whole block to the client 19:37 RealBadAngel then client erases whole block metas, deserialize got ones 19:37 RealBadAngel and do the same for all neighbouring blocks 19:37 RealBadAngel then all the meshes for those blocks get updated 19:38 RealBadAngel this is trigerred by simple moving something in a chest, or editing the sign, whatever operation on meta 19:38 RealBadAngel mods like technic, pipeworks are then practically unuseable on servers 19:39 RealBadAngel thx to that mechanism VEs spawns have few fps 19:39 RealBadAngel server is busy sending blocks all over, clients regenerating meta and meshes 19:46 est31 paramat: will push #3146 for you 19:46 ShadowBot https://github.com/minetest/minetest/issues/3146 -- Shaders: Use triple-frequency waving for leaves and plants by paramat 19:46 est31 ... if I remember how to apply it xD 19:47 sfan5 git am 19:47 RealBadAngel i just used copy paste 19:47 est31 git am fails :) 19:47 RealBadAngel est31, have you read what i wrote just before you came in? 19:48 est31 RealBadAngel, reading now 19:48 RealBadAngel this single change is worth .14 imho 19:48 RealBadAngel thats way too serious issue 19:49 est31 first doing paramat's merge, ok? 19:49 RealBadAngel no hurry, theres no fix for it yet lol 19:51 Amaz Would it fix a bit/lot of server lag? 19:51 RealBadAngel lot? shitload of lots 19:51 RealBadAngel that issue renders well developed worlds unplayable 19:52 Amaz That would make a lot of people happy :) 19:52 RealBadAngel whats most funny approach to send whole block instead of single meta is called inside source as fix 19:52 RealBadAngel thats because of compability with older clients 19:54 est31 RealBadAngel, why do you have low FPS if you have to regenerate meshes? 19:54 RealBadAngel i was always repeating where keeping compability with yrs old code leads 19:54 RealBadAngel to serious fuckups in the end 19:54 est31 whats your proposed behaviour? 19:55 RealBadAngel est31 imagine technic machine and pipeworks moving item in and out of the inventory 19:55 RealBadAngel theres shitload of machines around 19:55 RealBadAngel each meta change triggers block update on client side 19:55 RealBadAngel each block update is causing its neigbours update 19:56 RealBadAngel result is 5-6 fps on VEs servers 19:56 RealBadAngel on very decent machines 19:56 est31 each block update is causing its neigbours update <---- we had this, this is due to things like connected glass or raillike drawtype, to work on block border 19:56 RealBadAngel hold on 19:56 est31 RealBadAngel> each meta change triggers block update on client side <---- this is no bug, but a performance problem 19:56 RealBadAngel take an item out of the chest 19:57 RealBadAngel should it regenerate meshes for every block around? 19:57 est31 no. 19:58 RealBadAngel even regular furnace cooking items is causing mesh updates each cooked item 19:58 RealBadAngel solution is to send to client just single node meta 19:58 RealBadAngel not the whole block 19:59 est31 well that doesnt solve the actual problem 19:59 RealBadAngel that will solve the problem 19:59 est31 you say the problem is that meshes get regenerated when its not needed eg if you take out sth 20:00 RealBadAngel hold your horses 20:00 RealBadAngel lemme prepare some links for you 20:01 RealBadAngel server.cpp line 926 20:02 RealBadAngel here we have a reason - single node meta change - action = send whole block with all nodes meta 20:03 est31 well there are two issues here 20:03 est31 1. meshes get regenerated when its not needed 20:03 est31 2. if you change metadata, the changes are sent for the whole block 20:04 RealBadAngel server.cpp line 2101 20:04 RealBadAngel the explanation why its done like that 20:04 RealBadAngel 1. is not the issue 20:05 RealBadAngel regeneration of meshes is triggered because block was sent 20:05 RealBadAngel thats normal action for block being sent and received 20:05 RealBadAngel problem is in this case block should not be sent at all 20:05 est31 to address 2. we should perhaps change protocol and add a message that only changes the metadata for a block 20:06 RealBadAngel not add the message 20:06 RealBadAngel fix the existing one 20:06 RealBadAngel the meaning of it is clear 20:06 RealBadAngel but what it does is Monthy Python joke 20:07 RealBadAngel it does exactly the same like adding/removing node 20:07 RealBadAngel event.type = MEET_BLOCK_NODE_METADATA_CHANGED; 20:08 est31 ah I see now 20:08 RealBadAngel this event should not in any case send a block 20:08 RealBadAngel just a single meta 20:08 est31 we can perhaps indeed adjust the change msg. 20:08 RealBadAngel msg? 20:08 est31 no need for .14 here, just a higher proto version 20:08 est31 pkt sorry not msg 20:08 RealBadAngel yes 20:09 RealBadAngel but thats spreaded all over there 20:09 RealBadAngel even in rollback 20:09 RealBadAngel i meant .14 for the effects it can bring 20:10 RealBadAngel that will allow servers to deploy complex mods again 20:11 est31 I dont think 2. is that much of an issue... 20:11 est31 but yeah it should be fixed 20:12 RealBadAngel its damn huge blocker 20:12 RealBadAngel with signs mod its even worse 20:12 VanessaE est31: imagine a well-built-up area (spawn, perhaps) with hundreds of signs, machines, chests, and other stuff moving things around and causing singular meta updates. Seems to be that with the existing behavior, dozens of mapblocks are being sent for every meta update in such an area. 20:12 RealBadAngel textures got deleted only on client shutdown 20:12 est31 RealBadAngel, with signs mod you do need regular mesh updates, no? 20:12 est31 I mean this is yet another problem 20:13 RealBadAngel when metas get refreshed all the time without a reason textures are made all over 20:13 est31 you propose to change features of the node depending on its meta 20:13 est31 so how can that be achieved without updating the mesh? 20:13 RealBadAngel dont look at the problem from the ass side 20:13 est31 VanessaE, I see that it might cause network traffic, but I still doubt that this is the cause of the low FPS on such spawn areas 20:14 est31 RealBadAngel, I have to look at every side of the problem, in order to solve it 20:14 RealBadAngel server is spamming each client with blocks data 20:14 VanessaE est31: it's just my theory. if metas are being updated and causing dozens-at-a-time mapblock refreshes on the client, at the very least it'll cause choppy FPS. 20:14 RealBadAngel client are continuously regenerating meshes 20:14 est31 VanessaE, mesh updates are done in mesh update thread not in main thread 20:14 RealBadAngel need a proof join VE server 20:15 RealBadAngel est31, it happens dozen of times each second 20:15 VanessaE RealBadAngel: you benchmarked it? 20:15 RealBadAngel each meta change means send a block 20:16 RealBadAngel each block will cause 9 mesh updates 20:16 RealBadAngel also, erase whole meta on client side for those blocks 20:16 RealBadAngel and deserialize it 20:17 RealBadAngel dont need to benchmark it, i can see clearly shitload of work needed to be done all over again 20:17 RealBadAngel without a single reason for it 20:17 RealBadAngel there are no magic dwarves here to do that all shit 20:19 VanessaE still need to benchmark it. cut off all meta updates on your client and go visit VE-S 20:19 est31 dont need to benchmark it, i can see clearly shitload of work needed to be done all over again <----- thats the wrong way of approaching things 20:19 VanessaE see how it compares to the normal client behaviopr 20:19 VanessaE -p 20:19 RealBadAngel i can easily disable that command and join your server VanessaE 20:20 VanessaE RealBadAngel: that's the idea. 20:22 RealBadAngel est31, thats absolutely right approach. when we do know that code is doing things in this case absolutely unnecessary 20:22 RealBadAngel whatever time the code takes it means always NOT NECESSARY 20:23 est31 RealBadAngel, we just know that it sends unneccessary data 20:23 RealBadAngel sending is less the problem 20:23 RealBadAngel what it triggers is 20:23 est31 but we cant say whether it is at all an issue on VE's servers 20:23 est31 or whether the low fps is caused by sth else 20:24 RealBadAngel wait, sending blocks all over is not the problem? 20:24 RealBadAngel how much takes well developed block with lotsa machines, signs, inventories? 20:24 est31 RealBadAngel, prove me wrong xD 20:25 RealBadAngel lets say we have 10 clients 20:25 est31 perhaps 4 kb of data 20:25 VanessaE est31: well regardless of which thread mesh updates take place in, every time there IS one, it causes a tiny FPS lag, for me at least. add up enough of those, happening often enough and you've got a recipe for slow FPS 20:25 RealBadAngel lets say meta changes (for one node) happens 10 times a second 20:25 RealBadAngel 10*10*4kb 20:26 est31 RealBadAngel, have you measured that? 20:26 RealBadAngel we just had here 10 machines 20:26 est31 dont just say some number 20:26 RealBadAngel and just 10 clients 20:26 RealBadAngel thats very light scenario 20:26 est31 but still it isn't *that* stupid 20:26 RealBadAngel sending whole block? 20:27 RealBadAngel thats DUMB 20:27 est31 if you run the machine ABMs, and indeed every of those machine's inventories changes, the block is only sent once for all 10 machines changes, not ten times 20:27 RealBadAngel not to use stronger words 20:27 RealBadAngel add 20 signs to that 20:27 RealBadAngel and 20 new textures on each refresh :P 20:27 est31 well, gtg sleep. bye 21:01 VanessaE ok well since RealBadAngel is gonna hem and haw over it: here's his screenshot showing vastly-improved FPS by disabling... something that he hasn't said just what: https://imgrush.com/M9Ma6966sJt6.png 21:02 nrzkt VanessaE: you made cross realm chat ? 21:02 RealBadAngel lol 21:02 VanessaE heh 21:03 RealBadAngel we all do as it seems ;) 21:03 VanessaE RealBadAngel: so...explain that screenshot 21:03 VanessaE (also, don't mind the wrongly-oriented text on the right, foreground. signs_lib bug.) 21:05 RealBadAngel the client is ignoring meta changes 21:05 RealBadAngel thus it is pissing on continous request to update blocks 21:06 RealBadAngel result = about 40 fps instead of 5-7 21:06 kahrl_ how does it detect whether a sent block is a meta change or a change of the bulk data? 21:06 RealBadAngel theres special case 21:06 RealBadAngel meant to send only meta changes 21:07 RealBadAngel but whoever coded it, decided to send whole block there to keep compability with older clients 21:07 RealBadAngel see comments in source 21:07 kahrl_ where exactly? 21:13 kahrl_ you can't mean the MEET_BLOCK_NODE_METADATA_CHANGED handler in server.cpp, because changing that would have zero effect when you connect your client to someone else's server 21:24 VanessaE [09-07 16:01] server.cpp line 926 21:24 VanessaE [09-07 16:04] server.cpp line 2101 21:25 RealBadAngel RealBadAngel> the client is ignoring meta changes 21:28 RealBadAngel VanessaE, after all this time i made the screenshot im still connected with 40fps 21:29 RealBadAngel never saw your spawn so smooth 21:46 Wayward1 RealBadAngel, would you mind pastebinning your changes here? I'd like to test them myself