Time Nick Message 00:45 VanessaE there's already a security patch that's eventually gonna go in (or become default-enabled) that forbids that. 00:49 Soni VanessaE, I meant like no bytecode loading for softmods... 00:49 Soni hardmods and plugins should allow bytecode loading 00:50 Soni (well I mean... hardmods include native/C/C++ mods...) 05:31 hmmmm :\ 05:31 hmmmm https://github.com/kwolekr/minetest/commit/7fd0c46048ec81c78b3c8655d9c08c01328d35bd 05:31 hmmmm pushing in 30 minutes if nobody has any more comments 05:32 VanessaE that looks useful. 06:12 paramat i was about to comment =) it needs lazy calculation of top and bottom noises, and format info for 'noise puff top' 'noise puff bottom' added to lua_api.txt near line 3338. with those i approve 06:14 paramat hmmmm i found an interesting mapgen on the forums that uses ramps, see screenshots here and following page https://forum.minetest.net/viewtopic.php?f=50&t=12889 06:16 paramat it's the slowest lua mapgen i know of, the code is very java / OOP and indecipherable to me. the slopes make caves quite an experience 06:27 hmmmm very interesting 06:27 hmmmm i think this guy might have a C# or Java background 06:28 paramat yeah java 06:28 hmmmm in lua, there is an actual tradeoff between clever object oriented abstractions and more optimizations that result in 'raw' code 06:28 hmmmm he's probably not used of it 06:29 hmmmm as i recall there exists an official lua best practices page that describes all the common optimizations 06:29 hmmmm paramat, did you get the lazy calculation idea from my comment, by any chance? 06:30 paramat yes 06:30 hmmmm i don't think it really makes much of a difference at all with 2d noise 06:31 paramat still more efficient though, even if a small gain 06:32 paramat where did your perfectionism go? ;) 06:33 paramat i consider 2 2D perlinmaps a fairly big lump of processing 06:33 hmmmm blghg 06:33 paramat hehe 06:33 hmmmm they went under there 06:34 paramat oh and someone is porting this mapgen to C++ https://forum.minetest.net/viewtopic.php?f=9&t=11430 06:34 paramat it's similar to my river mapgens 06:37 hmmmm ahh 06:37 hmmmm from the one screenshot it looks like he's adding 3d noise on top of 2d noise 06:37 hmmmm kind of like v7, except it's more hrmm.. spattered looking? 06:38 paramat it's complex, about 20 noises 06:38 hmmmm ahh nuts 06:38 hmmmm that explains why 06:38 hmmmm i seriously try to keep the number of noises for base terrain generation low 06:40 paramat 8 3D noises 06:55 hmmmm I just did a comparison 06:56 hmmmm it appears that the optimized version saves 21 microseconds 06:56 hmmmm ..or it could be a statistical anomaly 06:57 paramat seems small 06:58 paramat well never mind that, it should still be optimised 06:59 paramat especially for when an ore is made rare, so not present in most chunks 07:01 Hunterz in the minecraft(bukkit) is something like worldborder which can pregenerate world before game started, for example pregenerate world which ends 5000 blocks from 0,0 07:01 hmmmm http://fpaste.org/268299/47325914/ 07:01 Hunterz is possible something similar in the minetest? 07:01 hmmmm not currently 07:01 hmmmm why would you want to do that anyway? 07:01 hmmmm generating world anew is faster than loading the world from disk 07:02 Hunterz when is mapgen slow or does not want 300GB map 07:02 kahrl hmmmm: maybe it's a slow lua mapgen 07:04 kahrl Hunterz: you might be able to with a mod that loops over the volume and forceloads each chunk with a voxelmanip 07:06 hmmmm yeah, this would probably be a lot easier to have an in-game command that queues up all the blocks within a given volume 07:06 hmmmm generating map outside of the world... 07:06 hmmmm I guess it could be done but the way minetest is structured makes it really awkward 07:14 paramat there's a mod in the forum that will auto-explore a lua mapgen to generate it, think it's called 'explore map' by 'echo' 07:15 hmmmm incredible how people put so much more effort into total hack solutions than it would take to implement it properly 07:15 hmmmm christ, I'll do it right now 07:16 VanessaE https://forum.minetest.net/viewtopic.php?id=2950 07:17 paramat ^ that 07:18 paramat it works with core mapgen too, but there's usually no point 07:20 paramat Hunterz we now have a configurable world border distance 07:24 Hunterz nice 07:46 paramat good, lazy calculation was added to puff ore 07:47 paramat waterlilies go in soon game#675 07:47 ShadowBot https://github.com/minetest/minetest_game/issues/675 -- Flowers: Add waterlily and add to mapgen by paramat 07:58 paramat can anyone confirm that 'add node' is deprecated and we should use 'set node'? searching through history of docs doesn't make clear which one is deprecated 08:02 VanessaE from a modder's point of view, it is 08:02 VanessaE I believe the API says one is aliased to the other 08:03 paramat indeed 08:03 paramat thanks i was thinking set node was the deprecated one 08:04 VanessaE of course that raises the question: when was each of those added? :) 08:09 paramat both were present at the start of lua_api history so i couldn't find out 08:13 kilbith https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1934 08:29 RealBadAngel paramat, your changes to flowers are ok, but leaves are not 08:30 RealBadAngel i tried to get used to that motion but no 08:31 paramat what would improve it? 08:31 RealBadAngel imho leaves, plants (flowers) and plantlike in general shall use different code 08:31 RealBadAngel what you have done was an attempt to unify it 08:32 RealBadAngel and its like i predicted 08:32 RealBadAngel when you made flowers ok, you broke everything else 08:33 RealBadAngel split the code is the only answer 08:34 RealBadAngel different for flowers, different for grass and leaves 08:35 RealBadAngel also we shall make x,y factor more used 08:35 RealBadAngel otherwise we have ugly "grids" 08:36 RealBadAngel i mean x and z 08:37 paramat what is it about grass motion that you feel needs to be different from flower motion? 08:43 paramat it's optimum to use the 1 oscillation 'disp' for all, but it can be applied to plants and leaves differently (as it is already) i don't think there is enough need to separate flowers from plants 08:46 RealBadAngel paramat, what you have done to leaves is making them sliding it just one direction 08:47 RealBadAngel from my point of view, unaccepatble 08:47 RealBadAngel you just BROKE the effect 08:47 paramat they move in y and z too but only a little, that could be increased 08:48 RealBadAngel i can make it separate 08:48 paramat the previous effect was 'writhing jelly' many have commented how odd it looked =) 08:48 RealBadAngel and many said its lovely 08:48 RealBadAngel world was alive 08:48 paramat it used separate oscillators for each direction, which was heavy and unnecessary 08:48 RealBadAngel now its shiftin 08:49 paramat it looks more natural to me, branches swaying mostly in x 08:50 RealBadAngel youre voxel freak, no offence 08:50 RealBadAngel thats not any close to natural 08:51 RealBadAngel you just told one axis to fuck off 08:51 RealBadAngel and called it a wind 08:52 paramat we could increase the y and z motions for leaves a little? 08:53 RealBadAngel my proposal is that i will make code separate 08:54 RealBadAngel so we can fine tune each plant, or plantlike behaviour 08:57 paramat motion for grass seems fine for flowers, seems unnecessary complexity to split these. anyway you have a fork for this over-engineered stuff 09:00 paramat i'll consider more subtle tweaks to the wavng code though 09:00 paramat this old PR game#395 seems good will merge later 09:00 ShadowBot https://github.com/minetest/minetest_game/issues/395 -- Make furnace work even when unloaded by Kalabasa 09:04 RealBadAngel gfx is not about making things complex 09:04 RealBadAngel its about making things nice lookin 09:05 RealBadAngel you are makin them lookin too simple, grids 09:06 RealBadAngel and yes, we do have a fork 09:06 RealBadAngel your changes will be reverted 09:07 RealBadAngel i dont like such mathematical shit around 09:07 RealBadAngel sorry 09:07 paramat do you mean everything moving as a grid when seen from above? i could try reducing the wavelength of the motions 09:07 paramat no problem 09:07 RealBadAngel base of your change was wrong 09:07 paramat it may well need some tweaking 09:08 RealBadAngel it needs separation 09:08 RealBadAngel you made flowers wave right 09:08 RealBadAngel yes 09:08 RealBadAngel but you broke everythin else 09:09 RealBadAngel and damn, you cant get it 09:09 RealBadAngel exactly i predicted 09:10 paramat well nevermind we are polar opposites when it comes to visual stuff, my tastes are very close to celeron's 09:11 RealBadAngel agree we are polar 09:11 RealBadAngel but when i admit youre master in biomes or mapgen 09:12 RealBadAngel you should on the other hand admit i do know something about gfx 09:12 RealBadAngel if you step on my playground you should ask before doing it 09:12 paramat yes, you have the technical knowledge sure 09:13 paramat taste is different 09:13 RealBadAngel taste is very differnt thing 09:14 RealBadAngel problem is to pick correct one 09:14 RealBadAngel that most will like 09:15 RealBadAngel im not the oracle, but im coder, player, and just a comp freak 09:15 RealBadAngel what i have noticed lately im the only one dev who actually plays the fucking game 09:16 RealBadAngel none of you were seen on the servers lately 09:16 paramat yeah i admit i should play more 09:16 paramat i'm actually very shy about servers =} 09:17 paramat i usually run for the hills 09:17 RealBadAngel come play skyblock 09:17 VanessaE play on my Basic Plus server. no one's ever there lately :) 09:17 RealBadAngel paramat, VanessaE nothing helps more for a dev like playing 09:18 paramat agreed 09:18 RealBadAngel i see issues, bugs, or flaws 09:18 RealBadAngel on my own, and i can understand why 09:19 RealBadAngel what we have reached in minetest is having bunch of semi-idle coders 09:20 RealBadAngel which do not play or care about the project 09:21 RealBadAngel whatever comes new is pushed away or ignored 09:21 VanessaE I think "do not [...] care about the project" is a bit strong, no? 09:21 RealBadAngel most important are whitespaces and formatting 09:21 VanessaE however you're right, not enough of the coders play the game 09:21 VanessaE especially on servers. 09:22 paramat sometimes i wonder if we should have a private server for trusted, mature behaving players 09:22 RealBadAngel if i wasnt loving this project i wasnt putting my keyboard to waste 09:22 RealBadAngel and yet im polishing it all over 09:23 RealBadAngel sometimes i feel like i get enough 09:23 RealBadAngel but yet im still coding candies :P 09:23 RealBadAngel its the fucking marriage or what? ;) 09:26 RealBadAngel anyway, kahrl, you were wrong 09:26 RealBadAngel far players DO GET updates 09:26 RealBadAngel its made in the queue, not in my code 09:27 RealBadAngel my routine gets the list, update it and later on its being handled 09:27 RealBadAngel same as for add or remove node 10:52 kilbith is there the archlinux packager around ? 10:52 kilbith the stable release ain't translated 10:54 RealBadAngel who is using archlinux anyway? 10:55 RealBadAngel im a coder with more than 20yrs experience, have tried dozens of distros 10:56 RealBadAngel and havent even heard of archlinux 10:56 RealBadAngel so, dismiss 10:58 RealBadAngel (sidenote, you know why) 10:59 kilbith you should try it, thats the most performant distro 11:01 RealBadAngel kilbith, as for me ubuntu is fine enough 11:01 RealBadAngel home system that is never restarted, for periods like months 11:02 RealBadAngel is more that stable 11:02 kilbith ubuntu is a commercial shit for plebs 11:02 RealBadAngel im on xubuntu 11:03 RealBadAngel and it is working for me 24/7 11:03 kilbith only thing is like on *buntu is the font rendering and themes 11:03 kilbith *i 11:03 RealBadAngel whatever 11:03 RealBadAngel lemme check something 11:04 kilbith with archlinux you're always up-to-date and it's a KISS structure 11:04 RealBadAngel last restart was 31 days afo 11:05 RealBadAngel kilbith, with kiss approach you may want to fight with your bride 11:05 RealBadAngel not your system 11:05 kilbith unix is fundamentally KISS 11:05 kilbith the command_line is a tradition 11:05 RealBadAngel as i said above 11:06 RealBadAngel and im repeating 11:06 RealBadAngel coding is not tradition 11:06 RealBadAngel coding is not a style 11:06 kilbith command line != coding 11:07 Hunterz everyone prefer own way, someone use ubuntu, someone suse, windows, macosx... 11:07 RealBadAngel you have to see "code" in your mind 11:07 RealBadAngel get how it could work 11:08 RealBadAngel i hate imposters that seems to see and understand code without the code iself 11:10 RealBadAngel hmmm, that is mostly about YOU 11:11 kilbith ? 11:11 RealBadAngel im watchin ur actions, what have you done recently? 11:12 RealBadAngel complain to some Teckla that youre ashamed to be part of this community? 11:12 kilbith oh well, fuck off 11:12 kilbith you're again in your sequency of puking your contempt 11:13 kilbith *sequence 11:13 RealBadAngel community is frozen 11:13 kilbith who is Teckla ? 11:13 RealBadAngel nothing happens 11:13 RealBadAngel idk 11:13 kilbith never talked to him 11:13 RealBadAngel but hmmm was ashamed of her to see 11:14 RealBadAngel he acclaimed to be sorry to be taking part in such SHITTY project 11:14 RealBadAngel and thats his words 11:14 RealBadAngel not mine 11:15 RealBadAngel so,hmmm, sex is on your side 11:15 RealBadAngel i do actually love the project 11:15 RealBadAngel you may fuck this 11:15 kilbith what about #3166 11:15 ShadowBot https://github.com/minetest/minetest/issues/3166 -- Send to clients only changed node metadata instad of whole mapblock by RealBadAngel 11:16 RealBadAngel kilbith, this is being worked on 11:17 RealBadAngel sending single meta is good, but sending couple would be better 11:17 kilbith 59 FPS on screenshot was a very ephemeral pick or almost constant ? 11:18 RealBadAngel constant 11:18 RealBadAngel i had to turn R to get lower fps 11:19 kilbith that's surprising at VE-S spawn 11:19 RealBadAngel i used to get there no more like 10fps 11:20 RealBadAngel i knew what was the reason for it 11:20 kilbith Zeno with his i7 as well 11:20 RealBadAngel i have fixed that issue 11:20 RealBadAngel if mt wants to get it? idk 11:21 kilbith MT is eager of every optimization 11:21 RealBadAngel this optimization was screaming here loud for ages 11:21 Calinou this is why you remove dead code :) 11:22 RealBadAngel thats not single version to version dead or buggy code 11:22 RealBadAngel it was designed in BAD WAY 11:22 RealBadAngel celeron55, and its your fault 11:23 kilbith i think you should stop adding new features on focus on big rooms for optimization 11:23 kilbith s/on/and 11:23 RealBadAngel ROTFL 11:23 kilbith particles, VBO, lighting... 11:23 RealBadAngel you call this a feature> 11:23 kilbith no 11:23 RealBadAngel ????????????????????????????????????????????????? 11:24 RealBadAngel fuck this is biggest bug fix i remember since yrs 11:24 kilbith but IMO it was necessary to spend such time on minimap and signs 11:24 kilbith wasn't* 11:24 RealBadAngel lol 11:24 RealBadAngel lol 11:24 RealBadAngel lol 11:24 RealBadAngel lol 11:24 RealBadAngel and rotfl 11:24 RealBadAngel go asleeep 11:25 kilbith especially minimap 11:25 RealBadAngel youre ignorant 11:25 kilbith everyone contesting you is 11:26 RealBadAngel sure 11:26 RealBadAngel effects you can see 11:27 RealBadAngel i do the GFX 11:28 RealBadAngel u may hate me, but i create the visuals 11:28 RealBadAngel and how the game looks like 11:29 Calinou you didn't create the most important part of the visuals: the textures and models :) 11:29 kilbith i don't hate you, i like your work in fact 11:30 kilbith but i don't agree with your roadmap focused on nolvelties 11:30 RealBadAngel Calinou, ive touched EACH and EVERY node in game in fact ;) 11:31 RealBadAngel .13 comes with nearly all normalmaps 11:31 paramat now merging game#675 11:31 Calinou those are not enabled by default 11:32 ShadowBot https://github.com/minetest/minetest_game/issues/675 -- Flowers: Add waterlily and add to mapgen by paramat 11:32 Calinou paramat, yay 11:32 kilbith Calinou: you can close yours 11:32 RealBadAngel Calinou, you may enable them in menu 11:33 RealBadAngel anyway, theres no such good lookin renderer as ours 11:33 RealBadAngel ive spent months to make those effects real 11:34 RealBadAngel no fuckin notch have such nice reliefed mapping nodes 11:37 paramat merge complete 11:56 kilbith ah shit paramat has left 11:56 kilbith we aren't supposed to walk over the lilies 12:01 OldCoder Wasn't this channel pretty strict 2 years ago? 12:01 OldCoder I was shouted at a couple of times even for disturbing the silence 12:02 OldCoder It's almost like #startups these days 12:02 OldCoder It's nice to feel relaxed but decorum can serve a purpose 12:02 OldCoder 12:18 est31 hi nrzkt! 12:21 * est31 wonders whether the bug in RBA's pr is fixed yet that you get the metadata of ALL nodes, not just those close to you 12:24 * est31 makes a github comment 12:56 Darcidride Bonjour 12:56 Darcidride Bonjour / Hi 13:14 est31 https://www.youtube.com/watch?v=S9pc8li4fuQ 14:33 Megaf_ Minetest timeout is too short now 14:33 Calinou timeout to connect to a server? 14:35 Megaf_ nope, while playing 14:35 est31 still, is it server side timeout or client side 14:35 Megaf_ Im timeing out all the time from my server, I know my internet is not very good at the moment, but timing out every 15 seconds is ridiculous 14:35 est31 perhaps increase it then 14:36 Megaf_ ssh still connected and IRC still connected, but minetest client is timing out 14:36 est31 freenode has really high timeout value 14:36 est31 which is good IMO 14:36 est31 I know mozilla irc 14:36 Megaf_ perhaps we need a better way to detect a real time out 14:36 est31 where you time out quite quickly 14:36 est31 and all channels are filled with joins and parts 14:37 est31 here its quieter fortunately 14:38 est31 ah damn its not customizeable 14:39 est31 it should be IMO. 14:40 est31 well, for the meantime, do you know how to edit source/ compile etc? 14:41 est31 if yes, go to src/game.cpp search for the line with "if ((*address != "") && (wait_time > 10)) {" 14:41 est31 and replace "10" with your custom value 14:49 est31 YESSS 14:49 est31 YES 14:49 est31 damn great 14:50 est31 found my VPX test changes 14:50 est31 wondered where they were 14:50 est31 knew I've worked on them in may 14:50 est31 and knew i've stored them somewhere 14:50 est31 now where? 14:50 est31 reflog didnt show them 14:51 est31 found them on my stash stack 15:03 H-H-H totally unrelated to minetest but does anyone know how to merge one git repo into another lol 15:04 est31 H-H-H, what exactly do you want to accomplish 15:05 H-H-H ihave 2 repos both started the same but in one i have commited 17 chanes and i wanted to apply those to my clean one 15:05 H-H-H if that makes sense 15:06 est31 either you add one repo as remote of the other 15:06 est31 or you create a patch then apply that 15:08 H-H-H ok thanks i think the patch route is probably the better option as i then have the patch for later use 15:08 H-H-H ty 15:09 est31 H-H-H, in the source repo with the commits you want, find the first commit id and the last one 15:10 est31 then do git format-patch firstid..lastid --stdout > your-patch.patch 15:10 est31 on the receiving side do git am your-patch.patch 15:10 est31 ofc you copy the patch file over in between 15:11 H-H-H ok thanks :) 15:11 H-H-H using the first 6 digits of the commit id is enough ? or do i need the whole thing? 15:13 T4im git will allow you to use as few as are still unique 15:22 H-H-H ty 15:35 paramat sfan5 ShadowNinja i will merge this fix for waterlilies very soon game#678 15:35 ShadowBot https://github.com/minetest/minetest_game/issues/678 -- Flowers: Make waterlily not walkable. Add missing flower group by paramat 15:35 sfan5 TIL we have waterlilies 15:35 sfan5 or maybe i already knew? 15:35 sfan5 paramat: looks good 15:35 paramat thanks 15:39 paramat here's one that just needs another +1 game#674 15:39 ShadowBot https://github.com/minetest/minetest_game/issues/674 -- Add a crosshair with shadow for visibility by Ferk 15:40 est31 wtf 15:40 est31 paramat, arent you the person who likes minetest more basic 15:40 est31 seems thats wrong 15:40 paramat game#395 has 2 approvals so i'm considering merging it, in case someone wants to check it 15:40 ShadowBot https://github.com/minetest/minetest_game/issues/395 -- Make furnace work even when unloaded by Kalabasa 15:41 est31 I dont care if furnaces work if away and farms don't 15:41 paramat referring to the crosshair? 15:41 est31 yea ofc 15:41 kilbith well it's like the crack images, at beginning there was only white 15:42 kilbith s/white/black 15:42 est31 i dont really care anymore 15:42 kilbith and then has been combined with white for visibility 15:42 est31 it might be best to have two channels #mt-dev and #mtgame-dev 15:42 est31 so that i can only be in one of them 15:42 est31 and monitor that 15:45 est31 or I just learn to ignore better :) 15:48 paramat now merging game 678 15:53 paramat complete 16:25 T4im huh? 200, 395... everyone keeps rewriting furnace to work unloaded but noone uses nodetimers for it? O_o 16:26 kilbith timers are slower than ABMs, someone made a benchmark : https://forum.minetest.net/viewtopic.php?p=178943#p178943 16:27 T4im that benchmark is cobble :D 16:27 T4im he benchmarked a case of a typcial abm case.. 16:28 T4im I can't imagine furnaces working better with an abm checking gametime manually then a nodetimer 16:28 T4im you can't compare abms and nodetimers here in speed alone 16:29 kilbith 256 growing plants are quite a lot 16:30 kilbith 50% slower on that :/ 16:30 T4im yes, but we are not talking about a mass of one nodetype being worked on in a lazy manner, but selected nodes working realtime 16:30 T4im this are complete different usecases 16:32 RealBadAngel trying to ride on lawnmover? sure its possible ;) 16:32 T4im heh 16:33 RealBadAngel this benchmark is documenting such ride 16:33 T4im indeed :D 16:40 T4im one huge issue with this is, that every furnace is triggering that abm, whether active or not.. and most of the time they are not... a nodetimer can simply be stopped in such cases and retstarted once it is needed 16:41 T4im kilbith, for example you could compare autocrafters before and after I rewrote them to use nodetimers... they became _a lot_ faster afterwards.. and they are able to "power down" if finished by any means, which iirc made quite some difference 16:46 kilbith you should rewrite the default furnance then ;) 16:51 RealBadAngel imho main problem is not the abm itself 16:52 RealBadAngel the real problem is what that triggers 16:52 RealBadAngel as usual, sending whole block, with all the metas, triggering mesh update for this block and all its neighbours 16:53 asl97 the lua mg example in the dev wiki seem to be broken, line 50, attempt to index local 'heightmap' (a nil value) 16:53 T4im true... and its bad... every furnace does metadata and crafting recipe lookups every second without reason 16:53 asl97 example on http://dev.minetest.net/VoxelManip 16:53 est31 RealBadAngel, an abm doesnt do that 16:53 kilbith #3002 16:53 RealBadAngel wanna bet? 16:53 ShadowBot https://github.com/minetest/minetest/issues/3002 -- ABM scanning is very slow 16:53 RealBadAngel each metadata change does that shit 16:54 est31 RealBadAngel, of course if you tell it to change the metadatas 16:54 est31 but thats not the abm's fault 16:54 RealBadAngel i havent said its abm 16:54 T4im est31: that one does 16:54 RealBadAngel RealBadAngel> imho main problem is not the abm itself 16:54 RealBadAngel the real problem is what that triggers 16:55 T4im that abm function does a lot of stuff to inactive furnaces 16:55 est31 RealBadAngel, sorry then misunderstood 16:56 RealBadAngel with the simple patch we have eliminated lag for complex mods 16:56 RealBadAngel im working now on sending queue for metas, so it should be even faster 16:57 RealBadAngel thats so basic error, that in practice it hits everything 16:58 asl97 heightmap is nil... 16:58 RealBadAngel wut? 16:59 est31 asl97, mapgen was unstable likely 16:59 est31 best ask in #minetest 16:59 asl97 it's about the example on the dev wiki 16:59 est31 RealBadAngel, the main problem is that it doesnt respect being close 17:00 est31 still not minetest engine development related 17:00 est31 ~topic 17:00 ShadowBot est31: Minetest core development and maintenance. Last release: 0.4.13, Aug 20 2015. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ 17:00 RealBadAngel remove the lags, then talk to me again ;) 17:00 RealBadAngel atm clients are just spammed with blocks 17:00 est31 RealBadAngel, please fix the bug, then I can continue evaluating your patch 17:01 RealBadAngel est31, i need to finish queues code 17:01 est31 I dont think we really do need queues 17:01 RealBadAngel its not about checking if meta is not null just 17:01 RealBadAngel we do 17:02 RealBadAngel like REALLY 17:02 est31 the queue might be the reason its so slow 17:02 est31 currently 17:02 est31 I havent investigated though 17:02 RealBadAngel its blocks queue, not the meta one 17:02 est31 its either because we send additional data, or the queue, or both 17:02 est31 can you make it in a way one can disable/enable it 17:02 est31 ? 17:03 RealBadAngel on the other hand, two lines in lua, changing two variables will cause two refreshes 17:03 RealBadAngel we dont want that 17:03 RealBadAngel if made on single step, meta shall be sent just once 17:03 est31 yes but you dont send it immediately 17:03 est31 but after a delay 17:04 est31 also, you spend time checking the whole queue 17:04 est31 this is O(n^3) 17:04 RealBadAngel ofc 17:04 est31 ermm O(n^2) 17:04 est31 sorry 17:04 RealBadAngel but when world is empty queue will be slower 17:04 RealBadAngel you will get gain on developed worlds 17:05 RealBadAngel and i mean technic here, and the like 17:06 est31 if you add 1000 things to the queue, you need roughly 500 000 checks 17:06 est31 if it isnt flushed before 17:06 RealBadAngel current behaviour - sending whole blocks - effectively rendered such mods unuseable 17:06 RealBadAngel and thus you cant see them on servers 17:07 RealBadAngel est31, i highly doubt if we could hit such high numbers in one step 17:07 RealBadAngel im rather thinkin of assembling a packet through queue 17:08 RealBadAngel if it hits a limit it will be sent 17:08 RealBadAngel like 16 at the time 17:09 RealBadAngel otherwise, if it wont trigger whole packet assembly, it should be send at step end 17:09 RealBadAngel tests have shown that even without queueing those packets and even with having them doubled 17:09 RealBadAngel it is way faster 17:11 RealBadAngel and also, this is one of the reasons to rethink backwards compability 17:11 RealBadAngel keeping old shit around for ages will raise such problems no matter what 17:13 est31 man dude 17:13 est31 backwards compat doesnt work that way 17:13 RealBadAngel read the code for those events.... 17:13 est31 old shit can be of course removed, if the users dont use it anymore 17:13 est31 and if the opposite is really too hard to maintain 17:13 RealBadAngel it cannot even work properly 17:14 RealBadAngel see the code for voxel areas 17:14 RealBadAngel that just cant work at all 17:14 RealBadAngel remember requesting me to document what p means? 17:15 RealBadAngel go for this event and voxel areas, you will laugh 17:15 est31 ? event? 17:15 RealBadAngel map edit event i mean 17:16 RealBadAngel you just cant get voxel area with metas 17:16 est31 RealBadAngel, what are you talking bout 17:17 RealBadAngel lemme link you the code 17:17 RealBadAngel hold on 17:19 RealBadAngel map.h 17:19 RealBadAngel case is MEET_OTHER 17:21 RealBadAngel and this is exactly what i mean where compability leads 17:22 RealBadAngel to a clusterfuck 17:22 RealBadAngel and i should really check who dared to comment that out in code as a "FIX" 17:27 est31 where is that comment 17:28 est31 I still cant see what you regard as such a big problem 17:29 RealBadAngel // Old clients always clear metadata; fix it 17:29 RealBadAngel // by sending the full block again. 17:29 RealBadAngel client->SetBlockNotSent(p); 17:30 RealBadAngel the behaviour is copied over 17:30 RealBadAngel typical compability clusterfuck 17:30 est31 why is that a clusterfuck 17:31 est31 you have 7 lines 17:31 RealBadAngel kahrl, good to see you: 17:31 RealBadAngel void content_nodemeta_serialize_legacy(std::ostream &os, NodeMetadataList *meta) 17:31 RealBadAngel { 17:31 RealBadAngel // Sorry, I was too lazy to implement this. --kahrl 17:31 RealBadAngel writeU16(os, 1); // version 17:31 RealBadAngel writeU16(os, 0); // count 17:31 RealBadAngel } 17:31 RealBadAngel / END 17:31 est31 7 lines to retain compatibility 17:31 RealBadAngel could you clean that mess> 17:31 RealBadAngel ? 17:31 est31 so whats a clusterfuck about it? 17:32 RealBadAngel est31, p means once node pos, once blockpos 17:32 RealBadAngel voxel areas are broken thx to it 17:32 est31 ahh 17:32 RealBadAngel and the main problem is sending whole blocks for sake of older clients 17:33 RealBadAngel which rendered effectively well developed worlds slideshows 17:33 est31 DAMN 17:34 est31 WHY DO YOU SAY THAT SENDING STUFF TO OTHER CLIENTS DESTROYS FPS FOR AN UPDATED CLIENT 17:34 est31 those two things have nothing in common 17:34 est31 NOTHING 17:34 est31 they might slow down server 17:35 RealBadAngel hold ur horses 17:35 RealBadAngel what does meta update do atm? 17:35 RealBadAngel it is causing mesh to be regenerated 17:36 RealBadAngel for center block an the edges 17:36 est31 I know that part of the story 17:36 RealBadAngel this is all connected 17:36 est31 no it isnt 17:36 est31 it has NOTHING to do with the server sending wrong blocks to older clients 17:36 est31 there is no problem with that 17:36 est31 it might make life a shit for old clients, yes 17:37 est31 but you dont care for old clients, so it shouldnt be a problem for you should it 17:37 T4im denial of service? even new clients will have to deal with the data, or not? 17:37 RealBadAngel oh cmon, just put some dstream in mesh update 17:38 RealBadAngel move something in the chest then 17:38 RealBadAngel and watch how many mapblock meshes were done :P 17:39 RealBadAngel now rethink what technic or mesecons are doing this way 17:40 RealBadAngel anyway, if i wasnt right, my approach couldnt make VE spawns to regain 60 fps at 240 range 17:41 RealBadAngel facts are very cruel :P 17:41 est31 RealBadAngel, this isnt confirmed by independent sources 17:42 est31 RealBadAngel, if you can let users test it before and after I believe you, but neither me nor vanessae has reported a high fps increase 17:42 RealBadAngel do you expect proofs for wheel to be really round? 17:42 RealBadAngel just put the timers and dstream infos into the code 17:43 est31 RealBadAngel, I agree that we might spare some needless mesh updates and utilize network bandwith 17:43 RealBadAngel you will see how often it was called before 17:43 est31 but your patch doesnt have the effect you describe 17:43 est31 that DOESNT mean I disagree with the idea of it 17:44 RealBadAngel ive tested it and it does 17:44 VanessaE what is it about est31's and my systems that just don't seem to benefit as well from your changes as yours does? 17:45 RealBadAngel VE you are affected with another issue and you know that 17:45 RealBadAngel i promise i will find out the reason for it 17:45 kahrl hi 17:45 kahrl what is the deal with content_nodemeta_serialize_legacy? 17:45 T4im is it possible that not everyone notices the increase because of different settings related to mesh-cache? or other settings 17:45 kahrl that function isn't even called by anything anymore 17:45 RealBadAngel trashcan 17:46 RealBadAngel please just clean the mess :) 17:47 * H-H-H sits back with his popcorn 17:47 kahrl who even looks in content_nodemeta.cpp 17:47 kahrl anyway I'm not even paid cleaning maid wages here, so I'm out 17:48 RealBadAngel lol 17:48 RealBadAngel best approach ever ;) 17:49 Megaf_ [17.09.15-:18:47:08] -*- H-H-H sits back with his popcorn 17:49 Megaf_ same here 17:49 Megaf_ Quite entertaining 17:49 RealBadAngel gimme some plz 17:49 * Megaf_ gives a bucket of popcorns to RealBadAngel 17:50 Megaf now, I don't like the way Mt sends these blocks either, but I can't see a better solution 17:50 Megaf Maybe nodes should be sent on demand, and air shouldn't need to be sent... 17:50 est31 meh 17:51 RealBadAngel single chest change is about 200-400 bytes, zipped 17:51 Megaf sometimes the client just have to sit and wait to receive lots of blocks of air 17:51 est31 72 chars per mapblock 17:51 RealBadAngel and thats whole packet 17:51 est31 if its filled with air 17:51 est31 more if it has content 17:51 RealBadAngel now get the block, 16x16x16 17:51 est31 so yeah perhaps we should shortcut air filled mapblocks 17:51 RealBadAngel PLUS all the metas 17:51 est31 but not worth it imo 17:51 RealBadAngel beat my approach please 17:52 RealBadAngel best with numbers :P 17:53 Megaf what if we changed the default block sizer to something liek 5x5x5? 17:53 RealBadAngel problem will remain 17:53 RealBadAngel that shit is here since always 17:53 Megaf What I see is, lots of stuff are refreshed with no need 17:53 RealBadAngel it was designed to work that way 17:54 RealBadAngel thats why fresh worlds are fast 17:54 est31 Megaf, thats the wrong direction 17:54 est31 better tune it up 17:54 RealBadAngel more u develop it, its getting slower 17:54 Megaf also, everythime we reconnect to a server everything has to be re downloaded, that makes things worse 17:54 est31 Megaf, the problem is that the world can change so much 17:54 RealBadAngel theres more funny thing also 17:55 est31 Megaf, perhaps we can implement something caching like 17:55 RealBadAngel if you have signs there 17:55 RealBadAngel each refresh is calling for new textures 17:55 est31 Megaf, the main problem though is that the cache sha ids will be longer than the actual content xD 17:55 RealBadAngel and those are never deleted 17:55 RealBadAngel only on client shutdown 17:56 Megaf so smaller blocks, with caching, will lead to less data being trasnfered, should a change in the world happen 17:56 RealBadAngel so moving shit in a chest == new texture for all the signs 17:56 Megaf signs should just be rewriten from scratch 17:56 est31 RealBadAngel, congrats, i leave now because of your trolling 17:56 VanessaE RealBadAngel: how does that change, if at all, where force-loaded blocks are involved? 17:56 est31 bye 17:56 Megaf lol 17:57 RealBadAngel out of popcorn or what? 17:58 Megaf sounds like it 17:58 VanessaE RealBadAngel: to be fair, you keep repeating the same thing over and over. 17:58 RealBadAngel and you do know why 17:59 VanessaE of course. 17:59 VanessaE but that doesn't solve the problem. 17:59 VanessaE at the risk of invoking hmmmm... more code, less talk. :) 17:59 RealBadAngel im trying to move all the asses around to actually solve real problems 18:01 RealBadAngel all i get is demand for benchmarks 18:01 VanessaE yes 18:01 RealBadAngel fuck, that wheel was not round at all, fuck the benchmarks 18:01 VanessaE and that's a reasonable demand. 18:01 RealBadAngel just fix it 18:01 VanessaE let's put it this way: a round wheel is great and all, but which surface does it roll faster over? sand or asphalt? 18:02 RealBadAngel it rolls better by its definition 18:02 VanessaE maybe, but if the surface you are rolling it over is hilly and bumpy, you won't see much improvement. 18:03 VanessaE in other words, you gotta prove that it's better in a range of situations. 18:03 RealBadAngel thats exactly opposite case 18:03 RealBadAngel more hills, it will perform better 18:03 VanessaE ok this analogy isn't working 18:03 VanessaE just...make some benchmarks 18:04 RealBadAngel we could solve it another way 18:04 VanessaE and find out why it doesn't improve much for est31 and I as compared to you. 18:04 RealBadAngel lets just set up a modified server for a week or so 18:04 RealBadAngel then we could compare traffic and the load 18:05 T4im both server and client need the patch? or just server? 18:05 RealBadAngel both 18:05 RealBadAngel older clients can still join, but wont benefit 18:06 T4im which sadly means that traffic correlates probably not with any benefit at all 18:06 T4im hm.. well is there still a server up? perhaps simply adding more samples (more people testing it) might help 18:06 VanessaE I'll patch VE-Survival if you want. 18:06 * T4im 'll patch it in here too 18:07 RealBadAngel ok 18:07 RealBadAngel i will prepare some quick fixes for already known problems just 18:07 VanessaE no. 18:07 VanessaE no "quick fixes". 18:07 VanessaE PROPER fixes. your "quick" fixes tend to... have glitches :) 18:08 RealBadAngel theres meta == null case not fixed in the PR 18:08 VanessaE oh yeah, had that happen at least once 18:08 RealBadAngel i havent pushed that because im still working on queues 18:09 RealBadAngel lemme just push that one 18:22 Niebieski !seen HybirdDog 18:22 ShadowBot Niebieski: I haven't seen HybirdDog in #minetest-dev. 18:26 H-H-H !seen HybridDog 18:26 ShadowBot H-H-H: I haven't seen HybridDog in #minetest-dev. 18:32 Megaf est31: I beliebe we should drop support for old clients, remove all legacy and caompatibility stuff and release the 0.5 18:34 asl97 the old remote media stuff too if you are going to remove legacy stuff, it can be abuse for dos 18:34 est31 asl97, what precisely? 18:34 Megaf and we should get rid of the bitmap fonts, for sizes sake! 18:35 asl97 i talked about a few days ago in #minetest 18:35 est31 asl97, can you repeat perhaps 18:35 T4im or at least send a link to the log x) 18:36 est31 Megaf, there is no point in removing legacy support if our users are on legacy devices 18:36 est31 also removing legacy support can just introduce bugs, not remove them 18:37 RealBadAngel est31, keeping legacy support is causing way more problems than that 18:38 RealBadAngel lookin at networking code, its just a mess 18:38 RealBadAngel we are shooting own foot with it 18:38 est31 of course, it has to be replaced 18:38 est31 but question is whether the protocol has to be replaced as well 18:39 RealBadAngel idk, it works 18:39 RealBadAngel maybe just clean it up? 18:40 est31 yeah, thats needed 18:40 est31 clean up and very thorough check of code 18:40 est31 for bad things that can possibly happen 18:40 RealBadAngel theyre already happening 18:41 RealBadAngel sorry, im not any good at networking, but what i saw there just scared me 18:41 est31 lol not just you 18:41 RealBadAngel thats why i was "trolling" so loud here 18:42 RealBadAngel i just wanted to make proper signs, and meet a huge blocker there 18:42 RealBadAngel ive spent 2 weeks or more to analyze whats wrong 18:42 RealBadAngel and i found out that very basics are broken 18:43 T4im watching wireshark, despite packeet dissector go at it in VanessaEs spawn is scary :o 18:43 T4im packet* 18:43 RealBadAngel im aware of it 18:43 RealBadAngel but some data have to be sent no matter what 18:44 est31 thats ok 18:44 RealBadAngel problem was we were sending too much 18:44 RealBadAngel so the clients got spammed 18:45 est31 T4im, note that if VanessaE has the patch installed, you might experience the bug of RBA's pr that the server sends all changes on the server to the client not just the ones to blocks you are close to 18:45 asl97 http://irc.minetest.ru/minetest/2015-09-14#i_4394388 18:45 asl97 finally found it ^ 18:45 VanessaE I do not have the patch. 18:45 RealBadAngel im working on it atm 18:45 VanessaE still waiting for RealBadAngel to stop hemming-and-hawing over it. 18:45 VanessaE :P 18:46 T4im no, this is just a lot of entities being moved/replaced and even more node swapping.. im not even sure I'll see a difference with the patch with this :o 18:46 RealBadAngel est31, whats the case?? 18:46 RealBadAngel i think that if youre not near, you will be placed in far players list 18:46 VanessaE RealBadAngel, est31: what about force-loaded blocks that are off in the boonies (relative to the user)? are they being sent to the client? 18:47 asl97 est31: forgot to ping, there is the log about the abuse for ddos> http://irc.minetest.ru/minetest/2015-09-14#i_4394388 18:47 est31 VanessaE, precisely that is the bug 18:47 VanessaE est31: as I thought. 18:47 VanessaE RealBadAngel: ^^^^ fix it. then we can talk :) 18:47 est31 http://irc.minetest.ru/minetest-dev/2015-09-10#i_4390788 18:48 est31 http://irc.minetest.ru/minetest-dev/2015-09-10#i_4390811 <----- RealBadAngel look here 18:48 RealBadAngel kahrl_ this doesn't pass a far_players list 18:48 VanessaE ok that's what I thought; I do remember discussing it but I wasn't sure of the disposition. 18:48 RealBadAngel it does? 18:49 VanessaE kahrl isn't in here. 18:49 est31 RealBadAngel, it doesnt pass the list 18:49 RealBadAngel fuck me walking, the list is there, its worked on, and being processed later on 18:49 est31 https://github.com/minetest/minetest/pull/3166/files#diff-ad60d65b34e16a3319296bb5d683acd6R929 18:50 est31 here it is passed 18:50 est31 but it has to be passed every time 18:51 RealBadAngel ouch, i see 18:51 VanessaE RealBadAngel: told you. 18:52 RealBadAngel sorry 18:52 est31 in fact kahrl is wrong as it seems 18:52 est31 the far_players list is only for writing back 18:52 est31 as a result so to say 18:53 est31 ermm correct that 18:53 est31 karhl is not wrong 18:53 est31 but it still stands far_players is only for writing 18:54 est31 so yes, the bug would be fixed if far_players would be set, but that would be bad design 18:54 est31 at least from what it seems 18:55 RealBadAngel im not even sure its needed at all 18:55 RealBadAngel if block is modified we do already call raise modified 18:55 RealBadAngel so it shall mean its not sent yet 18:56 RealBadAngel whenever SAO gets in range it will request the block anyway 18:56 est31 RealBadAngel, imagine the following 18:56 RealBadAngel go on 18:56 est31 1. player A visits a farm. player A gets the blocks 18:56 est31 of the farm 18:56 est31 2. player A goes home again 18:57 est31 3. player B logs in, visits the farm as well and modifies blocks there 18:57 est31 now currently the server sets the blocks as not sent for A 18:57 est31 4. if now player A goes to the farm to meet B, he will be inside the range of the blocks again 18:58 est31 now its needed that the blocks are set as not sent 18:58 est31 because if they still set as sent, player A won't see B's modifications 18:58 RealBadAngel every modification to the blocks marks them as modified 18:58 est31 because the server thinks "hey cool, A was here before, I can chill a bit and not send a those blocks" 18:59 RealBadAngel thats why we call raise modified 18:59 RealBadAngel that is effectively forcing the block to be resent 18:59 RealBadAngel no matter what 18:59 est31 but its only sent to the players close 19:00 est31 i mean in 3. when player B did the modifications, we shouldnt send the updates to A in real time only because they were there 19:00 RealBadAngel if B player will go in range it will request for it 19:00 est31 there is no such request 19:01 RealBadAngel are you sure? 19:01 est31 the client doesnt request blocks, the erver sends them based on where the client is 19:01 est31 yes 19:01 RealBadAngel i think that youre wrong 19:01 est31 there was such a request mechanism in the past though 19:01 RealBadAngel turn on minimap and look around 19:01 VanessaE RealBadAngel: there's an old patch floating around that makes the client request blocks explicitly. 19:02 VanessaE it was never merged, to my knowledge 19:02 RealBadAngel client is effectively demanding certain blocks to be loaded 19:02 T4im those in viewing direction.. but doesn't the server know about that one too? 19:02 est31 yea 19:02 VanessaE the server decides what to send, 19:02 est31 yup 19:03 RealBadAngel no matter the reason but mechanism is here 19:03 est31 and this is good 19:03 VanessaE and yeah, taking view angle into account 19:03 est31 there is TOSERVER_GETBLOCK 19:03 est31 but TOSERVER_GETBLOCK is deprecated 19:03 T4im what I see in wireshark is, that client ACK's reception to the client, without a request up front 19:04 RealBadAngel we can just test that situation 19:04 T4im it just gets the blocks send 19:04 RealBadAngel imho it shall just work 19:05 T4im TOSERVER_GOTBLOCKS? 19:05 T4im what is that doing O_o 19:05 RealBadAngel if any out of sync will happen it will mean i was wrong 19:06 RealBadAngel and then you can just shoot me ;) 19:06 est31 T4im, the server always knows which blocks the client currently has loaded 19:06 * VanessaE shoots RealBadAngel a dirty look 19:06 VanessaE good enough? ;) 19:06 RealBadAngel wow 19:06 est31 T4im, so that the server knows which blocks to not send when the client gets back to an old pos 19:06 est31 T4im, provided those blocks didnt change ofc 19:06 RealBadAngel that was really dirty harry's style ;) 19:06 T4im oh, ok 19:06 est31 which gets us back to topic :) 19:07 RealBadAngel est31, ive put there cases to check if meta is not null, both sides 19:07 T4im so its more like the client inhibits blockloading than actually requesting it.. 19:08 est31 yea 19:08 T4im interesting turned around logic :D 19:08 RealBadAngel also updated calls, to carry the far players list 19:08 RealBadAngel anything more? 19:08 est31 T4im, no checks needed whether the client loads areas they should not get 19:09 est31 RealBadAngel, dont think so 19:09 RealBadAngel theres one piece im still thinkig of 19:09 RealBadAngel MapBlock *block = m_env->getMap().getBlockNoCreateNoEx(blockpos); 19:09 RealBadAngel if (block) 19:09 RealBadAngel block->raiseModified(MOD_STATE_WRITE_NEEDED, 19:09 RealBadAngel MOD_REASON_REPORT_META_CHANGE); 19:10 RealBadAngel that code is copied over from add and remove node 19:10 RealBadAngel what if we cant have the block? 19:10 est31 thats important so that the mapblock gets saved to the map db 19:11 RealBadAngel idk, io error or something 19:11 est31 then block == null 19:11 RealBadAngel atm all events are assuming block is here 19:12 RealBadAngel that check is only to mark it modified 19:12 RealBadAngel but what if it doesnt exist at all? 19:13 est31 hrmm good question 19:13 est31 I dont really know how getBlockNoCreateNoEx works 19:14 est31 e.g. whether it does a serious attempt at e.g. loading the block from map 19:14 est31 AFAIK that method only works if a block is loaded 19:14 est31 which means players can only modify loaded blocks 19:15 est31 dunno if that's bad or not 19:15 est31 its a great DOS protection 19:15 est31 and hacked client protection as well 19:16 est31 so raiseModified has to be called 19:18 RealBadAngel i do call it no matter what 19:19 RealBadAngel and centralized usage of it 19:19 est31 if you do a "if (block)" its fine 19:19 est31 if you don't there is a possible nul dereference 19:19 est31 which is a bug :) 19:19 RealBadAngel but then we proceed with modifications 19:20 RealBadAngel imho we shall quit if theres no block 19:20 est31 we dont need the block 19:20 est31 we only need the meta 19:21 RealBadAngel how the meta could be there if theres no block in the first place? 19:21 est31 ofc we should quit if there is no meta 19:21 est31 well, currently they are tied together, but in the future they might not be 19:21 RealBadAngel thats what im rising 19:22 RealBadAngel i need meta to be client side able to hold things 19:22 RealBadAngel this is where all the story begun 19:22 est31 of course, on the client we have to check as well 19:23 RealBadAngel get meta, set meta ofc 19:23 RealBadAngel still, wheres the block? 19:23 est31 on the client thats not important 19:24 est31 oh no it is important there as well 19:24 est31 for local map saving 19:24 RealBadAngel what is the possible reason for this check to fail 19:24 RealBadAngel i think it may be important 19:24 est31 that it isnt loaded 19:24 est31 something like that 19:24 est31 ask hmmmm for the details 19:25 RealBadAngel if its not loaded, client should not get any meta 19:25 RealBadAngel it cant bind the meta with node anyways 19:25 est31 well, I guess there is no problem in not using m_env->getMap().getNodeMetadata(p); 19:25 est31 but instead using the metadata from the block directly 19:26 est31 I mean what does getNodeMetadata() do 19:26 est31 it just does MapBlock *block = getBlockNoCreateNoEx(blockpos); 19:26 est31 v3s16 p_rel = p - blockpos*MAP_BLOCKSIZE; 19:26 est31 NodeMetadata *meta = block->m_node_metadata.get(p_rel); 19:26 est31 thats it 19:26 est31 and v3s16 blockpos = getNodeBlockPos(p); 19:26 est31 but should be ovious 19:27 RealBadAngel thats just assuming other code should care about cases 19:27 est31 ? 19:27 RealBadAngel i think i should just quit if theres no block 19:27 est31 ah 19:28 est31 the situation in getNodeMetadata is different 19:28 est31 here we call emergeBlock first 19:28 VanessaE s/quit/early exit/ :P 19:28 est31 when we detect that the block is NULL 19:28 est31 so best is you do something like getNodeMetadata does 19:29 RealBadAngel see client side now 19:29 RealBadAngel http://pastie.org/10426524 19:29 RealBadAngel we have new meta incoming 19:29 RealBadAngel if theres old one, we have to delete it first 19:30 RealBadAngel and then replace with new pointer and content 19:31 RealBadAngel but still, we are not sure if block, pos is valid 19:32 RealBadAngel sorry, we do catch invalid pos 19:33 RealBadAngel nvm then 19:33 est31 perhaps move removeNodeMetadata down into the try part? 19:33 RealBadAngel remove shall work the same way as delete 19:33 RealBadAngel isnt it? 19:34 RealBadAngel i just assumed that here 19:34 est31 yea thats even the better way than doing getNodeMetadata; delete 19:34 est31 just move removeNodeMetadata(p) down into the try 19:35 est31 otherwise you dont check there for the p 19:36 RealBadAngel i think that reading p shall be made with some sanity function anyway 19:36 est31 asl97, to give you a reply on that issue, I dont think it can be abused for ddos 19:36 est31 can it? 19:36 asl97 why not? 19:36 RealBadAngel thats open door for abuses 19:37 est31 I dont really know what happens if p is invalid 19:37 asl97 it wouldn't be a big flood of request but can still be annoying for the target 19:37 RealBadAngel just some ABS with settings 19:37 est31 I think RealBadAngel it throws an serialisationerror or so 19:37 est31 which is catched somewhere 19:37 asl97 countless 404 from random part of the worlds 19:38 RealBadAngel i mean incorrect or unwanted positions here 19:38 RealBadAngel hacked clients 19:38 est31 RealBadAngel, hacked clients?? 19:38 est31 RealBadAngel, this is sending from server to client not other way round 19:39 est31 asl97, you mean an evil person sets up the server and tells that target is the media server? 19:39 RealBadAngel some morons love to modify clients to get advantages 19:39 asl97 est31: more or less 19:39 RealBadAngel we are not the first ones to face it 19:39 est31 asl97, thats indeed a problem 19:39 asl97 the old way just send request for each and every single file 19:39 est31 asl97, can you make a github report about it? 19:40 RealBadAngel but such tiny assumptions can save us such problems in the future 19:40 RealBadAngel dont make something thats undoable 19:41 RealBadAngel otherwise you will be called in some newspaper for next security hole found ;) 19:42 est31 RealBadAngel, whats precisely the problem 19:44 est31 well, I gotta go 19:44 est31 bye! 19:44 RealBadAngel est31, not a real problem, just "if"