Time Nick Message 05:44 BuckarooBanzai my mapcleaner was discussed yesterday (https://github.com/BuckarooBanzay/mapcleaner): just a side-node: it doesn't just check "protected" nodes, these nodes can really be set to anything but usually are artificial/player-placed nodes (like chests, machines, etc) so that it removes only chunks that are map-generated in the best case. There is also 05:44 BuckarooBanzai one chunk of safety-margin, so there will be a 3x3x3 chunks remaining around every configured node. 05:45 BuckarooBanzai for the stats: the map-size went down from 70gb to 18gb afterwards with a heavily explored multiplayer world 05:46 BuckarooBanzai i also intend to rewrite the tool in a proper language next time i'm using it (go would be suited best i think) and maybe even add sqlite support 13:46 MTDiscord Heh, ironically what I'm looking for is trying to cut the margins down a lot, hence why I'm interested more in a blocks dig/place history. I also want to preserve mining operations that are pretty much purely digging, for the very least because if I want to start running a cleanup regularly, I don't want players to be able to memorize the location of regenerating ores :-/ 13:48 MTDiscord tbh it feels like MT should mark blocks as "mapgen-clean" when they're generated and not remove that flag until after they've been modified by a player or mod code, and allow mod code to access that flag to decide whether to run stuff like ABMs that would cause it to become dirty. Then, we should have the option of simply not saving mapgen-clean blocks and let them be regenerated later ... or at least, save the flag with the block so 13:48 MTDiscord that they can be cleaned up later, or filtered out of a backup process. 15:49 celeron55 that isn't the worst suggestion 15:50 celeron55 and also isn't difficult to implement 15:51 celeron55 a first implementation could completely disregard mods and only mark on direct player actions 15:51 celeron55 it'd already work just fine 15:56 MTDiscord It'd work well for gameplay styles that rely mostly on direct player actions, like creative servers and the like. 15:56 MTDiscord It wouldn't be hard to add a minecraft:mark_block_mapgen_dirty(pos) API though, and then builtin and/or mods could be responsible for the rest. 15:57 MTDiscord Expanding the mapblock format though, if we want to allow clean blocks to be saved for later decision-making, might be a bit trickier, since there are more likely to be additional dependencies on it. 16:37 celeron55 no format expansions 16:37 celeron55 the reason this would be easy is it doesn't change any formats 16:39 rubenwardy >minecraft: 16:49 MTDiscord Ha, weird, must have been an auto-correct thing because not only is the minetest wrong but the ./: thing is wrong too 17:24 ShadowNinja If you have a rollback log you could use that to filter the map. Run `SELECT DISTINCT "x" / 16 , "y" / 16, "z" / 16 FROM "action"`, store that in a hash set, then go through the map deleting everything that doesn't occur in the set. Of course, storing a rollback log also takes quite a bit of space for a large server... 17:26 ShadowNinja (also, that node pos to block pos conversion is probably wrong, IIRC it's a little more complicated than just dividing by the block size) 17:27 MTDiscord Haha, if I had the rollback log then I could just use that as the backup instead 17:27 MTDiscord Though I guess rollback logs only capture player actions, so that'd only work in like a pure creative server 17:30 ShadowNinja It won't record mod changes like WorldEdit, but you're probably unlikely to have many WorldEdit blocks with no player placed/dig nodes excapt maybe on creative servers, but WorldEdit access is generally very limited on public servers because of its destructive power. 17:32 MTDiscord Yeah, I'm thinking more like ABMs and such. Most of those probably won't make a HUGE difference, but it might be enough to be noticeable and maybe cause issues...