Minecraftサーバーを動かす知識

Dynmapの使い方と設定

投稿:  更新:  By: HimaJyun

このページではDynmapの使い方、導入方法、コマンド、パーミッション、設定などを解説します。

プラグイン名Jecon
開発者mikeprimm
配布場所BukkitDev, SpigotMC
ライセンスApache License 2.0
ソースコードGitHub(webbukkit/dynmap)
執筆時バージョンv3.0-beta-5 (Spigot 1.14.4)
備考なし

スポンサーリンク

Dynmapとは

Dynmapはサーバーにブラウザから閲覧できるマップを導入するプラグインです。

どのように動作するかは当サイト管理人の運営するサーバーのマップを見ていただければ分かりやすいと思います。→実際の例

使い方

導入して設定を済ませてしまえば基本的に何かを操作する必要などはありません。

ブロックの設置や破壊に連動してマップが更新されるため、常に新しい状態のマップが表示されます。

新しいマップを追加した時などには最初に/dynmap fullrenderを実行する必要があります。

導入方法

Dynmapには前提プラグインなどは必要ありません。

SpigotMCなどからプラグインをダウンロードして設定を行ってください。

導入後はhttp://サーバーのアドレス:8123/にアクセスするとマップが表示されます。

コマンド

< >は必須、[ ]はオプションの引数です。

Dynmapは/dynmap/dmarker/dmapの3つのコマンドで操作します。

まずは/dynmap系のコマンドから。

コマンドパーミッション説明
/dynmap hidedynmap.hide.self自分をマップ上から非表示にします
/dynmap hide <プレイヤー名>dynmap.hide.others指定したプレイヤーをマップ上から非表示にします
/dynmap showdynmap.show.self自分の非表示状態を解除します
/dynmap show <プレイヤー名>dynmap.show.others指定したプレイヤーの非表示状態を解除します
/dynmap renderdynmap.render自分が立っている場所をレンダリングします
/dynmap fullrender [世界名]dynmap.fullrender指定した世界全体をレンダリングします
マップ種類を指定する事も可能(例: world:surface)
コンソールから実行する場合は世界名必須
/dynmap radiusrender [<世界名> <x> <z>] <半径> [マップ名]dynmap.radiusrender指定した座標を中心に指定した半径分レンダリングします
座標を省略した場合は自分を中心にレンダリング
マップ名(例: surface)を指定することでそのマップのみレンダリング
/dynmap updaterender [<世界名> <x> <z>] [マップ名]dynmap.updaterender指定した座標を起点に更新が必要なタイルをレンダリングします
座標を省略した場合は自分を起点にレンダリング
マップ名(例: surface)を指定することでそのマップのみレンダリング
/dynmap cancelrender [世界名]dynmap.cancelrender指定した世界で実行されているレンダリングを停止
/dynmap purgequeue [世界名]dynmap.purgequeue指定した世界の更新キューを削除します
/dynmap purgemap <世界名> <マップ名>dynmap.purgemap指定したマップの画像データを削除します
/dynmap purgeworld <世界名>dynmap.purgeworld指定した世界のすべての画像データを削除します
/dynmap pause [all/none/full/update]dynmap.pauseレンダリングのポーズ状態を確認/変更します
/dynmap statsdynmap.statsレンダリングの統計情報を確認します
/dynmap triggerstatsdynmap.statsレンダリングトリガーの統計情報を確認します
/dynmap resetstatsdynmap.resetstatsレンダリングの統計情報をリセットします
/dynmap quietdynmap.quiet実行中のレンダリングの進捗メッセージを停止します
/dynmap sendtoweb <メッセージ>dynmap.sendtowebWeb画面にメッセージを送信します
/dynmap ids-for-ip <IPアドレス>dynmap.ids-for-ip指定したIPアドレスのプレイヤーを確認します
/dynmap ips-for-id <プレイヤー名>dynmap.ips-for-id指定したプレイヤーのIPアドレスを確認します
/dynmap add-id-for-ip <プレイヤー名> <IPアドレス>dynmap.add-id-for-ipIPアドレスとプレイヤー名の紐づけを追加します
/dynmap del-id-for-ip <プレイヤー名> <IPアドレス>dynmap.del-id-for-ipIPアドレスとプレイヤー名の紐づけを削除します
/dynmap webregister <プレイヤー名>dynmap.webregisterWebログインアカウントの登録プロセスを開始します

