Configuring Maps and Worlds using dmap - Neder/dynmap GitHub Wiki

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

  • To 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:1

  • To 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:false

  • To set the default center position of a world to the player's current location: /dmap worldset _worldname_ center:here

  • To 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/block_skylands.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:jpg

  • To change the default cave map to use the new 'textured cave view': /dmap mapset _worldname_:_mapname_ shader:stdtexture-cave

  • To list the available perspectives: /dmap perspectivelist

  • To list the availale shaders: /dmap shaderlist

  • To list the available lightings: /dmap lighinglist

  • To 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.