20 Configuration.txt
JurgenKuyper edited this page 2023-05-11 13:51:42 +02:00

This page covers everything inside Configuration.txt

This is a very long and very in-depth page, it covers more options and content than most will need. For basic setup see Installation


deftemplatesuffix

This defines the render RESOLUTION of your map. To adjust the quality (and filesize) of your map see the section on file type. The available resolution options are vlowres, lowres, hires, low_boost_hi, hi_boost_vhi, hi_boost_xhi:

To use the HDMap very-low-res (2 ppb) map templates as world defaults, set value to vlowres  
* The definitions of these templates are in normal-vlowres.txt, nether-vlowres.txt, and the_end-vlowres.txt  
To use the HDMap low-res (4 ppb) map templates as world defaults, set value to lowres  
* The definitions of these templates are in normal-lowres.txt, nether-lowres.txt, and the_end-lowres.txt  
To use the HDMap hi-res (16 ppb) map templates (these can take a VERY long time for initial fullrender), set value to hires  
* The definitions of these templates are in normal-hires.txt, nether-hires.txt, and the_end-hires.txt  
To use the HDMap low-res (4 ppb) map templates, with support for boosting resolution selectively to hi-res (16 ppb), set value to low_boost_hi  
* The definitions of these templates are in normal-low_boost_hi.txt, nether-low_boost_hi.txt, and the_end-low_boost_hi.txt  
To use the HDMap hi-res (16 ppb) map templates, with support for boosting resolution selectively to vhi-res (32 ppb), set value to hi_boost_vhi  
* The definitions of these templates are in normal-hi_boost_vhi.txt, nether-hi_boost_vhi.txt, and the_end-hi_boost_vhi.txt 
To use the HDMap hi-res (16 ppb) map templates, with support for boosting resolution selectively to xhi-res (64 ppb), set value to hi_boost_xhi  
* The definitions of these templates are in normal-hi_boost_xhi.txt, nether-hi_boost_xhi.txt, and the_end-hi_boost_xhi.txt  

The default is:

deftemplatesuffix: hires

storage-scheme

This section defines how your map will be stored, the three natively supported methods are filetree, sqlite and mysql. Filetree means all the map tiles will be stored as image files in the tiles directory, this is the default and recommended for most servers. SQLite means the map tiles will be stored in a local SQLite database, this is recommended for small-medium sized servers or Windows based servers. MySQL means the map tiles will be stored in a separate MySQL server. This is recommended for any server size and is most common for hosting services that include MySQL servers as part of their service.

# Map storage scheme: only uncomment one 'type' value
#  filetree: classic and default scheme: tree of files, with all map data under the directory indicated by 'tilespath' setting
#  sqlite: single SQLite database file (this can get VERY BIG), located at 'dbfile' setting (default is file dynmap.db in data directory)
#  mysql: MySQL database, at hostname:port in database, accessed via userid with password
storage:
  # Filetree storage (standard tree of image files for maps)
  type: filetree
  # SQLite db for map storage (uses dbfile as storage location)
  #type: sqlite
  #dbfile: dynmap.db
  # MySQL DB for map storage (at 'hostname':'port' with flags "flags" in database 'database' using user 'userid' password 'password' and table prefix 'prefix')
  #type: mysql
  #hostname: localhost
  #port: 3306
  #database: dynmap
  #userid: dynmap
  #password: dynmap
  #prefix: ""
  #flags: "?allowReconnect=true"

Only filetree is supported out of the box, depending on your server fork you may need to download a connector to allow you to use other storage types.

fabric / forge

The fabric dev @kosma created two mods that add the SQL connectors that work on both fabric and Forge.

paper / spigot

Paper and Spigot bundle the SQL driver in the server code so no addon is needed. Just set the type to mysql and enter credentials.


Components

This section allows you to configure any and all of Dynmap's functionality. Not all components can be enabled at once and a few are critical to Dynmap's functionality. This section will contain only a summary of each component; for detailed component configuration please go the the Component Configuration Page.

components:

Client Configuration Component

This is a required component for Dynmap to run, there are no settings.
Default is Enabled.

  - class: org.dynmap.ClientConfigurationComponent

Internal Client Update Component

This component controls Dynmap updating web clients that are connected to the internal web server. It should be enabled if you are using the internal webserver and DISABLED if you are using an external webserver.
Default is Enabled.

  - class: org.dynmap.InternalClientUpdateComponent

JsonFileClientUpdateComponent