/dmarkerはマーカーを操作するコマンドです。

コマンドパーミッション説明
/dmarker add [id:<id>] <ラベル> [icon:<アイコン>] [set:<セットID>] [x:<x> y:<y> z:<z> world:<世界名>]dynmap.marker.add指定位置に新しいマーカーを追加します。
位置を指定しない場合は現在地を使用
アイコンやセットを指定するとそれが使用されます
/dmarker movehere <ラベル/id:<id>>dynmap.marker.movehere指定したマーカーを現在地まで移動させます
/dmarker update <ラベル/id:<id>> [icon:<アイコン>] [newlabel:<ラベル>]dynmap.marker.updateマーカーを更新します
/dmarker delete <ラベル/id:<id>>dynmap.marker.deleteマーカーを削除します
/dmarker list [set:<セットID>]dynmap.marker.listマーカーの一覧を表示します
/dmarker iconsdynmap.marker.iconsアイコンの一覧を表示します
/dmarker addset [id:<id>] <ラベル> [hide:<true/false>] [prio:<優先度>] [minzoom:<最小ズーム>]dynmap.marker.addset新しいセットを追加
IDを指定しなかった場合はラベルがIDになる
/dmarker updateset <ラベル/id:<id>> [newlabel:<ラベル>] [hide:<true/false>] [prio:<優先度>] [minzoom:<最小ズーム>]dynmap.marker.updatesetセットを更新します
/dmarker deleteset <ラベル/id:<id>>dynmap.marker.deletesetセットを削除します
/dmarker listsetsdynmap.marker.listsetsセットの一覧を表示します
/dmarker addicon id:<id> <ラベル> file:"<ファイル名>"dynmap.marker.addiconアイコンを追加します
ファイル名はサーバーのディレクトリを基準に処理され、ファイルはコピーされます
/dmarker updateicon <ラベル/id:<id>> newlabel:<ラベル> file:"<ファイル名>"dynmap.marker.updateiconアイコンを更新します
/dmarker deleteicon <ラベル/id:<id>>dynmap.marker.deleteareaアイコンを削除します
/dmarker addcorner [<x> <z> <世界名>]dynmap.marker.addarea指定した位置をコーナーリストに追加します
/dmarker clearcornersdynmap.marker.addareaコーナーリストをクリアします
/dmarker addarea [id:<id>] <ラベル>dynmap.marker.addarea現在のコーナーリストの内容でエリアを作成します
/dmarker deletearea <ラベル/id:<id>>dynmap.marker.deletearea指定したエリアを削除します
/dmarker listareas <ラベル/id:<id>>dynmap.marker.listareasエリアのリストを表示します
/dmarker updatearea <ラベル/id:<id>> [引数:値 ...]dynmap.marker.updatearea指定したエリアの属性を更新します。指定できる属性は以下の通り
  • color: 外線の色、RRGGBBで指定
  • opacity: 外線の透明度、0.0~1.0、1.0で不透明
  • weight: 外線の太さ、0が最小
  • fillcolor: 内側の塗り、RRGGBBで指定
  • fillopacity: 内側の透明度、0.0~1.0、1.0で不透明
  • ytop: 領域の上側のY座標、デフォルトは64
  • ybottom: 領域の上側のY座標、デフォルトは64
/dmarker addline [id:<id>] <ラベル>dynmap.marker.addline現在のコーナーリストの内容でラインを作成します
/dmarker deleteline <ラベル/id:<id>>dynmap.marker.deleteline指定したラインを削除します
/dmarker listlinesdynmap.marker.listlinesリストの一覧を表示します
/dmarker updateline <ラベル/id:<id>> [引数:値 ...]dynmap.marker.updateline指定したラインの属性を更新します。指定できる属性は以下の通り
  • color: 外線の色、RRGGBBで指定
  • opacity: 外線の透明度、0.0~1.0、1.0で不透明
  • weight: 外線の太さ、0が最小
