Minetest logo

IRC log for #minetest-dev, 2012-12-19

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

All times shown according to UTC.

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 OldCoder joined #minetest-dev
00:18 OldCoder joined #minetest-dev
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
04:09 cy1 left #minetest-dev
06:33 jin_xi joined #minetest-dev
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:05 WeAreAnonymous joined #minetest-dev
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
10:02 Calinou joined #minetest-dev
10:02 kotolegokot joined #minetest-dev
10:26 rsiska joined #minetest-dev
13:43 doserj joined #minetest-dev
13:48 Polaque joined #minetest-dev
13:49 Polaque left #minetest-dev
15:29 celeron55 joined #minetest-dev
15:32 rsiska joined #minetest-dev
16:07 SpeedProg joined #minetest-dev
16:27 thexyz celeron55: just built minetest with your patch, and http://i.imgur.com/GfRSd.png
16:30 hmmmm joined #minetest-dev
16:30 celeron55 so that is a patched server?
16:32 thexyz yes
16:32 celeron55 no luck then
16:38 rubenwardy joined #minetest-dev
16:54 PilzAdam joined #minetest-dev
17:22 rubenwardy1 joined #minetest-dev
17:24 rubenwardy joined #minetest-dev
17:29 rubenwardy1 joined #minetest-dev
17:29 rsiska joined #minetest-dev
17:31 rubenwardy joined #minetest-dev
17:38 Calinou joined #minetest-dev
17:40 rubenwardy1 joined #minetest-dev
17:43 rubenwardy joined #minetest-dev
17:55 rubenwardy joined #minetest-dev
18:28 rubenwardy joined #minetest-dev
18:31 doserj left #minetest-dev
18:40 nyuszika7h joined #minetest-dev
19:01 rubenwardy1 joined #minetest-dev
19:02 jin_xi joined #minetest-dev
19:13 rubenwardy joined #minetest-dev
19:37 rubenwardy1 joined #minetest-dev
19:44 nyuszika7h joined #minetest-dev
19:54 rubenwardy joined #minetest-dev
19:56 rubenwardy1 joined #minetest-dev
20:00 rubenwardy joined #minetest-dev
20:03 rubenwardy1 joined #minetest-dev
20:10 rubenwardy left #minetest-dev
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:27 rsiska joined #minetest-dev
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
22:04 doserj joined #minetest-dev
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

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