This component controls Dynmap updating web clients that are connected to an external web server. It should NOT be enabled if you are using the internal web server and ENABLED if you are using an external webserver.
Default is Disabled.

  #- class: org.dynmap.JsonFileClientUpdateComponent

SimpleWebChatComponent

This component controls the Server -> Web part of the chat bridge. Disabling this component will stop the server sending chat messages to the Web but it will NOT stop the web from sending chat to the server.
Default is Enabled.

  - class: org.dynmap.SimpleWebChatComponent

Markers Component

This component controls the built in map-marker functionality. It controls markers set via /dmarker, marker signs, and the API.
Default is Enabled.

  - class: org.dynmap.MarkersComponent

Client Components

These components control the user-experience of Dynmap. They adjust things like what elements are visible to the web client or custom logos visible to web users. For simplicities sake, the options for each of these components has been removed and can be found on the Component Configuration Page.

Chat

This component controls the Web -> Server part of the chat bridge. Disabling this component will disable web users from sending chat messages but not disable them from receiving chat messages. If you disable this component we highly recommend disabling the chat box component to completely remove that interface from the web.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: chat 

Chat Balloon

This component allows pop-up chat balloons above player markers. Disabling it will stop chat messages from appearing above player's heads on the map. This component requires the player markers component to be enabled.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: chatballoon 

Chatbox

This component controls the web-chat interface. It controls how many lines of chat are viewable, the delay for messages, and if player faces are visible in the chat window. Disabling this will not disable web users from chatting, just hides the window. If you disable this component make sure to also disable the Chat component and vice versa.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: chatbox 

Player Markers

This component controls if player positions and names are shown on the map. This component must be enabled for the Chat Balloon component to function. Disabling this component will completely remove the player markers from the map.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: playermarkers 

Digital Clock

Note: Only one clock can be enabled at a time. This Component shows a simple digital clock corresponding to the in-game time of the world currently being viewed. This clock is fairly accurate on Vanilla Minecraft but can often be inaccurate on Modded Minecraft or if you have any plugins that allow per-user time of day.
Default is Disabled.

  #- class: org.dynmap.ClientComponent
  #  type: digitalclock 

Time of Day Clock

Note: Only one clock can be enabled at a time. This Component shows a complex time-of-day clock corresponding to the in-game time of the world currently being viewed. Sun and Moon icons appear to traverse the clock This clock is fairly accurate on Vanilla Minecraft but can often be inaccurate on Modded Minecraft or if you have any plugins that allow per-user time of day.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: timeofdayclock 

This component adds a link button in the bottom right corner of the web interface that contains a link to the current map view. This button can be right-clicked and the link copied so that you can bookmark a location or share that view with someone else. Disabling this component will remove the link button from the web interface, manually copying the link from the URL will still allow you to save the current perspective.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: link 

Coordinate Panel

Note: This is only accurate on the 2D view. The 3D view cannot accurately show perfectly correct coordinates. This component controls the Coordinate Panel in the top left portion of the web interface. It displays the in-game coordinates of where the mouse pointer currently is. Disabling this will remove the Coordinate Panel from the web interface.
Default is Enabled.

  - class: org.dynmap.ClientComponent
    type: coord 

Logo

This component allows you to place a custom image in one of the corners of the map. Traditionally, this is a server logo or other branding and should be a PNG for transparency. A semi-transparent white background will be the background of the image. This does not scale images at all, the size of images uploaded will be the size on the screen (a 512x512 logo will be 512x512 on the web map).
Default is Disabled.

  #- class: org.dynmap.ClientComponent
  #  type: logo 

Inactive Timeout

This component controls the inactive timer of the internal webserver. If you are using the internal webserver and would like users to be timed out from viewing the map after a set period of time, enable this. A custom timeout length and timeout page can be set.
Default is Disabled.

  #- class: org.dynmap.ClientComponent
  #  type: inactive 

display-whitelist

This defines whether to count hiddenplayers.txt as a whitelist or not. Hiddenplayers.txt allows you to hide certain usernames from showing up on the web sidebar, if display-whitelist is set to true, only players in hiddenplayers.txt will show on the web sidebar.
The default is:

display-whitelist: false

renderinterval

This defines how often dynmap renders tiles, measured in seconds, with higher values reducing the rate at which tiles are rendered. Each tile is an image of your map. This can be a decimal value. If not defined, the value is set to 0.5 seconds.
The default is:

renderinterval: 1