/dmarker addcircle [id:<id>] <ラベル> radius:<半径> [x:<x> y:<y> z:<z> world:<世界名>]dynmap.marker.addcircle指定した半径で円を作成します
/dmarker deletecircle <ラベル/id:<id>>dynmap.marker.deletecircle指定した円を削除します
/dmarker listcirclesdynmap.marker.listcircles円の一覧を表示します
/dmarker updatecircle <ラベル/id:<id>> [引数:値 ...]dynmap.marker.updatecircle指定した円の属性を更新します。指定できる属性は以下の通り
  • world: 世界
  • x: 中心のX座標
  • y: 中心のY座標
  • z: 中心のZ座標
  • radius: 半径
  • radiusx: X軸上の半径
  • radiusz: Z軸上の半径
  • color: 外線の色、RRGGBBで指定
  • opacity: 外線の透明度、0.0~1.0、1.0で不透明
  • weight: 外線の太さ、0が最小
  • fillcolor: 内側の塗り、RRGGBBで指定
  • fillopacity: 内側の透明度、0.0~1.0、1.0で不透明
/dmarker getdesc <ラベル/id:<id>> type:<icon/area/circle/line>dynmap.marker.getdesc指定したマーカーの説明を取得します
/dmarker resetdesc <ラベル/id:<id>> type:<icon/area/circle/line>dynmap.marker.resetdesc指定したマーカーの説明を削除します
/dmarker appenddesc <ラベル/id:<id>> type:<icon/area/circle/line> desc:"<テキスト>"dynmap.marker.appenddesc指定したマーカーの説明を追加します
/dmarker importdesc <ラベル/id:<id>> type:<icon/area/circle/line> file<ファイル名>dynmap.marker.importdesc指定したマーカーの説明をインポートします
/dmarker importlabel <ラベル/id:<id>> type:<icon/area/circle/line> file<ファイル名>dynmap.marker.importlabel指定したラベルをインポートします
/dmarker getlabel id:<id> type:<icon/area/circle/line>dynmap.marker.getlabel指定したラベルのIDを取得します

/dmapはマップを操作するコマンドです。

コマンドパーミッション説明
/dmap worldlistdynmap.dmap.worldlistDynmapが認識しているすべてのワールドを表示
/dmap worldset <世界名> <引数>:<値>dynmap.dmap.worldset指定した世界の属性を変更。指定できる属性は以下の通り
  • enabled: 有効無効の切り替え。true/falseで指定
  • center: 中心位置の設定。xyz/here/defaultで指定
  • extrazoomout: 追加のズームアウト率。数値指定
  • title: タイトルを設定
  • sendposition: sendpositionを設定。true/falseで指定
  • sendhealth: sendhealthを設定。true/falseで指定
  • order: Web上での並び順を変更。数値指定
/dmap worldreset <世界名> [テンプレート名]dynmap.dmap.worldreset指定した世界の設定をテンプレート設定にリセット
/dmap maplist <世界名>不明指定した世界のすべてのマップを表示
/dmap mapdelete <世界名>:<マップ名>dynmap.dmap.mapdelete指定した世界のマップを削除
/dmap mapadd <世界名>:<マップ名> [引数:値 ...]dynmap.dmap.mapadd指定した属性でマップを追加。指定できる属性はmapsetと同じ
/dmap mapset <世界名>:<マップ名> <引数>:<値>dynmap.dmap.mapset指定したマップの属性を変更。指定できる属性は以下の通り
  • order: Web上での並び順を変更。数値指定
  • prefix: ファイル名のプレフィックス
  • title: タイトルを設定
  • icon: アイコンファイルを設定
    ファイル名はwebpathディレクトリからの相対パス
  • mapzoomin: ズームインレベルを設定
  • perspective: パースペクティブを設定
  • shader: シェーダーを設定
  • lighting: 照明を設定
  • img-format: 画像フォーマットを指定
    (png、jpg、jpg-q90など)
/dmap perspectivelistdynmap.dmap.perspectivelist定義されているすべてのパースペクティブを一覧表示する
/dmap shaderlistdynmap.dmap.shaderlist定義されているすべてのシェーダーを一覧表示する
/dmap lightinglistdynmap.dmap.lightinglist定義されているすべての照明を一覧表示

パーミッション

コマンド以外のパーミッションには以下の物があります。

パーミッション説明
dynmap.*すべてのパーミッションを一括設定
dynmap.marker.sign看板を使用したマーカーの作成を許可
dynmap.webchatWebからのチャットを許可(ログインかid-by-ipが必要)
dynmap.playermarkers.seeall設定でprotected-player-infoがtrueの場合にプレイヤーの位置を見られる
dynmap.world.<世界名>世界が保護対象に設定されている場合に世界のマップを閲覧できる
dynmap.map.<世界名>.<マップ名>マップが保護対象に設定されている場合にマップを閲覧できる

設定

