It would be great if maps that otherwise would be lost could live on on other servers.twoelk wrote: I still think the merging of some map Idea most exciting and usefull. I would love to see some non-ingame tool made based on that idea. Some sort of map-database manipulating tool could solve more issues. It could have the following functions:
At least 0.4.x seems to use the same map save format for all versions. I don't know how 0.3.x or earlier versions handle it.twoelk wrote: 1. Read all map database versions.
(This should include all Minetest versions and all database backends)
Part of that can be done at database level.twoelk wrote: 2. Abbility to analyse maps and show all sorts of information and statistics.
(For example: Show seed and other mapgenerating related information. Display maximum extent of the map in all directions including up and down. List of all types of nodes present on the map and maybe a list of all mods needed to display the map correctly. Search for certain nodes and list generating of the results; such as a list of all Travelboxes or Landclaimblocks with coordinates. Search for and analysing of database corruption. ... and much more)
Map seed: To my knowledge, that's only stored in a text file and seperate from the map. A map can be created with diffrent seeds over time.
Dimensions of the map: Yes, that's definitely intresting. May require some math on the indices of the chunks as they're calculated as x*4096^2 + y * 4096 + z (no guarantee on swapped x,y,z). Would be intresting to create useful SQL statements for that and for detecting "holes" in an area. Also for finding out how much of the map is inside certain boundaries.
Nodes present on the map: On the database level, it's possible to identify chunks which may contain a particular node. But that's about it. For indepth analysis (exact coordinates of that node, amount of nodes of that type in chunk, nodes present etc.), it is required to read the stored data and then analyze it. The minetest mapper in c++ might be a tool more suitable for that than this merging-of-maps-on-database-level.
The database format MT uses is minimalistic. Hard to tell what could get corrupted there - maybe general sqlite tools to fix corrupted databases would be more suitable there. Clearallobjects would be something that has to analyze what's inside the chunk - again something that perhaps could be better integrated into the minetest mapper in c++.twoelk wrote: 4. Related to above the possability to convert the basic map information between map and database versions.
(Tools to fix corrupted data among others such as clearobjects commands or fix crash related issues or fix import faillures or ...)
That...depends. Worldedit's old format (one line per node) is good for relatively small objects such as individual houses. The schematics-based approach (create/place_schematic) is extremly useful for placing houses and structures at map-gen time, but may also suffice for structures up to larger towns (it's mostly limited by memory afaik). Map-merging and -manipulation on the database level is completely diffrent.twoelk wrote: 5. Tools to import into maps on a large scale
(such as merge maps, import map sections or certain chunks, import data from other formats such as WE schematics or maybe in the future other voxel-world data. To aid this maybe tools to compare maps and their nodes to find conflicts before attempting an import or merge.)
For saving large parts of a map or importing them into another map, the database-based approach is much faster and reliable than worldedit would be under those circumstances. It could also be helpful to cut off parts of the map where people just ran through in search for ressources. That would be of particular intrest to Redcrabs map - provided he would be there...twoelk wrote: Although this might be the wrong thread I think there is much potential in the map merging experiments and the information should be presented somewhere. Maybe a mapmerging thread should be started to gather more experience all in one location.