As of v0.31, dynmap provides the option of configuring many of the features of maps and worlds using console commands issued by a user with operator privileges or via the server console. When any of the editing commands are used, the existing configuration will be transferred into the 'worlds.txt' file (whether or not the existing maps were based on worlds.txt or on the default templates). New worlds will still be initialized using templates, but once the configuration has been migrated to 'worlds.txt', further updates to the templates will not automatically be reflected to the existing worlds. Also, all map editing commands are limited to HDMap maps - legacy KzedMap and FlatMap maps cannot be edited using /dmap commands.
To start, the /dmap editing commands (all the commands besides the /dmap worldlist, /dmap maplist, /dmap perspectivelist, /dmap shaderlist, or /dmap lightinglist commands) cannot be used while map rendering is active. So, to start, the operator must issue the '/dynmap pause all' command. This will suspend all fullrender and update render processing - DO NOT FORGET TO UNPAUSE PROCESSING WHEN DONE, USING '/dynmap pause none`. FAILING TO UNPAUSE WILL PREVENT PROCESSING, AND RESULT IN A GROWING BACKLOG OF PROCESSING, WITH THE ASSOCIATED MEMORY USE.
Once rendering is paused, the /dmap commands can be used to add, remove, reorder, or modify existing map definitions. The order and many of the settings for the list of worlds can also be controlled. The following are a sample of the sorts of actions that can be done:
To disable/hide a world:
/dmap worldset _worldname_ enabled:falseTo reset a world's settings and maps to its default template:
/dmap worldreset _worldname_To reset a world's settings and maps to a specific template (replacing all existing maps):
/dmap worldreset _worldname_ _templatename_To make a world first in the list of worlds:
/dmap worldset _worldname_ order:1To set the title of a world:
/dmap worldset _worldname_ title:_"title string"_To hide the reporting of player positions and health on a world:
/dmap worldset _worldname_ sendposition:false sendhealth:falseTo set the default center position of a world to the player's current location:
/dmap worldset _worldname_ center:hereTo set the default center position of a world to a given location:
/dmap worldset _worldname_ center:_X_/_Y_/_Z_To set the number of extra zoom out levels of a world to N:
/dmap worldset _worldname_ extrazoomout:_N_To list the maps for a given world:
/dmap maplist _worldname_To delete a map from a given world:
/map mapdelete _worldname_:_mapname_To add a new map to a given world (with a given title, perspective, shader, and lighting):
/dmap mapadd _worldname_:_mapname_ title:_"map-title"_ perspective:_perspective-id_ shader:_shader-id_ lighting:_lighting-id_To edit the order/position of a map in the list of maps for a world to be Nth:
/dmap mapset _worldname_:_mapname_ order:_N_To edit the title of a map:
/dmap mapset _worldname_:_mapname_ title:_"new-title"_To change the perspective of a map (new scale, new point of view):
/dmap mapset _worldname_:_mapname_ perspective:_perspective-id_To change the filename prefix of a map:
/dmap mapset _worldname_:_mapname_ prefix:_prefix_To set the icon file for a map (relative path under 'webpath' - e.g. images/blockskylands.png) : `/dmap mapset _worldname:mapname icon:images/block_skylands.png`
To set the map zoom in level for a map to N:
/dmap mapset _worldname_:_mapname_ mapzoomin:_N_To change the image format used for a map to JPG:
/dmap mapset _worldname_:_mapname_ img-format:jpgTo change the default cave map to use the new 'textured cave view':
/dmap mapset _worldname_:_mapname_ shader:stdtexture-caveTo list the available perspectives:
/dmap perspectivelistTo list the availale shaders:
/dmap shaderlistTo list the available lightings:
/dmap lighinglistTo set a map to appear on the same line as maps of another world:
/dmap mapset _worldname_:_mapname_ append-to-world:_another_worldname_
Note: any attributes settable using 'mapset' can also be set on a new map using 'mapadd'.
As with other map edits, many of these changes will require the modified map to be re-rendered to fully implement the changes.
Once all map edits are completed, remember to run '/dynmap pause none` to resume normal render processing.