Dynmapはデフォルトのままでも問題なく使えますが、細かく設定することも可能です。

いくつかの設定ファイルがあるのですが、基本的に使用するのはconfiguration.txtのみで、他は更なるカスタマイズを施したい時に使用します。

その他いくつかの設定なども解説しておきます。

セットの追加

Dynmapはマップ上にマーカーやラインを追加できます。(/dmarkerコマンドを参照)

これらの機能を利用して施設などをマップ上からわかるようにすると利便性は向上しますが、その一方で無造作に追加するとマップが見づらくなってしまいます。

そこで、マーカーにセットを設定してマーカーを種類ごとに表示/非表示の切り替えをできるようにすると良いでしょう。
/bukkit/plugin/dynmap/001.png

セットの追加は/dmarker addset <ラベル> [id:<id>]で可能です。ラベルとはWeb上で表示される名前、idはコマンドなどで指定する際の名前です。

(idは省略可能ですが、ラベルに日本語を使う場合は設定しておいた方がいいでしょう。省略した場合はラベル名がそのままidになります)

たとえば、ラベル「駅」、id「station」のセットを追加するには/dmarker addset 駅 id:stationと指定します。

このセットにmarkerを追加するには、各種コマンドでset:<id>を指定します。

たとえば、/dmarker add id:station-1 主要駅 icon:minecart set:stationのように

追加したセットに大量のマーカーが登録され、そのままだと見づらいのでデフォルトで非表示にしたいときはupdatesethide:trueを追加します。

/dmarker updateset id:station hide:trueのように使います。ちなみに、hide:falseを指定するとデフォルトで表示(元の状態)に戻せます。

ラベル名を変更する際もupdatesetで可能です。削除して再登録だと登録済みのマーカーが消えてしまいますが、名前変更であれば登録済みのマーカーも維持されます。

たとえば駅から鉄道に変更するには/dmarker updateset id:station newlabel:鉄道のように使います。

セットの削除はdeletesetです。/dmarker deleteset id:stationのように使います。

セットの一覧は/dmarker listsetsで表示できます。

Caveなどの削除

デフォルトで用意されているCaveマップは地中が見えるマップです。
/bukkit/plugin/dynmap/002.png

しかし、地中が見えてもメリットがないので消したいとか、難易度が狂うので消したいという人も居るでしょう。

Caveマップの削除はコマンドで簡単にできます。

  1. /dynmap pause all
  2. /dynmap purgemap <マップ名> cave
  3. /dmap mapdelete <マップ名>:cave
  4. /dynmap pause none

pauseでマップの更新を止めてからでないとpurgemapやmapdeleteはできません。

たとえば、worldのcaveを削除するには次のようにコマンドを実行します。

  1. /dynmap pause all
  2. /dynmap purgemap world cave
  3. /dmap mapdelete world:cave
  4. /dynmap pause none

Cave以外も同様の手法で削除できます。

保存場所の移動

たとえば、MinecraftサーバーをSSDで動かしており、書き込みを減らす(寿命を延ばす)ためにDynmapのデータはHDDに移動したいなどの場合にはいくつかの方法があります。

1つめはストレージにSQLiteを使用してdbfileを変更する例です。

storage:
  type: sqlite
  dbfile: "../../../hdd/dynmap.db"

dbfile../を利用して上のディレクトリに移動することが可能なため、これでHDDをマウントしたディレクトリにファイルを移動できます。

しかし、この方法は恐らく開発者が想定したような使い方ではないでしょうし、とくにメリットもないのに保存方法をSQLiteに変更する必要があります。

個人的に無難でオススメなのはシンボリックリンクを使う方法です。

mv -v /minecraft/plugins/dynmap/web/tiles /hdd/tiles
ln -sv /hdd/tiles /minecraft/plugins/dynmap/web/tiles

dynmap側の設定変更などは不要です。strageはfiletreeのままで構いません。

storage:
  type: filetree

このようにすることで、dynmap側には元の位置にファイルがあると見せかけたまま、実際にはHDD上に保存する。という事が可能です。

ちなみに、mvとlnでは引数の順番が逆なので気を付けましょう。

URLの変更、HTTPS化

DynmapそのものにはURLを変更する機能もHTTPSで提供する機能もありません。

そのため、DynmapでURLを変更したりHTTPS化したい場合にはnginxやApacheなどのWebサーバーを用意してリバースプロキシという機能を使う必要があります。