renderacceleratethreshold

This defines a threshold for how many tiles can end up in the render queue before Dynmap attempts to accelerate rendering tiles. Setting this too low can cause performance issues. It is measured in tiles.
The default is:

renderacceleratethreshold: 60

renderaccelerateinterval

This settings defines the speed Dynmap will attempt to render at once the renderacceleratethreshold has been reached. Settings this too low may cause performance issues. It is measured in tiles per second.
The default is:

renderaccelerateinterval: 0.2

tiles-rendered-at-once

This setting controls how many tiles Dynmap attempts to update at once. This works in combination with renderinterval to greatly change the amount of tiles rendered per second. It is not recommended setting this value higher than the amount of CPU cores your server has. The default value is unset and Dynmap uses half the number of CPU cores on the server. Changing this setting will greatly affect server performance during full-renders and radius-renders but only have a marginal impact during regular update-renders. It is measured in tiles.
The default is:

#tiles-rendered-at-once: 2

usenormalthreadpriority

This setting tells Windows Operating systems to run the Dynmap render process at a normal priority (versus low priority as is standard for background processes. This can help make update renders more consistent and prevent Windows from stopping long renders. Linux pretty much ignores this setting but can result in unexpected behavior.
The default is:

usenormalthreadpriority: true 

saverestorepending

This setting allows Dynmap to store render queues to resume a render after a server restart. We don't recommend you change this setting unless you have issues with Dynmap at startup or you have a very low power server.
The default is:

saverestorepending: true 

save-pending-period

This setting controls how often Dynmap saves the render queue to disk for crash recovery of jobs. This is measured in seconds.
The default is:

save-pending-period: 900

zoomoutperiod

This setting controls how often Dynmap checks to update zoom-out tiles. These are the tiles with "z" in the name, as they cover very large portions of the map Dynmap does not update the zoomout tiles with the same frequency as standard tiles. Setting this too low will result in performance decreases, setting this too high will result in slower updating of the zoomout tiles and cause the zoomed out tiles to be outdated. This is measured in seconds.
The default is:

zoomoutperiod: 30

initial-zoomout-validate

This setting controls if Dynmap checks to see if the zoomout tiles are up-to-date on server startup. This can be an easy way to force-update the zoomout tiles if some are out of date however can cause large performance penalties on server startup due to the large amount of rendering Dynmap will be doing.
The default is:

initial-zoomout-validate: true

tileupdatedelay

This setting controls how long to delay tile updates after Dynmap detects a change from render-triggers. This setting should not be set too low as it may cause Dynmap to re-render the same tiles repeatedly. This settings can also be overridden in worlds.txt on a per-world or per-map basis to allow fine tuned control of how quickly Dynmap updates maps after activity. This is measured in seconds.
The default is:

tileupdatedelay: 30

enabletilehash

This setting controls whether or not Dynmap compares the hashes of the tiles when it triggers an update. If the tile after an update is the same exact image (no visible changes) it will skip updating that tile to save resources. We do not recommend disabling this setting.
The default is:

enabletilehash: true

hideores

This setting tells Dynmap to render ores as regular stone. This only works with the default texture pack and is just a simple texture swap. Enabling this after the map has been rendered will require a re-render.
The default is:

#hideores: true

better-grass

This setting tells Dynmap to render grass and snow blocks in the BetterGrass (Optifine) style. Changing this setting after the map has been rendered will require a re-render.
The default is:

#better-grass: true

smooth-lighting

This setting tells Dynmap to use smooth-lighting when rendering the map. For an example, adjust the smooth lighting option in your Minecraft client. This setting can be overridden in worlds.txt on a per-world or per-map basis. Adjusting this setting after the map has been rendered will require a re-render.
The default is:

smooth-lighting: true

use-brightness-table

This setting tells Dynmap to use the light level of the blocks in the world to determine brightness. If set to false Dynmap will use the legacy lighting curve to render the map. This setting can be overridden in worlds.txt on a per-world or per-map basis. Adjusting this setting after the map has been rendered will require a re-render.
The default is:

use-brightness-table: true

block-alias

This setting allows specific blocks to be hidden or appear as other blocks on the map. It is most useful for hiding this like chests or mob spawners however it can also be used to define simple placeholders for custom blocks from other mods. This setting has very specific syntax and must be set as "minecraft:block": "minecraft:replacement" If you are not using the modded version of Dynmap you don't have to include minecraft:.
The default is:

block-alias:
#    "minecraft:quartz_ore": "stone"
#    "diamond_ore": "coal_ore"

image-format

This setting controls what file type and compression Dynmap should use when saving the tiles. Dynmap supports PNG, JPG, and WEBP files as well as different quality levels of JPG files. The standard profiles are png, jpg, jpg-q75, jpg-q80, jpg-q85, jpg-q90, jpg-q95, jpg-q100, webp, webp-q75, webp-q80, webp-q85, webp-q90, webp-q95, webp-q100 and webp-l. PNG files are uncompressed and allow for the highest quality image of the map however take up the most space. JPG allows you to compress the images and save on space as well as network bandwidth with significantly smaller files. This setting can be overridden in worlds.txt on a per-world or per-map basis. NOTE: To use WEBP you must use Dynmap build 426 or later and include the webp tools on their system. For detailed instructions on WEBP see this Reddit post.
The default is:

image-format: jpg-q90

use-generated-textures

This setting controls how Dynmap renders water and lava textures. If set true, Dynmap renders fluids as they appear in game. If set false, Dynmap renders static textures.
The default is:

use-generated-textures: true

correct-water-lighting

This setting controls how Dynmap renders light levels of water and blocks under water. If set true, Dynmap renders fluids and blocks as they appear in game. If set false, Dynmap uses the legacy (darker) lighting engine.
The default is:

correct-water-lighting: true

transparent-leaves

This setting controls whether or not Dynmap renders leaves as transparent. This setting needs to be set false for some mods and modded server versions for compatibility. There is no performance difference on vanilla.
The default is:

transparent-leaves: true

ctm-support

This setting controls whether or not Dynmap uses the Connected Texture Mod (CTM) to render connected or multiblock textures. This is usually required by most texture packs/mods and should not be normally changed.
The default is:

ctm-support: true

custom-colors-support

This setting controls if Dynmap uses Custom Colors in texture packs to render the map. This is most useful for custom grass/water/leaf colors in texture packs, it does not affect custom biome shading. This is usually required by most texture packs/mods and should not be normally changed.
The default is:

custom-colors-support: true

fetchskins

This setting controls if Dynmap should fetch custom player skins for player markers. By default it is enabled. If this is disabled Dynmap will show all players with the Steve skin.
The default is:

#fetchskins: false

refreshskins

This setting controls if Dynmap should update player skins once it has saved them. By default it is enabled. If this is disabled player skins will not update automatically.
The default is:

#refreshskins: false

skin-url

This setting tells Dynmap where to get player skins from. This should not normally be changed unless you know what you are doing. %player% is a macro for the player name.
The default is:

skin-url: "http://skins.minecraft.net/MinecraftSkins/%player%.png"

skinsrestorer-integration

This setting tells Dynmap to integrate with the SkinsRestorer plugin to fetch player skins. This is usually required for offline servers or server that don't authenticate against Mojang. This is disabled by default.
The default is:

#skinsrestorer-integration: true

render-triggers

These settings control when and how Dynmap updates the map. Adjusting these can affect server performance and can be helpful to speed up or slow down map updates. Disabling all of the render triggers will effectively stop Dynmap from automatically updating. If all triggers are disabled a radius-render or full-render will be the only way to update the map. As of Dynmap 3.1 there are 17 options for spigot and 5 for forge:

Spigot:

  • playermove This is not recommended to be enabled. If enabled, Dynmap will trigger all tiles that contain blocks that a player moves to be updated. This can be a useful debugging tool but will crash servers with multiple people on.
  • playerjoin This is not recommended to be enabled. If enabled, Dynmap will trigger all tiles in chunks around a player to be updated on player join. This can easily be exploited by players and cause severe performance issues and crashes.
  • blockplaced This is enabled by default. If enabled, Dynmap will mark tiles that contain blocks that were recently placed by a player to be updated.
  • blockbreak This is enabled by default. If enabled, Dynmap will mark tiles that contain blocks that were recently broken by a player to be updated.
  • leavesdecay This is enabled by default. If enabled, Dynmap will mark tiles that contain leaves that have decayed to updated. Disabling this setting can cause floating leaves to be present on the map after a tree has been broken and is not usually recommended to be disabled. Large servers with auto-tree chopping plugins may consider disabling this.
  • blockburn This is enabled by default. If enabled, Dynmap will mark tiles that contain blocks that have recently been burned to be updated. This is not usually recommended to be disabled as blocks that have been burned may remain on the map but not in-game.
  • chunkgenerated This is enabled by default. If enabled, Dynmap will mark all tiles within chunks that have recently been generated to be updated (rendered for the first time). If you have pregenerated your world to the border this can be disabled but is not recommended as it will cause no performance penalty. For low power servers this can make the server extra laggy during world generation.
  • blockformed This is enabled by default. I don't know what this trigger does.
  • blockfaded This is enabled by default. I don't know what this trigger does.
  • blockspread This is enabled by default. If enabled, Dynmap will update tiles where lava has spread onto a new tile.
  • pistonmoved This is enabled by default. If enabled, Dynmap will update tiles that contain recently activated pistons. This setting can cause performance issues if large flying machines or massive piston farms are used. If tileupdatedelay is set properly, this setting has very little impact on server performance.
  • explosion This is enabled by default. If enabled, Dynmap will update tiles that recently contained explosions.
  • blockfromto This is disabled by default. If enabled, Dynmap will trigger an update for block a player moves onto. This only happens when a new block is moved onto as opposed to playermove which can happen multiple times in the same block. This can cause serious server load if enabled and should be left disabled.
  • blockphysics This is disabled by default. I don't know what this trigger does.
  • structuregrow This is enabled by default. I don't know what this trigger does.
  • blockgrow This is enabled by default. If enabled, Dynmap will mark all tiles that have grow events (trees, crops, etc.) to be updated.
  • blockredstone This is disabled by default. If enabled, Dynmap will mark all tiles that have redstone updates to be updated. This setting can cause severe performance penalties on servers with large redstone contraptions and can be abused by players. It is not normally recommended.

Forge:

  • blockupdate This is enabled by default. If enabled, Dynmap will update tiles that recently contained blocks that got updated.
  • blockupdate-with-id This is disabled by default. If enabled, Dynmap will update tiles that recently contained blocks that updated and prints out their ID:meta.
  • lightingupdate This is disabled by default. If enabled, Dynmap will update tiles that recently contained blocks that got their lighting updated.
  • chunkpopulate This is enabled by default. If enabled, Dynmap will update tiles that recently contained chunks that got brought to their last generation state.
  • chunkgenerate This is enabled by default. If enabled, Dynmap will update tiles that recently contained chunks that got generated.
  • none This is disabled by default. If enabled, Dynmap will not automatically update its tiles.

The default config for Spigot triggers is:

render-triggers:
  #- playermove
  #- playerjoin
  - blockplaced
  - blockbreak
  - leavesdecay
  - blockburn
  - chunkgenerated
  - blockformed
  - blockfaded
  - blockspread
  - pistonmoved
  - explosion
  #- blockfromto
  #- blockphysics
  - structuregrow
  - blockgrow
  #- blockredstone

The default config for Forge triggers is:

render-triggers:
  - blockupdate
  #- blockupdate-with-id
  #- lightingupdate
  - chunkpopulate
  - chunkgenerate
  #- none

webpage-title

This setting controls the Title of the map web page. By default this will take the server name set in server.properties but can be manually specified here.
The default is:

#webpage-title: "My Awesome Server Map"

tilespath

This setting controls where Dynmap stores map tiles. By default this is a relative path to the Dynmap folder, it also supports absolute paths for cases where that is needed (external webserver). We highly recommend storing the tiles inside the web folder. If MySQL is being used this path is ignored, if SQLite is being used this will be the path to the SQLite Database.
The default is:

tilespath: web/tiles

webpath

This setting controls where Dynmap stores the web files. By default this is a relative path to the Dynmap folder, it also supports absolute paths for cases where that is needed (external webserver). If this is changed to a folder outside the minecraft server folder file permission will need to be changed to both allow Dynmap to save files to that directory as well as web users to view the files when accessing the web map.
The default is:

webpath: web

update-webpath-files

This setting controls whether Dynmap updates the web files if they got updated in a new release of dynmap, if using a custom frontend, this setting should be disabled. The default is:

update-webpath-files: true

exportpath

This setting controls where Dynmap stores the exported OBJ zip file from the /dynmapexp command. By default this is a relative path to the Dynmap folder, it also supports absolute paths. If this is changed to a folder outside the minecraft server folder you will need to make sure Dynmap has write permissions to save the file.
The default is:

exportpath: export

webserver-bindaddress

The IP Address that Dynmap will bind to. This usually does not need to be changed. The default is the IP address in server.properties. If the IP address is not set in server.properties it will use 0.0.0.0 - all IP addresses available. We recommend setting this to 0.0.0.0 manually if there are issues connecting to the map.
The default is:

#webserver-bindaddress: 0.0.0.0

webserver-port

The TCP port Dynmap will bind the website to. Most shared server hosts (PebbleHost, MCProHosting, etc) will limit which ports are available, please check your server provider for what ports Dynmap can use. If you are self-hosting Dynmap you will have to port-forward the port that is set here to allow external connections. For more information on configuring the web map please see the Installation Page. This setting is the most common cause for a web map not to work, do no hesitate to reach out on Discord for help setting up the web map.
The default is:

webserver-port: 8123

max-sessions

This setting controls how many users can have the map open at once. This only affects the internal webserver and can affect server performance for big servers. Once the limit has been met, the oldest connection will be removed.
The default is:

max-sessions: 30

disable-webserver

This setting controls whether or not Dynmap will run the internal webserver. This should only be disabled when using an external web server and only by advanced users familiar with both the OS they are using and an external webserver. If you disable this you should also disable the Internal Client Update Component and enable the JSON File Client Update Component.
The default is:

disable-webserver: false

This setting allows Dynmap's internal webserver to follow symbolic links (shortcuts on Windows). This is not something Dynmap normally uses but can be used if you store Dynmap's tiles on an external hard drive or outside the Dynmap folder. Setting this false will increase security.
The default is:

allow-symlinks: true

login-enabled

This setting controls if users are allowed to log in to the web map. This setting is required if you also require logins.
The default is:

login-enabled: false

login-required

This setting controls if users are REQUIRED to log in to view the web map. If you enable this setting you must also enabled login-enabled. Users can register for a login by running /dynmap webregister in game.
The default is:

login-required: false

timesliceinterval

This setting tells Dynmap to pause after a tile render during full-renders only. This setting will slow down full-renders but greatly lessen the CPU load. It is measured in seconds.
The default is:

timesliceinterval: 0.0

maxchunkspertick

This setting controls how many chunks Dynmap will attempt to load at once. Dynmap occasionally has to load chunks during renders (especially full-renders) and this setting can help limit that for low performance servers. Optimized servers forks like Paper load chunks asynchronously and this setting will have almost no impact on performance. For Spigot/Bukkit this can increase performance during full-renders. This is measured in chunks per tick.
The default is:

maxchunkspertick: 200

progressloginterval

This setting controls how often Dynmap sends a message reporting render progress. This setting can be increased to greatly reduce the log spam during large renders. It must be set to 100 or greater. Measured in tiles.
The default is:

progressloginterval: 100

parallelrendercnt

This setting controls how many threads Dynmap will use during renders. This setting should be set the same as tiles-rendered-at-once. It is not recommended setting this value higher than the amount of CPU cores your server has. The default value is unset and Dynmap uses half the number of CPU cores on the server. Changing this setting will greatly affect server performance during full-renders and radius-renders but only have a marginal impact during regular update-renders. It is measured in threads.
The default is:

#parallelrendercnt: 4

updaterate

This setting controls how often web clients check for updates. This included players and markers. Setting this too low will result in bad web performance as well as decreased server performance. Setting this too high will result in a slow updating web map but no real performance gains. It is measured in milliseconds.
The default is:

updaterate: 2000

fullrenderplayerlimit

This setting controls how many players can be on before Dynmap pauses full-renders. If set to 0 there will be no player limit. This setting is recommended for large servers that struggle with many players on or servers with very large maps and want to run full-renders only when the server is not busy. This is measured in players.
The default is:

fullrenderplayerlimit: 0

updateplayerlimit

This setting controls how many players can be on before Dynmap pauses update-renders. If set to 0 there will be no player limit. This setting is only recommended for low power servers as it will completely disable updates once the limit is hit. This is measured in players.
The default is:

updateplayerlimit: 0

per-tick-time-limit

This setting controls "smart" resource utilization. Dynmap will attempt to render as fast (or as slow) as possible till each server tick takes as long as the value set here. This is measured in milliseconds per tick (mspt). For reference, 50mspt is 20 ticks per second (normal server performance).
The default is:

per-tick-time-limit: 50

update-min-tps

This setting controls the ticks per second (TPS) value at which Dynmap will pause update renders. This, and the following two settings are incredibly useful as they can limit the amount of lag Dynmap will cause and prevent Dynmap from causing additional lag if the server is already lagging. Setting these above 20 will stop Dynmap from rendering at all. Setting these too low will increase the potential performance cost of running Dynmap. NOTE: These settings do not have any direct impact on the speed of renders or Dynmap's performance on the server, these just set limits for acceptable performance.
The default is:

update-min-tps: 18.0

fullrender-min-tps

This setting controls the TPS value at which Dynmap will pause full renders.
The default is:

fullrender-min-tps: 18.0

zoomout-min-tps

This setting controls the TPS value at which Dynmap will pause radius renders.
The default is:

zoomout-min-tps: 18.0

showplayerfacesinmenu

This setting controls if player faces are shown in the web map's sidebar.
The default is:

showplayerfacesinmenu: true

grayplayerswhenhidden

This setting controls if player names in the sidebar are greyed out if they are hidden or otherwise not currently visible on the map currently being viewed.
The default is:

grayplayerswhenhidden: true

player-sort-permission-nodes

This setting controls if Dynmap should use permissions nodes to sort players on the sidebar. This uses permission nodes set in this config, not in any existing permissions manager you may already be using. The list is sorted in the same way users will be sorted in the sidebar: The first listing here will be the first users on the sidebar and so on. Users with no permissions in this list will be last in the sidebar.
The default is:

player-sort-permission-nodes:
  - bukkit.command.op

sidebaropened

This setting controls if the sidebar is permanently opened or if users are allowed to close the sidebar. The valid settings are false, true, and pinned. False will keep the sidebar closed when users first open the page, true will keep it open always, and pinned will start with the sidebar open but allow users to close it.
The default is:

#sidebaropened: true

http-response-headers

This is a setting for advanced users and will not normally need to be set. id: value pairs can be set here to add custom HTTP response headers. The response headers set here only apply to the internal web server.
The default is:

#http-response-headers:
#    Access-Control-Allow-Origin: "my-domain.com"
#    X-Custom-Header-Of-Mine: "MyHeaderValue"

trusted-proxies

This is a setting for advanced users and will not normally need to be set. Setting trusted proxies will tell Dynmap's internal web server to accept X-Forwarded-For headers. The only normal use case for this is when Dynmap is behind a reverse proxy to allow IP based username recognition.
The default is:

trusted-proxies:
  - "127.0.0.1"
  - "0:0:0:0:0:0:0:1"

joinmessage / quitmessage

These control the formatting of the player join/quit messages sent to the web. It accepts %playername% as a macro for the player's name. If these are set to "" the join/quit messages will not be sent to the web.
The default is:

joinmessage: "%playername% joined"
quitmessage: "%playername% quit"

spammessage

This setting controls the message web users see when they try to chat too quickly. %interval% is a placeholder for the amount of seconds users must wait to send messages, it is set in the messagettl field of the Chatbox Client component. Setting this to "" will disable users being notified they are spam blocked.
The default is:

spammessage: "You may only chat once every %interval% seconds."

webmsgformat

This setting controls how messages sent from the web appear in-game. %playername% and %message% are macros as placeholders for what their name implies. Standard minecraft color codes are supported here but must be altered to show up properly: In game, if you would use &4 for red you would use &color;4 here. If a player is not logged in to the web map or the playername is not specified in the URL %playername% will just be the sender's IP.
The default is:

webmsgformat: "&color;2[WEB] %playername%: &color;f%message%"

showlayercontrol

This setting controls if the layer control menu is visible on the web map. This allows players to toggle options such as player markers, sign markers, faction borders (if the add-on supports it) or otherwise.
The default is:

showlayercontrol: true

check-banned-ips

This setting controls if Dynmap should check the banned-ips.txt to block users from viewing or chatting on the web map. This setting only applies to the internal web server.
The default is:

check-banned-ips: true

defaultzoom

This, and the next two settings control which world and map is loaded when a user first visits the web map. Default zoom controls the zoom level on first join.
The default is:

defaultzoom: 0

defaultworld

Default world controls which world is viewed on first join. (For example: world, world_nether, world_the_end)
The default is:

defaultworld: world

defaultmap

Default map controls which map of the selected world is viewed on first join. (For example: flat, surface, cave)
The default is:

defaultmap: flat

followzoom

Zoom level of the map when following a player (if enabled).
The default is:

#followzoom: 3

followmap

Which map will the web map switch when following a player (if enabled).
The default is:

#followmap: surface

persist-ids-by-ip

This setting links user's IP in-game to their IP on the web map for automatic username transfer. This requires advanced configuration for a reverse proxy to work. Additionally, if multiple players join from the same IP, Dynmap will use the most recently joined user to match the name.
The default is:

persist-ids-by-ip: true

cyrillic-support

This setting allows support for the cyrillic alphabet.
The default is:

cyrillic-support: false

round-coordinates

This setting rounds coordinates to the nearest whole-number value.
The default is:

round-coordinates: true

msg

These settings control pre-set messages that users may see. They are all fairly self-explanatory.
The default is:

msg:
    maptypes: "Map Types"
    players: "Players"
    chatrequireslogin: "Chat Requires Login"
    chatnotallowed: "You are not permitted to send chat messages"
    hiddennamejoin: "Player joined"
    hiddennamequit: "Player quit"

url

These settings are for advanced use-cases only and do not need to be adjusted for the average setup, for information on configuring these please visit the External Webserver With MySQL/SQLite page. The default is:

url:
    #configuration: "up/configuration"
    #update: "up/world/{world}/{timestamp}"
    #sendmessage: "up/sendmessage"
    #login: "up/login"
    #register: "up/register"
    #tiles: "tiles/"
    #markers: "tiles/"

custom-commands

These allow custom commands to be run before or after events. The two documented commands are preupdatecommand and postupdatecommand. NOTE: These can definitely cause performance issues as they run every time a tile is saved which can be thousands of times during large fullrenders.
The default is:

custom-commands:
    image-updates:
        preupdatecommand: ""
        postupdatecommand: ""

snapshotcachesize

Not sure what this does, "Snapshot cache size, in chunks" according to the Dev.
The default is:

snapshotcachesize: 500

soft-ref-cache

Not sure what this does, "Snapshot cache uses soft references (true), else weak references (false)" according to the Dev.
The default is:

soft-ref-cache: true

enterexitperiod

How often to check a player's position to update the player marker on the map. Measured in milliseconds.
The default is:

#enterexitperiod: 1000

titleFadeIn

How long it takes for the map title to fade in. Measured in ticks (50 milliseconds).
The default is:

#titleFadeIn: 10

titleStay

How long the title should stay. Measured in ticks (50 milliseconds).
The default is:

#titleStay: 70

titleFadeOut

How long it takes for the title to fade out. Measured in ticks (50 milliseconds).
The default is:

#titleFadeOut: 20

enterexitUseTitle

Not 100% sure what this does, from the dev: "Enter/exit messages use on screen titles (true - default), if false chat messages are sent instead."
The default is:

#enterexitUseTitle: true

enterReplaceExits

Not 100% sure what this does, from the dev: "Set true if new enter messages should supercede pending exit messages (vs being queued in order), default false."
The default is:

#enterReplacesExits: true

publicURL

This setting sets the plublic URL for use with the /dynmap url command, if not set, the command will not return anything, url should be FQDN (e.g. https://map.thisserver.com/). The default is:

#publicURL: http://my.greatserver.com/dynmap

noPermissionMsg

Send this message if the player does not have permission to use the command. The default is:

noPermissionMsg: "You don't have permission to use this command!"

verbose

This enables verbose startup message, this can be useful for debugging maps or worlds not loading or web server startup issues. Support may ask for this to be enabled, otherwise this should stay false for less startup log spam.
The default is:

verbose: false

debuggers

These log specific information about each Dynmap function. Support may ask for these to be enabled for bug reports, otherwise these should not be enabled to prevent massive log spam.
The default is:

#debuggers:
#  - class: org.dynmap.debug.LogDebugger

dump-missing-blocks

This setting tells Dynmap to ignore blocks that are missing render data. This can be useful for corrupt blocks or modded blocks that you want to simply ignore. This can cause unexpected behavior, enabled at your own risk.
The default is:

dump-missing-blocks: false

migrate-chunks

This setting is specifically for the 1.13 to 1.14 update of Minecraft. This allows for some migrating of old chunks to the new style to allow dynmap to see chunks form pre-1.14 on 1.14 servers. This should only be enabled once and only on servers that have existed pre-1.14. This is an EXPERIMENTAL feature and is the only time Dynmap will ever directly modify the world files, we strongly suggest making a world backup before enabling this.
The default is:

#migrate-chunks: true

hackAttemtBlurb

Log4J defense: string substituted for attempts to use macros in web chat The default is:

hackAttemptBlurb: "(IaM5uchA1337Haxr-Ban Me!)"

Congratulations! You made it to the end of the config file!