Skip to content
FedUpWith-Tech edited this page May 14, 2021 · 20 revisions

This page is currently a draft, not all is formatted correctly and will be finished soon™️

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"

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:

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

  - class: org.dynmap.ClientConfigurationComponent

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

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

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

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

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.

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 

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 

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 

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 

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 

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 

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 

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 

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 

# Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false)
display-whitelist: false

# How often a tile gets rendered (in seconds).
renderinterval: 1

# How many tiles on update queue before accelerate render interval
renderacceleratethreshold: 60

# How often to render tiles when backlog is above renderacceleratethreshold
renderaccelerateinterval: 0.2

# How many update tiles to work on at once (if not defined, default is 1/2 the number of cores)
tiles-rendered-at-once: 2

# If true, use normal priority threads for rendering (versus low priority) - this can keep rendering
# from starving on busy Windows boxes (Linux JVMs pretty much ignore thread priority), but may result
# in more competition for CPU resources with other processes
usenormalthreadpriority: true

# Save and restore pending tile renders - prevents their loss on server shutdown or /reload
saverestorepending: true

# Save period for pending jobs (in seconds): periodic saving for crash recovery of jobs
save-pending-period: 900

# Zoom-out tile update period - how often to scan for and process tile updates into zoom-out tiles (in seconds)
zoomoutperiod: 30

# Control whether zoom out tiles are validated on startup (can be needed if zoomout processing is interrupted, but can be expensive on large maps)
initial-zoomout-validate: true

# Default delay on processing of updated tiles, in seconds.  This can reduce potentially expensive re-rendering
# of frequently updated tiles (such as due to machines, pistons, quarries or other automation).  Values can
# also be set on individual worlds and individual maps.
tileupdatedelay: 30

# Tile hashing is used to minimize tile file updates when no changes have occurred - set to false to disable
enabletilehash: true

# Optional - hide ores: render as normal stone (so that they aren't revealed by maps)
#hideores: true

# Optional - enabled BetterGrass style rendering of grass and snow block sides
#better-grass: true

# Optional - enable smooth lighting by default on all maps supporting it (can be set per map as lighting option)
smooth-lighting: true

# Optional - use world provider lighting table (good for custom worlds with custom lighting curves, like nether)
#   false=classic Dynmap lighting curve
use-brightness-table: true

# Optional - render specific block names using the textures and models of another block name: can be used to hide/disguise specific
#  blocks (e.g. make ores look like stone, hide chests) or to provide simple support for rendering unsupported custom blocks
block-alias:
#    "minecraft:quartz_ore": "stone"
#    "diamond_ore": "coal_ore"
  
# Default image format for HDMaps (png, jpg, jpg-q75, jpg-q80, jpg-q85, jpg-q90, jpg-q95, jpg-q100)
# Has no effect on maps with explicit format settings
image-format: jpg-q90

#  use-generated-textures: if true, use generated textures (same as client); false is static water/lava textures
#  correct-water-lighting: if true, use corrected water lighting (same as client); false is legacy water (darker)
#  transparent-leaves: if true, leaves are transparent (lighting-wise): false is needed for some Spout versions that break lighting on leaf blocks
use-generated-textures: true
correct-water-lighting: true
transparent-leaves: true

# ctm-support: if true, Connected Texture Mod (CTM) in texture packs is enabled (default)
ctm-support: true
# custom-colors-support: if true, Custom Colors in texture packs is enabled (default)
custom-colors-support: true

# Control loading of player faces (if set to false, skins are never fetched)
#fetchskins: false

# Control updating of player faces, once loaded (if faces are being managed by other apps or manually)
#refreshskins: false

# Customize URL used for fetching player skins (%player% is macro for name)
skin-url: "http://skins.minecraft.net/MinecraftSkins/%player%.png"

# Enable skins via SkinsRestorer plugin instead of internal legacy implementation (disabled by default)
#skinsrestorer-integration: true

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

# Title for the web page - if not specified, defaults to the server's name (unless it is the default of 'Unknown Server')
#webpage-title: "My Awesome Server Map"

# The path where the tile-files are placed.
tilespath: web/tiles

# The path where the web-files are located.
webpath: web

# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export

# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

# The TCP-port the webserver will listen on.
webserver-port: 8123

# Maximum concurrent session on internal web server - limits resources used in Bukkit server
max-sessions: 30

# Disables Webserver portion of Dynmap (Advanced users only)
disable-webserver: false

# Enable/disable having the web server allow symbolic links (true=compatible with existing code, false=more secure (default))
allow-symlinks: true

# Enable login support
login-enabled: false
# Require login to access website (requires login-enabled: true)
login-required: false

# Period between tile renders for fullrender, in seconds (non-zero to pace fullrenders, lessen CPU load)
timesliceinterval: 0.0

# Maximum chunk loads per server tick (1/20th of a second) - reducing this below 90 will impact render performance, but also will reduce server thread load
maxchunkspertick: 200

# Progress report interval for fullrender/radiusrender, in tiles.  Must be 100 or greater
progressloginterval: 100

# Parallel fullrender: if defined, number of concurrent threads used for fullrender or radiusrender
#   Note: setting this will result in much more intensive CPU use, some additional memory use.  Caution should be used when
#  setting this to equal or exceed the number of physical cores on the system.
#parallelrendercnt: 4