これに関しては解説すると長くなるので、ここでは実際の設定例を掲載しておくだけにします。

これはnginxでの例です。

server {
	listen 80;
	listen [::]:80;

	server_name example.com;

	location ^~ /dynmap/ {
		proxy_pass http://Minecraftサーバーのアドレス:8123/;
	}
}

Apacheでの例。

<VirtualHost *:80>
        ServerName example.com;
        ProxyPass /dynmap/ http://Minecraftサーバーのアドレス:8123/
        ProxyPassReverse /dynmap/ http://Minecraftサーバーのアドレス:8123/
</VirtualHost>

これらの設定でhttp://サイトアドレス/dynmap/にアクセスすることでDynmapが表示されるようになります。

configuration.txt

設定の種類が多いため、ここでは日本語化した設定ファイルを掲載しておきます。

# 画質の設定、テンプレート設定はtemplatesディレクトリにある
# 設定できる値は以下の通り
# vlowres: 超低解像度(2 ppb)
# lowres: 低解像度(4 ppb)
# hires: 高解像度(16 ppb)
# low_boost_hi: 低解像度(4 ppb)と高解像度(16 ppb)を組み合わせて使う
# hi_boost_vhi: 高解像度(16 ppb)と超高解像度(32 ppb)を組み合わせて使う
# hi_boost_xhi: 高解像度(16 ppb)と超々高解像度(64 ppb)を組み合わせて使う
# ppb=おそらくpixel per blockの意味だと思われる。
deftemplatesuffix: hires

# 保存方法の指定
# filetree: ファイルに保存
# sqlite: 単一の(巨大な)sqliteファイルとして保存
# mysql: mysqlに保存
storage:
  # 種類の指定
  type: filetree
  # SQLiteの場合はdbfileで保存先指定
  #type: sqlite
  #dbfile: dynmap.db
  # MySQLの場合は接続情報などが必要
  #type: mysql
  #hostname: localhost
  #port: 3306
  #database: dynmap
  #userid: dynmap
  #password: dynmap
  #prefix: ""
  #flags: "?allowReconnect=true"

