| 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 |