# Interval the browser should poll for updates.
updaterate: 2000

# If nonzero, server will pause fullrender/radiusrender processing when 'fullrenderplayerlimit' or more users are logged in
fullrenderplayerlimit: 0
# If nonzero, server will pause update render processing when 'updateplayerlimit' or more users are logged in
updateplayerlimit: 0
# Target limit on server thread use - msec per tick
per-tick-time-limit: 50
# If TPS of server is below this setting, update renders processing is paused
update-min-tps: 18.0
# If TPS of server is below this setting, full/radius renders processing is paused
fullrender-min-tps: 18.0
# If TPS of server is below this setting, zoom out processing is paused
zoomout-min-tps: 18.0

showplayerfacesinmenu: true

# Control whether players that are hidden or not on current map are grayed out (true=yes)
grayplayerswhenhidden: true

# Use player permissions to order player list: first to last, players are ordered by first permission listed that they have
# That is, anyone with first listed permission goes before anyone with second, etc, with users with none of the nodes going last
player-sort-permission-nodes:
  - bukkit.command.op
  
# Set sidebaropened: 'true' to pin menu sidebar opened permanently, 'pinned' to default the sidebar to pinned, but allow it to unpin
#sidebaropened: true

# Customized HTTP response headers - add 'id: value' pairs to all HTTP response headers (internal web server only)
#http-response-headers:
#    Access-Control-Allow-Origin: "my-domain.com"
#    X-Custom-Header-Of-Mine: "MyHeaderValue"

# Trusted proxies for web server - which proxy addresses are trusted to supply valid X-Forwarded-For fields
trusted-proxies:
  - "127.0.0.1"
  - "0:0:0:0:0:0:0:1"
  
# Join/quit message format for web chat: set to "" to disable notice on web UI
joinmessage: "%playername% joined"
quitmessage: "%playername% quit"

spammessage: "You may only chat once every %interval% seconds."
# format for messages from web: %playername% substitutes sender ID (typically IP), %message% includes text
webmsgformat: "&color;2[WEB] %playername%: &color;f%message%"

# Control whether layer control is presented on the UI (default is true)
showlayercontrol: true

# Enable checking for banned IPs via banned-ips.txt (internal web server only)
check-banned-ips: true

# Default selection when map page is loaded
defaultzoom: 0
defaultworld: world
defaultmap: flat
# (optional) Zoom level and map to switch to when following a player, if possible
#followzoom: 3
#followmap: surface

# If true, make persistent record of IP addresses used by player logins, to support web IP to player matching
persist-ids-by-ip: true

# If true, map text to cyrillic
cyrillic-support: false

# If true, coordinates will be rounded
round-coordinates: true

# Messages to customize
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 for client configuration (only need to be tailored for proxies or other non-standard configurations)
url:
    # configuration URL
    #configuration: "up/configuration"
    # update URL
    #update: "up/world/{world}/{timestamp}"
    # sendmessage URL
    #sendmessage: "up/sendmessage"
    # login URL
    #login: "up/login"
    # register URL
    #register: "up/register"
    # tiles base URL
    #tiles: "tiles/"
    # markers base URL
    #markers: "tiles/"

# Customization commands - allows scripts to be run before/after certain events
custom-commands:
    image-updates:
        # Command run just before any image file is written or updated: run with single parameter with fully qualified file name
        preupdatecommand: ""
        # Command run just after any image file is written or updated: run with single parameter with fully qualified file name
        postupdatecommand: ""

# Snapshot cache size, in chunks
snapshotcachesize: 500
# Snapshot cache uses soft references (true), else weak references (false)
soft-ref-cache: true

# Player enter/exit title messages for map markers
#
# Processing period - how often to check player positions vs markers - default is 1000ms (1 second)
#enterexitperiod: 1000
# Title message fade in time, in ticks (0.05 second intervals) - default is 10 (1/2 second)
#titleFadeIn: 10
# Title message stay time, in ticks (0.05 second intervals) - default is 70 (3.5 seconds)
#titleStay: 70
# Title message fade out time, in ticks (0.05 seocnd intervals) - default is 20 (1 second)
#titleFadeOut: 20
# Enter/exit messages use on screen titles (true - default), if false chat messages are sent instead
#enterexitUseTitle: true
# Set true if new enter messages should supercede pending exit messages (vs being queued in order), default false
#enterReplacesExits: true

# Set to true to enable verbose startup messages - can help with debugging map configuration problems
# Set to false for a much quieter startup log
verbose: false

# Enables debugging.
#debuggers:
#  - class: org.dynmap.debug.LogDebugger
# Debug: dump blocks missing render data
dump-missing-blocks: false

# Have dynmap migrate old chunks to the new format for the current MC version (specifically, for migrating pre-1.13 chunks to 1.13 or 1.14).  This is needed
# in order to render chunks on an upgraded server (due to various bugs/limitations in CB/spigot 1.13+).  This setting is NOT suggested to be enabled full time,
# but only long enough to do a fullrender of a migrated world - it should be turned back off once worlds are migrated).  It is EXPERIMENTAL, so be sure to backup
# your worlds before running with this setting enabled (set to true)
#
#migrate-chunks: true

Contents

Setup

Advanced Configuration

Mod Support

Developers

Clone this wiki locally