Time Nick Message 00:05 VanessaE ok, part of the problem I'm having with server lockups: 00:09 VanessaE packets are still being received to my client (per the second F5 display) at about a rate of 1 per second instead of 10, mapgen is totally hung up, but the server is writing to its log file periodically. RTT on the client reads 0.000. Occasionally it'll just inexplicably unlock and drop back to <20% CPU. Every time I move around enough to normally cause more of the map to load or if someone else is on and they do so, the 00:09 VanessaE server hangs again 00:10 VanessaE the only way out has been to restart the server. 00:12 VanessaE if I sign my client out, wait some time (several minutes?) and then sign back in, the server will usually complete the sign-in process but it will take a few minutes just waiting to get past the receipt of nodes and item defs 00:13 VanessaE right now it's been hung up off and on for about an hour now, without a restart. 00:14 VanessaE (I'm hoping to collect some stats via thexyz's profiler, just in case it's a mod causing it) 00:15 VanessaE when the server drops back to <100%, I start seeing normal events around the world such as particles spawning on torches, and the packet stream returns to the usual ~10 packets/second 00:15 VanessaE hence the server just unlocked. I grabbed my mouse and simply panned to the right. the server is now hung at 100% again 00:16 VanessaE and the packet stream has dropped to about 3/second 00:17 VanessaE at the time that the server un-hung, I saw a huge dump (several hundred lines) of stuff like this: 19:14:33: INFO[ServerThread]: Server::ProcessData(): Cancelling: peer 5 not found 00:18 VanessaE interspersed with things like: 00:18 VanessaE 19:14:33: VERBOSE[ServerThread]: Server::peerAdded(): peer->id=6 00:18 VanessaE 19:14:33: VERBOSE[ServerThread]: Server: Handling peer change: id=6, timeout=0 00:20 VanessaE all the while that the server is hung up, the log entries show ABM activity (usually a total usage of just over 200 mS) 00:53 VanessaE and then for an equally-non-apparent reason, it just stops locking up at all and people can sign in and play normally as if nothing happened. 01:52 BackupCoder ve makes similar to ores right? 01:56 VanessaE BackupCoder: eh? 01:56 VanessaE you mean the mese thing? sorta similar. 02:05 BackupCoder :-) 02:52 OldCoder Hi 08:17 hmmmm hrm 08:18 hmmmm I sort of gave up so i started digging around in minecraft's mapgen 08:18 hmmmm it's funny, their implementation is _almost_ the same as mine 08:19 hmmmm except they don't have the concept of biome groups 08:19 hmmmm so I'm not sure how they ensure that an ocean is next to a beach and a desert is next to a mountain range etc. 08:22 hmmmm what's clever is that they made a 64x64 table that maps a combination of humidity/temperature to a specific biome so you can avoid having to iterate through each like i do 08:23 hmmmm the obvious disadvantage to this is that their temperature and humidity have only 64 different ranges; but that's rather acceptable 08:24 hmmmm i can't do this since i have the third parameter to choose a biome, that is, the biome group 08:33 hmmmm hah 08:34 hmmmm also their variation of MapNode is 8 bytes 09:01 hmmmm I think what i'm going to do is make water occur simply at any point below water_level that isn't air like in the previous mapgen, but keep trying to work with the height interpolation between biomes 09:01 hmmmm that might help matters a bit 09:02 celeron56 sounds like a good plan 09:04 celeron56 oh by the way, if they choose the biome based on a 2d table, don't they implicitly get the transitions from it? 09:06 OldCoder WeAreAnonymous, hello 09:08 hmmmm no 09:10 hmmmm how the biome terrain height selection works is still unclear; this is what you'd need to look at to figure it out though: http://pastebin.com/k2CReQuu 09:11 hmmmm (by the way, i didn't annotate it, but byte0 there is WATER_LEVEL) 09:12 hmmmm 'night 16:27 thexyz celeron55: just built minetest with your patch, and http://i.imgur.com/GfRSd.png 16:30 celeron55 so that is a patched server? 16:32 thexyz yes 16:32 celeron55 no luck then 20:22 hmmmm welp 20:22 hmmmm that height interpolation between biomes didn't exactly work out 20:22 hmmmm it looks like crap 20:23 hmmmm back to the drawing board 20:50 hmmmm i keep looking at real life landscapes like this http://images.4chan.org/adv/src/1355945509014.jpg and i keep wondering how on earth can you possibly replicate that with perlin noise 20:51 hmmmm like i guess you can create the rough outline with noise from 3-4 octaves, and then fill in any completely interior points that are missing from the blob 20:52 hmmmm and then the roughness of the coastline 20:53 hmmmm see, i have no idea how to do that.... my first reaction would be to have a 1d perlin noise to shape how much a piece of land sticks "in" or "out" 20:53 hmmmm following the entire coastline 20:53 hmmmm but in order to translate that into "is there a block at point x,z" would require a lot of math and is inherently incompatible with the way the coastline is generated 20:54 jin_xi is that the tip of a volcano? 20:54 hmmmm i don't know what it is, but it looks neat 20:54 VanessaE looks more like a meteorite impact to me 20:54 jin_xi anyway, my point is it looks more "procedural" than noisy... + erosion 20:55 hmmmm the core problem with perlin noise is that that's all it is - noise - it's way better at generating things like clouds 20:55 hmmmm and i mean sure it's okay for just plain old terrain, but this... 20:55 celeron55 that photo looks like the tip of a huge volcano 20:55 hmmmm when you want a certain feature to be present in "the big picture" 20:55 hmmmm it's nearly impossible 20:55 celeron55 which quite simply makes that shape in a very nonlinear way when looked from that point 20:55 jin_xi i think stuff like caves worm hole caves and volcanoes would be more readily special cased 20:57 hmmmm i might have some idea on how to vary height without making those huge "cliffs" in between biomes 20:57 celeron55 hmmmm: to get natural looking huge features that fit the big picture and still are interesting in a very close level, you need dwarf fortress like generation 20:57 celeron55 that is, take minutes to generate all of the huge world at once 20:57 celeron55 8) 20:57 hmmmm the surface height will be max{base_terrain, high_terrain} 20:57 celeron55 using erosion and all that 20:57 hmmmm which i think you did in fact 20:58 hmmmm well 20:58 hmmmm it would be acceptable i think 20:58 hmmmm i'm gonna be honest here - minecraft too - blows 20:58 celeron55 well, it needs a limited scale, and would make the game quite different to play 20:58 celeron55 but it's doable if one decides to do it so 20:59 celeron55 you could generate one huge area initially, and do some extensions to it more half-assedly when the player moves closer to some limit of it 20:59 celeron55 ...or something 20:59 celeron55 dunno 21:00 hmmmm i'd have to say that's fundamentally incompatible with the way the mapgen works 21:00 celeron55 there are huge amounts of unthinked design territory in that 21:00 celeron55 nobody is going to whip it up in one go like a minecraft-like generator 21:00 hmmmm you're right 21:00 celeron55 it's probably some minetest 0.huge number thing once again 21:01 hmmmm this is a limitation with perlin noise perhaps 21:01 hmmmm no amount of cleverness can fix this 21:01 hmmmm regardless i'll try my best to approximate something that looks OK 21:01 celeron55 games are about cheating in every aspect to make something simple seem clever and interesting 21:01 celeron55 practically always 21:01 hmmmm that's true 21:01 celeron55 nothing in games is what it looks 8) 21:02 * VanessaE looks down at the mossy cobble below her...so this is actually sand or something? :D 21:02 hmmmm huh 21:03 celeron55 it's two triangles, that are quite unrelated to the collision detector that keeps you on top of them 21:03 celeron55 8) 21:03 VanessaE heh 21:04 celeron55 actually 21:04 celeron55 they're probably not even two triangles per block 21:04 celeron55 :D 21:04 celeron55 the mesh optimizer has probably kicked in and they are some stretched rectangles 21:05 hmmmm alright so i think i'm going to stop working on the new mapgen and modularize the old ones like i was talking about yesterday around the same time 21:05 celeron55 i mean, triangles 21:05 hmmmm the sooner my changes can get in, the better, because then i won't be working with such an outdated version 21:05 hmmmm i feel like my changes are already going to be difficult to merge 21:06 celeron55 it's probably a good idea to rebase the current generator on top of the fast noises and the relevant parts of the frameworkish stuff 21:06 VanessaE I don't mean to change the subject, but did either of you see my "report" earlier? (around 21 hours ago) 21:06 hmmmm i am going to read up more on prodecural generation 21:06 hmmmm celeron, yes, that's the plan.. 21:07 hmmmm you know it's funny, every day is like a cycle.. i wake up, browse some websites, think "i'm going to try something different in the mapgen, maybe i can come up with a breakthrough", then roughly around 4-5PM i give up and say "i'm going to put that aside and work on something i can be productive with" 21:08 celeron55 VanessaE: yes; it doesn't bring anything useful to mind 21:08 VanessaE ok 21:08 celeron55 if you count the breakthroughs per year in the world, and then count the people in the world, you get sad numbers 21:08 celeron55 8) 21:09 VanessaE output from thexyz's profiler basically says that my mods are a little CPU-heavy, but not nearly enough to cause the issue. 21:09 hmmmm hrmm, vanessa, you mean the freezing issue? 21:09 VanessaE so I was speculating earlier whether some recent change to the engine may be the cause 21:09 VanessaE hmmmm: yeah 21:09 hmmmm I witnessed that twice 21:09 hmmmm but this was a while back 21:09 hmmmm no idea on where to even begin to look 21:09 VanessaE first thing I thought of, and this is probably wrong, is that change that is supposed to suppress network activity when none should be needed 21:10 VanessaE but I'm sure I'm wrong about that 21:11 VanessaE hmmmm: well at least it isn't just me then 21:12 VanessaE players havefly and noclip by default - could their flying around be trigging some obscure race condition in the map generator? 21:13 VanessaE s/generator/generator or loader/ 21:14 VanessaE anyway, end of unintentional topic digression 21:33 hmmmm hmm, nope 21:33 hmmmm well 21:33 hmmmm flying around means that way more blocks get added to the emerge queue 21:34 hmmmm it getting filled faster is what causes the race condition (it might be a race condition or might not), not the flying 23:42 VanessaE hmmmm: short of noclip or just disabling flying altogether, is there anything I can do on my end? 23:42 VanessaE some setting I've overlooked, etc 23:56 hmmmm well wait is it consistently happening? 23:58 VanessaE it's intermittent, random - but it is more prevalent when there are at least a few players online - and when I see it unlock itself? if I move or turn to get the mapgen/loader to supply more blocks, it deadlocks again for a while 23:58 VanessaE (usually anywhere from about 7 minutes to half an hour at a time from my testing) 23:59 hmmmm hmmm 23:59 VanessaE which is why I've been sorta fixated on the map loader - this happens even in areas of the map that are guaranteed to be fully generated e.g. the spawn