components:
  - class: org.dynmap.ClientConfigurationComponent

  - class: org.dynmap.InternalClientUpdateComponent
    sendhealth: true
    sendposition: true
    allowwebchat: true
    webchat-interval: 5
    hidewebchatip: false
    trustclientname: false
    includehiddenplayers: false
    # オプション: trueの場合、プレイヤーの表示名のカラーコードが使用される
    use-name-colors: false
    # オプション: trueの場合、IPが一致するとプレーヤーのログインIDがWebチャットに使用される
    use-player-login-ip: true
    # オプション: use-player-login-ipがtrueの場合にこれをtrueに設定すると、既知のプレーヤーのIPと一致しないチャットメッセージが無視される。
    require-player-login-ip: false
    # オプション: チャットを禁止されているユーザーのログインIDをブロック
    block-banned-player-chat: true
    # Webからサーバーへのチャットにログインが必要か
    webchat-requires-login: false
    # trueの場合Webチャットにdynmap.webchatパーミッションが必要になる
    webchat-permissions: false
    # 単一のチャットメッセージの長さを制限
    chatlengthlimit: 256
  #  # オプション: 暗所や地下に居るときにプレイヤーを隠す
  #  hideifshadow: 4
  #  # オプション: プレイヤーが隠れている場合に非表示になる(明るさレベルで判定)
  #  hideifundercover: 14
    # オプション: trueの場合スニーク中のユーザーが非表示になる
    hideifsneaking: false
    # trueの場合、プレイヤーの位置や状態が保護される(dynmap.playermarkers.seeallを持つIDでログインしないと非表示になる)
    protected-player-info: false
    # trueの場合、不可視ポーションを使っているユーザーを非表示にする
    hide-if-invisiblity-potion: true
    # trueの場合、プレイヤー名がマップ、チャット、リストに表示されなくなる
    hidenames: false
  #- class: org.dynmap.JsonFileClientUpdateComponent
  #  writeinterval: 1
  #  sendhealth: true
  #  sendposition: true
  #  allowwebchat: true
  #  webchat-interval: 5
  #  hidewebchatip: false
  #  includehiddenplayers: false
  #  use-name-colors: false
  #  use-player-login-ip: false
  #  require-player-login-ip: false
  #  block-banned-player-chat: true
  #  hideifshadow: 0
  #  hideifundercover: 0
  #  hideifsneaking: false
  #  # Webからサーバーへのチャットにログインが必要か
  #  webchat-requires-login: false
  #  # trueの場合Webチャットにdynmap.webchatパーミッションが必要になる
  #  webchat-permissions: false
  #  # 単一のチャットメッセージの長さを制限
  #  chatlengthlimit: 256
  #  hide-if-invisiblity-potion: true
  #  hidenames: false

  - class: org.dynmap.SimpleWebChatComponent
    allowchat: true
    # trueの場合、Web UIユーザーは "playername"パラメーターを使用してチャットの名前を指定できるようになる。
    # "trustclientname"もtrueに設定する必要がある。
    allowurlname: false

  # この設定はdmarkerやAPIなどに必要
  - class: org.dynmap.MarkersComponent
    type: markers
    showlabel: false
    enablesigns: false
    # 看板で追加したマーカーのデフォルトセット
    default-sign-set: markers
    # オプション: スポーンポイントマーカーを表示する設定
    showspawn: true
    spawnicon: world
    spawnlabel: "Spawn"
    # オプション: ログアウト後のプレイヤーを一定時間表示する設定
    showofflineplayers: false
    offlinelabel: "Offline"
    offlineicon: offlineuser
    offlinehidebydefault: true
    offlineminzoom: 0
    maxofflinetime: 30
    # オプション: プレイヤーのベッドを表示する設定
    showspawnbeds: false
    spawnbedlabel: "Spawn Beds"
    spawnbedicon: bed
    spawnbedhidebydefault: true
    spawnbedminzoom: 0
    spawnbedformat: "%name%'s bed"
    # オプション: バニラのボーダーを表示するか
    showworldborder: true

  チャット関係の設定
  - class: org.dynmap.ClientComponent
    type: chat
    allowurlname: false
  # チャットバルーンの設定
  - class: org.dynmap.ClientComponent
    type: chatballoon
    focuschatballoons: false
  # チャットボックスの設定
  - class: org.dynmap.ClientComponent
    type: chatbox
    showplayerfaces: true
    messagettl: 5
    # オプション: スクロール可能なメッセージ履歴の行数を設定。
    #scrollback: 100
    # オプション: チャットボックスに表示される最大行数
    #visiblelines: 10
    # オプション: プッシュボタンを送信
    sendbutton: false
  # プレイヤーマーカーの設定
  - class: org.dynmap.ClientComponent
    type: playermarkers
    showplayerfaces: true
    showplayerhealth: true
    # trueの場合プレイヤーの体も表示、showplayerfacesがtrueの時だけ有効
    showplayerbody: false
    # プレイヤーの顔を小さくする設定、showplayerhealthとの併用不可
    smallplayerfaces: false
    # オプション: デフォルトでプレイヤーのレイヤーを非表示にする
    hidebydefault: false
    # オプション: レイヤーメニューでの優先順位
    layerprio: 0
    # プレイヤーレイヤーのラベル名
    label: "Players"

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

  # 時刻表示
  - class: org.dynmap.ClientComponent
    type: timeofdayclock
    showdigitalclock: true
    showweather: true
  # マウスの位置に座標を表示する設定
  - class: org.dynmap.ClientComponent
    type: coord
    label: "Location"
    hidey: false
    show-mcr: false

  # 画像を表示する設定、複数定義できる
  #- class: org.dynmap.ClientComponent
  #  type: logo
  #  text: "Dynmap"
  #  #logourl: "images/block_surface.png"
  #  linkurl: "http://forums.bukkit.org/threads/dynmap.489/"
  #  # top-left(左上), top-right(右上), bottom-left(左下), bottom-right(右下)が使える
  #  position: bottom-right

  # ページを開いたまま放置されている時に別の画面にリダイレクトしたりする設定
  #- class: org.dynmap.ClientComponent
  #  type: inactive
  #  timeout: 1800 # 秒単位
  #  redirecturl: inactive.html
  #  #showmessage: 'You were inactive for too long.'

  #- class: org.dynmap.TestComponent
  #  stuff: "This is some configuration-value"

# hiddenplayers.txtをプレイヤーがマップに表示されるようにするためのホワイトリストとして扱うか
display-whitelist: false

# タイルがレンダリングされる頻度(秒単位)
renderinterval: 1

# 更新キューにあるタイルが指定値を上回るとレンダリング間隔を早める
renderacceleratethreshold: 60

