6 Configuring Maps and Worlds using dmap
Daretmavi edited this page 2022-01-04 14:12:05 +01:00

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 protect world and give permissions from permission menager for view only specified map: /dmap mapset <worldname>:<mapname> protected:true

  • 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: /dmap 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 set world protected and user dedicated permisions for accesing to view: /dmap mapset <worldname>:<mapname> protected:true

  • To list the available perspectives: /dmap perspectivelist

  • To list the availale shaders: /dmap shaderlist

  • To list the available lightings: /dmap lightinglist

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