Minetest logo

IRC log for #minetest-dev, 2015-09-17

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

All times shown according to UTC.

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...)
00:51 zat joined #minetest-dev
01:41 AnotherBrick joined #minetest-dev
03:50 sloantothebone joined #minetest-dev
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.
05:41 Hunterz joined #minetest-dev
06:08 paramat joined #minetest-dev
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:31 nanepiwo joined #minetest-dev
07:44 julienrat joined #minetest-dev
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:49 RealBadAngel joined #minetest-dev
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:06 julienrat joined #minetest-dev
08:06 julienrat left #minetest-dev
08:07 Sketch2 joined #minetest-dev
08:09 paramat both were present at the start of lua_api history so i couldn't find out
08:13 kilbith joined #minetest-dev
08:13 kilbith https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1934
08:21 kilbith left #minetest-dev
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
08:59 deltib joined #minetest-dev
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:02 nanepiwo joined #minetest-dev
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:09 julienrat joined #minetest-dev
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 FR^2 joined #minetest-dev
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 julienrat left #minetest-dev
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 paramat left #minetest-dev
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
09:29 cvtsx joined #minetest-dev
09:45 Lunatrius joined #minetest-dev
10:19 H-H-H joined #minetest-dev
10:32 OldCoder joined #minetest-dev
10:36 Kray joined #minetest-dev
10:51 kilbith joined #minetest-dev
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 lisacvuk joined #minetest-dev
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 Calinou joined #minetest-dev
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 julienrat joined #minetest-dev
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:23 julienrat left #minetest-dev
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:24 sloantothebone joined #minetest-dev
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 paramat joined #minetest-dev
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 julienrat joined #minetest-dev
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:38 Darcidride joined #minetest-dev
11:45 paramat left #minetest-dev
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:13 est31 joined #minetest-dev
12:18 nrzkt joined #minetest-dev
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:09 Megaf_ joined #minetest-dev
13:11 julienrat joined #minetest-dev
13:14 est31 https://www.youtube.com/watch?v=S9pc8li4fuQ
13:29 julienrat left #minetest-dev
14:02 Elinvention joined #minetest-dev
14:19 domtron joined #minetest-dev
14:24 domtron joined #minetest-dev
14:33 Megaf_ Minetest timeout is too short now
14:33 Calinou timeout to connect to a server?
14:34 Lunatrius joined #minetest-dev
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:47 Zeitgeist_ joined #minetest-dev
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:12 T4im joined #minetest-dev
15:13 T4im git will allow you to use as few as are still unique
15:16 zat joined #minetest-dev
15:18 CraigyDavi joined #minetest-dev
15:22 H-H-H ty
15:26 hmmmm joined #minetest-dev
15:32 younishd joined #minetest-dev
15:32 paramat joined #minetest-dev
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:52 Hunterz joined #minetest-dev
15:53 paramat complete
16:08 Soni joined #minetest-dev
16:11 Soni joined #minetest-dev
16:12 paramat left #minetest-dev
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 Krock joined #minetest-dev
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:38 julienrat joined #minetest-dev
16:40 julienrat left #minetest-dev
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:44 domtron joined #minetest-dev
16:46 kilbith you should rewrite the default furnance then ;)
16:50 asl97 joined #minetest-dev
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 <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:20 64MADVFF5 joined #minetest-dev
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 kahrl joined #minetest-dev
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:33 kilbith joined #minetest-dev
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 kahrl left #minetest-dev
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 DFeniks joined #minetest-dev
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 DFeniks joined #minetest-dev
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 MinetestForFun joined #minetest-dev
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:18 CraigyDavi joined #minetest-dev
18:22 Niebieski joined #minetest-dev
18:22 Niebieski !seen HybirdDog
18:22 ShadowBot Niebieski: I haven't seen HybirdDog in #minetest-dev.
18:25 est31 joined #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 Amaz joined #minetest-dev
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 Robert_Zenz joined #minetest-dev
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 werwerwer joined #minetest-dev
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:26 AnotherBrick joined #minetest-dev
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 AnotherBrick joined #minetest-dev
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:41 kilbith joined #minetest-dev
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"
20:15 VargaD_ joined #minetest-dev
20:31 Elinvention joined #minetest-dev
20:33 leat joined #minetest-dev
20:34 Guest17504 joined #minetest-dev
20:38 Niebieski left #minetest-dev
20:42 domtron joined #minetest-dev
20:46 domtron joined #minetest-dev
20:46 H-H-H joined #minetest-dev
20:50 est31 joined #minetest-dev
20:55 Siva joined #minetest-dev
21:01 domtron joined #minetest-dev
21:03 Player_2 joined #minetest-dev
22:05 Darcidride joined #minetest-dev
22:47 Kray joined #minetest-dev
23:02 asl97 joined #minetest-dev
23:03 Siva joined #minetest-dev
23:04 VanessaE joined #minetest-dev

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