# 更新キューがrenderacceleratethresholdを超えた際のレンダリング速度
renderaccelerateinterval: 0.2

# いちどに動作するタイルアップデートの数(設定していない場合、デフォルトはコア数の半分)
tiles-rendered-at-once: 2

# trueの場合、スレッドのレンダリングを普通の優先度で行う
# これは負荷の高いWindowsでレンダリングが追い付かなくなるのを防ぐ機能
# (LinuxのJVMはスレッドの優先度をほとんど無視する)
usenormalthreadpriority: true

# 保留中のレンダリングを保存して復元するか
# シャットダウン時やリロード時に保留中の作業が失われるのを防ぐ
saverestorepending: true

# ジョブ実行中のクラッシュから回復するのための定期的な保存を行う間隔(秒単位)
save-pending-period: 900

# タイル更新をスキャンしてズームアウトタイルに処理する頻度(秒単位)
zoomoutperiod: 30

# ズームアウトタイルを起動時に検証するかの設定
# ズームアウト処理が中断された場合に必要となることがあるが、マップが大きいと負荷が上がる
initial-zoomout-validate: true

# 更新されたタイルを処理する際の遅延(秒単位)
# これにより、ピストンや採掘場、自動化などにより頻繁に更新されるタイルの再レンダリングを減らすことができる
tileupdatedelay: 30

# タイルハッシュを利用するか
# タイルハッシュは変更が行われていない場合に更新を最小限に抑えるために使われる。
enabletilehash: true

# オプション: 鉱石を隠す
#hideores: true

# オプション: 草と雪のブロックの側面のBetterGrassスタイルのレンダリングを有効にするか
#better-grass: true

# オプション: スムースライティングを使用するか
smooth-lighting: true

# オプション: ワールドプロバイダのライティングテーブルを使用するか(カスタムの照明があるマップなどに適している)
use-brightness-table: true

# オプション: ブロックのレンダリングに他のブロックを使用
# 特定のブロックを隠したり、サポートされていないブロックをとりあえずレンダリングしたりするために使用
block-id-alias:
#    "14": 1
#    "15": 1
#    "16": 1

# デフォルトの画像フォーマット(png, jpg, jpg-q75, jpg-q80, jpg-q85, jpg-q90, jpg-q95, jpg-q100)
image-format: png

# trueの場合生産されたテスクチャを使用、falseの場合水や溶岩が静的になる
use-generated-textures: true
# trueの場合正しい水の照明を利用、falseは古い水の照明
correct-water-lighting: true
# trueの場合葉っぱが透過する
transparent-leaves: true

# trueの場合、テクスチャパックのConnected Texture Mod(CTM)が有効になります
ctm-support: true
# trueの場合、テクスチャパックのカスタムカラーが有効になります
custom-colors-support: true

# プレイヤーの顔画像の取得を設定、falseならスキンが取得されない
#fetchskins: false

# ロードされた画像の更新を制御
# 顔画像が他のソフトウェアや手動で管理されている時用
#refreshskins: false

# スキン画像を取得するためのURL
skin-url: "http://skins.minecraft.net/MinecraftSkins/%player%.png"

# どの動作でレンダリングを行うか
render-triggers:
  #- playermove
  #- playerjoin
  - blockplaced
  - blockbreak
  - leavesdecay
  - blockburn
  - chunkgenerated
  - blockformed
  - blockfaded
  - blockspread
  - pistonmoved
  - explosion
  #- blockfromto
  #- blockphysics
  - structuregrow
  - blockgrow
  #- blockredstone

# Webページのタイトル
#webpage-title: "My Awesome Server Map"

# 画像ファイルのディレクトリ
tilespath: web/tiles

# Webファイルのディレクトリ
webpath: web

# /dynmapexpコマンドでエクスポートするディレクトリ
exportpath: export

# 内部Webサーバーのバインドアドレス
#webserver-bindaddress: 0.0.0.0

# 内部WebサーバーのTCPポート
webserver-port: 8123

# 内部Webサーバーの最大同時接続数
max-sessions: 30

# 内部Webサーバーを無効にする、上級者向け
disable-webserver: false

# シンボリックリンクを許可するか
allow-symlinks: true

# ログイン機能を使用可能にするか
login-enabled: false
# マップを閲覧するためにログインを必要にする
login-required: false

# fullrenderのレンダリング間隔(秒単位)
timesliceinterval: 0.0

