Minetest logo

IRC log for #minetest-dev, 2013-01-28

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

All times shown according to UTC.

Time Nick Message
00:00 dsimon it's a little like http last-modified headers
00:00 dsimon well, or maybe exactly like those :-)
00:00 hmmmm did you ever consider a timestamp?
00:00 dsimon i thought about it, but was worried about two changes occuring during the same ms
00:01 dsimon such a change would be invisible to a client which was unlucky enough to get only the first of those two changes
00:01 hmmmm ah true
00:01 dsimon i suppose i could use a finer-definition timer, but aiui that becomes kind of a portability problem
00:01 hmmmm yes
00:01 dsimon and anyways it wouldn't solve the issue, just make it less probable
00:02 hmmmm so the version number should be okay then
00:02 dsimon yah
00:02 dsimon i don't serialize that number
00:02 dsimon so the on-disk format stays the same
00:02 dsimon i considered that serializing it might actually be handy
00:02 dsimon so that clients can keep disk caches of data like web browsers do
00:02 dsimon and those caches would stay valid through server restarts
00:03 dsimon but i had some trouble figuring out the serialization code so i skipped it for now
00:03 VanessaE +1 for caching the map
00:03 hmmmm yeah, that's what some people wanted
00:03 hmmmm client-side map caching is sort of big though
00:03 dsimon as in disk space?
00:03 hmmmm big as in disk space and a big change in how things work
00:04 dsimon hm
00:04 dsimon i think mapblocks should compress pretty well
00:04 hmmmm another big change we've (well at least i) have been thinking of is only storing the differences of the blocks
00:04 dsimon most natural blocks have only a few block types
00:04 dsimon ah, that could be very cool
00:04 dsimon because you could also use the same mechanism to only _transmit_ the differences to the client
00:04 hmmmm it's completely viable now that map generation is near instantaneous
00:04 hmmmm but again, this would be huge
00:05 dsimon wow, it is?
00:05 dsimon that's awesome
00:05 VanessaE hmmmm: which, after realizing 80% of my map file was the rollback log, isn't quite as necessary. but then again redcrab would disagree
00:05 dsimon i remember mapgen being the biggest problem before
00:05 VanessaE (his map is almost 6GB and is running into mapgen corruption)
00:05 dsimon hm, also
00:05 dsimon hmm
00:05 hmmmm yes
00:05 hmmmm mapgen is being improved a bunch
00:05 hmmmm also the EmergeManager is next
00:05 dsimon ideally, we could transmit deltas between one state of a block and the next
00:06 dsimon so i.e. if i add a brick to my castle, it only transmits that one change
00:06 hmmmm well it does that already
00:06 dsimon ah, yeah
00:06 hmmmm with the add_node packet
00:06 dsimon as a specific optimization
00:06 dsimon oh, that reminds me
00:06 dsimon that's the biggest thing i need to fix with my branch
00:06 dsimon i need to add that stuff into my versioning system
00:06 hmmmm there's a real lot that's been changed
00:06 dsimon so that when client gets add_node, it's like "with the addition of this node, the block version is now X"
00:07 hmmmm i'd personally suggest getting a new version and placing your changes in there by hand
00:07 dsimon furthermore that also needs to include the _previous_ version so that the client doesn't fall out of sync
00:07 hmmmm yeah
00:07 dsimon ah, you mean remerging from master?
00:07 dsimon yeah, that'll definitely be necessary
00:32 Exio <dsimon> the main point of it is like the name says: the client requests what blocks it wants, instead of the server providing the blocks that it predicts the client needs
00:32 Exio is that real?
00:32 dsimon yes
00:32 dsimon as it is in master, there's a big chunk of code dedicated to seeing where the client is looking and figuring out which blocks are visible
00:33 dsimon but the client is already doing a similar calculation with its occlusion culling code, and more accurately too since the client knows things like its own fov (which the server must guess)
00:34 dsimon in my branch the client notes which blocks it wants to draw (whether or not it actually has them) and uses that to figure out what blocks to request from the server
00:34 Exio only the blocks? not the "mapblocks"?
00:34 dsimon i mean mapblocks
00:34 Exio oh
00:35 dsimon the terminology is confusing, eh? :-)
00:35 dsimon as minecraft is to minetest, so block is to node, and so chunk is to mapblock
04:02 hmmmm K
04:02 hmmmm http://dev.minetest.net/Development_troubleshooting
04:03 hmmmm I just finished writing that page, if anybody would like to contribute, please do.  There's obviously a lot more
05:08 dsimon okay, night y'all
06:01 Deiz joined #minetest-dev
08:16 BackupCoder joined #minetest-dev
09:08 BackupCoder joined #minetest-dev
10:16 Progers joined #minetest-dev
10:34 rsiska joined #minetest-dev
10:36 Progers joined #minetest-dev
10:41 PilzAdam joined #minetest-dev
11:21 darkrose joined #minetest-dev
11:21 darkrose joined #minetest-dev
12:19 Taoki PilzAdam: Regarding this change https://github.com/celeron55/minetest_game/pull/100 Don't rush to merge that yet. x is better than b3d in some ways, and best of all it's supported natively by Blender (whereas for b3d I still couldn't find a good exporter). x has issues that will be fixed in Irrlicht 1.9 I believe.
12:20 Taoki But switching to b3d is more of an experiment if anything, and IMO it shouldn't be considered now. Especially until we have a stable, easy and known way to export models to b3d from Blender, so this doesn't risk making it hard to maintain meshes
12:21 Taoki x is also a text format, which is usually better than binary ones. So I tend to prefer it for that reason too. At the same time it's a bit larger, so that's the downside. That doesn't matter as much though
12:22 Exio but, until it is in memory it doesn't matter, no? (the format, or the size or anything, just having a x or a b3d doesn't matter until it is loaded)
12:24 Taoki I think so. Don't know for sure but I think
14:10 SpeedProg joined #minetest-dev
15:17 Taoki joined #minetest-dev
15:33 darkrose joined #minetest-dev
15:33 darkrose joined #minetest-dev
15:34 jyfl987 joined #minetest-dev
15:59 hmmmm joined #minetest-dev
16:05 F00 joined #minetest-dev
16:32 Calinou joined #minetest-dev
17:09 rubenwardy joined #minetest-dev
17:12 SpeedProg joined #minetest-dev
17:13 SpeedProg joined #minetest-dev
17:16 rubenwardy left #minetest-dev
17:28 rubenwardy joined #minetest-dev
17:31 F00 I've found what seems to be a server DoS vulnerability
17:31 F00 More often than not, when a falling block (gravel, sand, etc.) falls out of the map, a short while later the server will become unresponsive
17:32 F00 (Accidentally took out Redcrab's server for a day this way)
17:32 F00 Testing locally it seems to cause runaway CPU usage
17:33 hmmmm huh? fall out of the map?
17:33 Calinou what doesn't increase server CPU usage?
17:34 PilzAdam entities keep duplicating when they are out of the maplimit
17:36 F00 Wouldn't that lead to increased RAM usage primarily?
17:40 hmmmm ah, you have to get to -31000
17:41 hmmmm well it's great to know that people are actively trying to break things instead of just playing the damn game
17:42 VanessaE heh, and lord knows *I* am good at breaking shit :D
17:42 F00 Didn't actually mean to, I was building on the bottom of the world and mined stone that had gravel above it
17:42 F00 Poof goes server for 24 hours
17:43 Calinou automatic server restart script: http://paste.ubuntu.com/1583023/
17:43 Calinou :-D
17:44 hmmmm well i guess anticheat for vertical movement can be added
17:44 VanessaE http://forum.minetest.net/viewtopic.php?pid=66710#p66710
17:45 VanessaE Calinou: ^^^^^
17:45 hmmmm it just has to have a threshhold higher than that of the terminal velocity of a falling player
17:45 Calinou there is no terminal velocity in MT
17:45 hmmmm yeah that needs to be added then.
17:45 Calinou VanessaE: my version is much easier to remember :P
17:45 hmmmm otherwise there's no good way to solve this.
17:46 F00 Presumably the bottom of the map could be solid
17:46 hmmmm bedrock?
17:46 VanessaE indeed, why aren'
17:46 hmmmm there are problems with that too
17:46 VanessaE indeed, why aren't we just drawing some kind of bedrock anymore?
17:46 Calinou why not add magma (darker and more red lava, kills instantly)
17:46 hmmmm because it's not foolproof either
17:46 hmmmm it's a nonsolution
17:46 Calinou at layer -30910 or so
17:46 Calinou (also it can't be picked up)
17:47 F00 You can still fly  outside the world, as well.  Can't place blocks but can drop items
17:47 VanessaE well sure it doesn't fix the entity-duplication, but it would help somewhat until it *can* be fixed.
17:48 hmmmm alright so here's what i say
17:48 hmmmm add a terminal velocity for players
17:48 hmmmm add vertical movement to the anticheat
17:48 hmmmm add a boundary check for falling nodes in builtin
17:49 F00 Terminal velocity to prevent downward teleporting doesn't help much
17:49 hmmmm why not
17:49 F00 I have a shaft down to -30910 on Redcrab's, it only takes 20 minutes to fall down it (chunk loading delay)
17:50 hmmmm you're saying it would be too slow otherwise?
17:50 Calinou lol'd at "only"
17:50 VanessaE "only" and "20 minutes" in the same sentance.
17:50 VanessaE he
17:50 VanessaE heh
17:50 Calinou +1 for terminal velocity
17:50 Calinou 100 blocks/s or so?
17:51 VanessaE 200 b/s
17:51 hmmmm hm
17:51 VanessaE that's what I counted last time I was able to reach that speed.
17:51 F00 It takes about 3 hours theoretically to dig that far with a Mese pickaxe
17:51 hmmmm i've read that humans have a terminal velocity of 120 feet per second
17:51 hmmmm or something
17:51 F00 Personally I'd rather my last teleporting direction not be removed
17:51 celeron55 ehm...
17:52 VanessaE 125 mph
17:52 VanessaE miles per hour that is.
17:52 celeron55 why not just make any object (non-player) dropping to below the world to get simply deleted?
17:52 hmmmm yeah
17:52 VanessaE celeron55: indeed.
17:52 celeron55 it will fix the original problem
17:52 hmmmm where would you put that check though
17:53 celeron55 or, well, really anywhere that is outside the world
17:54 F00 It seems like elements of that are present
17:54 F00 Fluids won't flow outside the world bounds, the player can walk on the bottom of the world
17:55 F00 Seems it's just items and falling blocks that don't have bounds checks
17:55 F00 Also, AFAIK trying to place a block outside the world will just eat the block
17:55 hmmmm you know on that note, i want there to be a limit to how far water can fall
17:55 hmmmm like in minecraft
17:56 VanessaE why?
17:56 hmmmm err wait a minute, does it actually have a height limit, or does it just flow until it hits a block that's not loaded?
17:56 hmmmm i've only watched minecraft videos, never played it
17:56 VanessaE it flows to an unloaded block boundary.
17:56 celeron55 probably the latter, like in minetest
17:56 VanessaE at meast in MT.
17:57 hmmmm oh okay, good then
17:57 celeron55 i don't know much about MC internals though
17:57 hmmmm celly the pull requests are piling up
17:57 Calinou in MC, going at Y -63 or below deals 2 hearts of damage every 0.5 second
17:57 hmmmm pending your approval
17:57 hmmmm what are you going to do about that
17:57 Calinou 0 being last bedrock layer
17:58 Exio hmmmm: minecraft have "big vertical chunks", like saying a mapblock with 256(height)x16x16 blocks/nodes but not mapblocks/chunks below it, and below it you can get the void
17:58 Exio below or upside
17:58 hmmmm oh yeah, i forgot about that.  i knew they used vertical chunks
17:58 hmmmm like our sectors
17:59 celeron55 MC actually does have the equivalents of MT blocks and sectors, but i think MC uses the limited height ones only for drawing
18:00 Exio what do you mean with "only for drawing"?
18:00 hmmmm https://github.com/celeron55/minetest/pulls
18:05 celeron55 Exio: the world geometry is precalculated in some units
18:08 hmmmm forget pulling..... let's try yanking
18:09 hmmmm by the way, I made this http://dev.minetest.net/Mapgen
18:09 hmmmm gonna probably split that page off and put just information there
19:59 Taoki joined #minetest-dev
21:29 iqualfragile joined #minetest-dev
23:03 rsiska joined #minetest-dev

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