# 1tickあたりのチャンクロード数
# これを90未満にするとレンダリングのパフォーマンスに影響があるが、サーバーの負荷も軽減される
maxchunkspertick: 200

# fullrenderやradiusrenderの進捗報告、100以上でなければならない
progressloginterval: 100

# 設定するとfullrenderやradiusrenderを並列で実行する
# 注意: 設定するとCPUやメモリの使用量が増える。システムの物理コア数以上に設定する場合は注意が必要
#parallelrendercnt: 4

# ブラウザが更新をポーリングする間隔
updaterate: 2000

# 0以外の値にすると指定したプレイヤー数を上回った時にfullrenderやradiusrenderを一時停止する
fullrenderplayerlimit: 0
# 0以外の値にすると指定したプレイヤー数を上回った時に更新処理を一時停止する
updateplayerlimit: 0
# 1チック当たりのサーバースレッドの使用制限(ミリ秒単位)
per-tick-time-limit: 50
# TPSが指定した値を下回ると更新処理を一時停止
update-min-tps: 18.0
# TPSが指定した値を下回るとfullrenderやradiusrenderを一時停止
fullrender-min-tps: 18.0
# TPSが指定した値を下回るとズームアウト処理を一時停止
zoomout-min-tps: 18.0

# メニューにプレイヤーの顔画像を表示するか
showplayerfacesinmenu: true

# 現在のマップで隠れているプレイヤーをグレーアウトするか
grayplayerswhenhidden: true

# プレイヤーを権限でソートする
player-sort-permission-nodes:
  - bukkit.command.op

# サイドバーの設定
# サイドバーを永続的に開いたままにするには"true"を、デフォルトで固定するが解除を許可するには"pinned"を指定
#sidebaropened: true

# レスポンスヘッダの追加(内部Webサーバーのみ)
#http-response-headers:
#    Access-Control-Allow-Origin: "my-domain.com"
#    X-Custom-Header-Of-Mine: "MyHeaderValue"

# X-Forwarded-Forを提供するために信頼されているプロキシのIPアドレス
trusted-proxies:
  - "127.0.0.1"
  - "0:0:0:0:0:0:0:1"

# プレイヤーログイン/ログアウト時のWebメッセージフォーマット
# 空文字にすると無効になる
joinmessage: "%playername% joined"
quitmessage: "%playername% quit"

spammessage: "You may only chat once every %interval% seconds."
# Webからのメッセージのフォーマット
webmsgformat: "&color;2[WEB] %playername%: &color;f%message%"

# レイヤコントロールをUIに表示するかどうか
showlayercontrol: true

# banned-ips.txtを使用して禁止IPのチェックを有効にする(内部Webサーバーのみ)
check-banned-ips: true

# ページが表示された時のデフォルトを設定
defaultzoom: 0
defaultworld: world
defaultmap: flat
# (オプション) 可能であれば、プレイヤーをフォローしているときにズームレベルとマップを切り替える
#followzoom: 3
#followmap: surface

# trueにするとプレイヤーのログイン時に使用されたIPアドレスの記録を永続的に作成し、Webでのプレイヤーとのマッチングを行う
persist-ids-by-ip: true

# trueにするとテキストがキリル文字にマップされる。
cyrillic-support: false

# trueにすると座標が丸められる
round-coordinates: true

# メッセージのカスタマイズ
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の設定
# プロキシ下など特殊な環境で必要がある時のみ調整
url:
    #configuration: "up/configuration"
    #update: "up/world/{world}/{timestamp}"
    #sendmessage: "up/sendmessage"
    #login: "up/login"
    #register: "up/register"
    #tiles: "tiles/"
    #markers: "tiles/"

# カスタマイズコマンド、特定のイベントの前後にスクリプトを実行できるようにする
custom-commands:
    image-updates:
        # 画像が書き込まれる前に実行されるコマンド
        preupdatecommand: ""
        # 画像が書き込まれた後に実行されるコマンド
        postupdatecommand: ""
        # どちらも引数としてファイル名が渡される

# チャンクスナップショットのキャッシュサイズ
snapshotcachesize: 500
# キャッシュをSoftReference(true)で保持するか、WeakReference(false)で保持するか
soft-ref-cache: true

# 詳細な起動メッセージ。有効にするにはtrueを指定
verbose: false

# デバッグの設定
#debuggers:
#  - class: org.dynmap.debug.LogDebugger
# Debug: dump blocks missing render data
dump-missing-blocks: false