Dynmap完全ガイド【2026年1月最新版】マインクラフトサーバーをWeb地図で表示する方法

Dynmap完全ガイド【2026年1月最新版】

マインクラフトサーバーをWeb地図で表示する方法

最終更新: 2026年1月1日

※本記事は2026年1月1日時点の公開情報に基づきます。Dynmap / サーバー本体(Paper・Spigot等)/ 依存プラグインは頻繁に更新されます。導入前に必ずバックアップを取り、配布ページの説明・更新履歴・互換情報を確認してください。

Dynmapは、Minecraftサーバーのワールドをブラウザで可視化する定番プラグインです。Google Mapsのような操作感で、地形・建築・(設定次第で)プレイヤーの位置を把握できます。運用を正しく設計すれば、建築サーバーの観光導線づくり、公開サーバーの安全管理、イベント案内の回遊性向上に大きく寄与します。

2026年1月時点では、Dynmapは3.7 beta系が主要配布ラインとして流通しており、配布先(SpigotMC / CurseForge / Modrinth 等)でビルドと対応バージョン表記が更新されます。導入時は必ず「あなたのサーバーのバージョン」と「そのDynmapビルドの対応表記」を突き合わせてください。

Dynmap表示例

画像出典:幻黒サーバ

目次

まずは動画で全体像を掴む(日本語YouTube)

文章の手順に入る前に、導入の流れと「どこで詰まりやすいか」を短時間で把握したい方は、以下の日本語動画が近道です(視聴後に本記事へ戻ると理解が速くなります)。

Dynmapとは?Web地図システムの魅力

Dynmapは「サーバーワールドをタイル画像としてレンダリングし、ブラウザ上で地図として閲覧できるようにする」仕組みです。主要な活用シーンは次の通りです。

  • ワールド全景の把握(新規建築の配置、街づくりの計画、地形の確認)
  • 観光導線の整備(拠点・施設・イベント会場へマーカーで誘導)
  • 運営・管理(荒らし被害の位置確認、危険地帯の共有、巡回)
  • コミュニティ活性(地図リンク共有、イベント告知、観光マップ公開)

機能の多くは設定でON/OFFや権限制御が可能です。

リアルタイムマップ

ブロック更新を反映しながら地図が更新されます(更新頻度は負荷と相談して調整)。

プレイヤー表示

オンラインプレイヤーの位置/向きを表示できます。公開運用では秘匿・匿名化・ログイン必須などの対策が重要です。

マーカー/アイコン

スポーン、駅、村、ショップ、イベント会場などをピンで共有できます。カテゴリごとの表示切替も可能です。

表示モード(平面/等角/洞窟など)

軽量な平面俯瞰から、立体感のある等角投影、地下の可視化など、用途に合わせたマップを用意できます。

Dynmap機能

画像出典:ドブクラフト

システム要求と事前準備

Dynmapは「レンダリング(タイル生成)」と「タイル配信(Web表示)」が重くなりやすいプラグインです。とくに初回フルレンダはCPU/ディスクI/Oを長時間使用します。公開運用・大規模ワールドでは余裕のあるCPUと高速ストレージが効きます。

サーバー要件(開始目安)

項目最小推奨
CPU2コア4コア以上(レンダ速度に直結)
メモリ4GB8GB以上(同接やMOD/プラグイン量で増減)
ストレージSSDNVMe SSD(タイル生成・配信が安定)
ネットワーク100Mbps1Gbps(公開/同時閲覧が多い場合)

対応サーバー(代表例)

Paper / Spigot / Purpur:プラグイン運用の定番。Dynmapの配布もこの系統を中心に提供されます。

Bukkit系:古い派生では互換差が出ることがあります。基本はPaper系を推奨します。

Forge / Fabric:Dynmapの派生(MOD/プラグイン)も流通していますが、同じ「Dynmap」でも配布物が異なる場合があります。導入先(Bukkitプラグインか、Forge/Fabric用か)を取り違えないよう注意してください。

ステップ1:Dynmapの導入(ダウンロード~初回起動)

1 配布ページから取得(最重要:対応バージョン確認)

Dynmapは配布先によりビルド表記や対応表記が異なります。必ず配布ページの「対応Minecraft / 対応サーバー(Paper/Spigot等)」の表記を確認して、サーバーと一致するものを取得してください。

  1. SpigotMC Dynmapページを開く(更新履歴も確認)
  2. 必要に応じて、Version Historyでリリース日を確認
  3. サーバーの plugins フォルダに .jar を配置

2 初回起動とファイル生成

サーバーを起動(または再起動)すると、初回に設定一式が生成されます。基本的に触る頻度が高いのは configuration.txtworlds.txt です。

plugins/dynmap/
├── configuration.txt      # メイン設定
├── worlds.txt             # ワールド個別設定(マップ種類など)
├── templates/             # マップ定義テンプレート
├── web/                   # Web資産(タイル/JS等)
└── export/                # 画像出力(設定により使用)

Dynmap設定構造

画像出典:CurseForge

3 表示確認(まずはローカルでOK)

デフォルトではDynmapの組み込みWebサーバーが有効で、8123 ポートで閲覧できます(変更可能)。

http://サーバーIP:8123/

外部公開する場合は「後述のセキュリティと公開設計」を先に読んでから公開してください(座標・行動ログ等の情報が漏れやすい仕組みのため)。

ステップ2:基本設定(configuration.txtの重要ポイント)

plugins/dynmap/configuration.txt には大量の項目があります。ここでは「最初に触る頻度が高い」代表項目を整理します(細部は公式の設定解説も参照)。

Webサーバー(組み込み)

# 組み込みWebサーバー(最初はこれでOK)
webserver-bindaddress: 0.0.0.0     # 127.0.0.1 にしてリバプロ経由のみ公開も可能
webserver-port: 8123
disable-webserver: false
max-sessions: 50

公開運用の基本:インターネットに直接 8123 を晒すより、後述の「リバースプロキシ+TLS(HTTPS)」で公開する方が安全で運用もしやすいです。

レンダリング(負荷調整の核)

Dynmapの負荷は主に「どれだけの速度でタイル更新を進めるか」に依存します。初期は軽めにし、負荷を計測しながら上げていくのが安全です。

# 負荷調整の開始点(例)
renderinterval: 1
renderaccelerateinterval: 0.25
update-renders-per-tick: 0.5
tiles-rendered-at-once: 2
maxchunkspertick: 120

ワールドが広いほど、初回レンダの総量は増えます。公開サーバーでは「オフピークで」「範囲を区切って」「分割実行」が原則です。

データ保存(SQLite / MySQL など)

Dynmapは地図表示のための情報を保存します。保存方式は運用設計に影響します(例:別サーバーにWebだけ分離したい場合など)。設定の詳細は公式の設定解説を参照してください。

公式:Configuration.txt(設定解説)

ステップ3:ワールド設定(worlds.txt)とマップタイプ

worlds.txt は「どのワールドを」「どの表示モードで」公開するかを決める重要ファイルです。例として、オーバーワールド+ネザー+エンドを有効化し、平面と等角(3D風)を用意する形を示します。

worlds:
  - name: world
    title: "メインワールド"
    enabled: true
    extrazoomout: 3
    maps:
      - class: org.dynmap.hdmap.HDMap
        name: flat
        title: "平面"
        perspective: iso_S_90_lowres
      - class: org.dynmap.hdmap.HDMap
        name: surface
        title: "3D"
        perspective: iso_SE_30_hires
        lighting: shadows
  - name: world_nether
    title: "ネザー"
    enabled: true
  - name: world_the_end
    title: "エンド"
    enabled: true

代表マップタイプ(使い分け)

タイプ特徴用途
flat平面俯瞰・軽量全体把握/建築配置/導線
surface等角投影・立体感地形/建築の見映え重視
cave地下の可視化地下拠点/洞窟の管理
biomeバイオーム色分けバイオーム探索・資源計画

ステップ4:初回レンダ(fullrender)を安全に進める

Dynmap導入後、「地図が真っ白」「一部しか表示されない」原因の多くは「まだレンダが進んでいない」ことです。初回はフルレンダが必要になるケースがあります。

公式コマンド解説:Dynmap Wiki – Commands

基本:フルレンダ

/dynmap fullrender
/dynmap fullrender world
/dynmap fullrender world_nether

実運用では、ワールドが広いほど負荷が大きくなります。プレイヤーが少ない時間帯に実行し、必要ならレンダ速度の設定(前章)を一時的に下げて安定させてください。

おすすめ:分割レンダ(半径指定)

ワールド全域を一気にレンダするのが危険な場合、半径指定などで段階的に進める方法があります(利用可否や詳細はビルド差があるため、コマンド一覧とログ出力を確認してください)。

ステップ5:パフォーマンス最適化(負荷を下げて運用を安定させる)

Dynmapの「重い」は主に次のどれかです。

  • 初回フルレンダが重い(CPU/ディスクI/Oが張り付く)
  • 更新頻度が高すぎる(常時タイル更新してしまう)
  • タイル配信のアクセスが多い(閲覧者が多い、キャッシュが効いていない)

レンダリング調整(まずは軽くして計測)

# 開始点(軽め)→計測で上げる
update-renders-per-tick: 0.5
tiles-rendered-at-once: 1
maxchunkspertick: 100
renderinterval: 2
renderaccelerateinterval: 0.5

「TPSが落ちる」「チャンク生成が詰まる」「ディスクが張り付く」なら、まず上記をさらに下げて挙動を安定させ、レンダはオフピークに回す設計にします。

タイル配信の負荷を下げる(キャッシュ・直配信)

閲覧者が増えるほど「タイル配信」が効いてきます。後述のリバースプロキシ構成で、タイル(静的ファイル)をWebサーバーから直接配信し、Dynmap本体は更新に集中させると安定しやすくなります。

ステップ6:セキュリティとアクセス制御(公開運用の必須項目)

Dynmapは「座標」「行動範囲」「拠点位置」が見えるため、公開設定を誤ると荒らしや晒しの原因になります。公開サーバーではログイン必須・プレイヤー情報の保護・公開範囲の見直しを前提に設計してください。

公式解説:Web UI login support and permissions

基本保護(例)

# 信頼プロキシ(Nginx等の逆プロキシを明示)
trusted-proxies:
  - 127.0.0.1
  - ::1

# ログイン/閲覧制御(運用に合わせて)
login-enabled: true
login-required: false           # 完全非公開/限定公開なら true を検討

# プレイヤー情報の保護(公開運用では重要)
protected-player-info: true

上記のキー名はビルドにより表記差がある場合があります。実際の configuration.txt 内のコメントと公式解説を優先してください。

権限(例)

# Web権限の例(権限プラグインと連動)
web-permissions:
  default:
    - dynmap.show.self
  viewer:
    - dynmap.show.self
    - dynmap.webchat
  admin:
    - dynmap.*

Webチャットなど双方向機能を有効化するほどリスクは増えます。公開運用では「必要な人だけ」に絞るのが安全です。

ステップ7:外部Webサーバー(リバースプロキシ)で安全に公開する

本番運用では、Nginx/Apache等でTLS(HTTPS)終端し、タイル(静的ファイル)を直配信して負荷を軽減する構成が一般的です。公式にも外部Webサーバー運用の考え方が整理されています。

公式解説:External Webserver Basics

Nginx例(/dynmap 配下で公開)

server {
    listen 443 ssl http2;
    server_name example.com;

    # 省略: ssl_certificate / ssl_certificate_key 等(HTTPS化)

    # 静的タイルは直接配信(負荷軽減)
    location /dynmap/tiles/ {
        alias /path/to/plugins/dynmap/web/tiles/;
        access_log off;
        expires 1d;
        add_header Cache-Control "public, max-age=86400";
    }

    # それ以外は組み込みWebへプロキシ
    location /dynmap/ {
        proxy_pass http://127.0.0.1:8123/;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
    }
}

ポイント:組み込みWebは 127.0.0.1 にバインドして外部から直接叩けない状態にし、必ずリバースプロキシ経由で公開するのが安全です。

ステップ8:マーカー運用(見やすい地図にするコツ)

マーカーは便利ですが、増やしすぎると地図が読めなくなります。おすすめは「カテゴリ(マーカーセット)ごとに分けて、表示/非表示を切り替えられる状態」にする運用です。

例:観光用(駅・施設)、運営用(注意地点・建築中)、イベント用(期間限定)などに分割し、不要なカテゴリは普段は非表示にします。

よくあるトラブルシューティング

Q: マップが真っ白で表示されない

A: レンダが未完了か、/dynmap の配信が逆プロキシで遮られている可能性が高いです。まずはオフピークで /dynmap fullrender <world> を実行し、次にNginxの /dynmap/ → 8123 のプロキシ設定(特に末尾のスラッシュ)を再確認してください。コマンド仕様は公式のコマンド解説も参照してください。

Q: プレイヤーの位置が更新されない / 表示されない

A: プライバシー/権限の設定で非表示になっている場合があります。ログイン要否、プレイヤー情報保護、権限プラグイン連携、WebSocket周り(リバプロのUpgrade/Connection)を順に確認してください。

Q: サーバーが重い / チャンク生成が詰まる

A: レンダ設定(maxchunkspertick / tiles-rendered-at-once / update-renders-per-tick)を下げ、フルレンダはオフピークに分割実行します。閲覧者が多い場合はタイル直配信(キャッシュ)を有効にし、Minecraft側の負荷を減らしてください。

Q: 外部アクセスできない

A: 8123/TCP の開放が必要な構成か、そもそもリバプロ経由で公開する設計かを確認してください。ファイアウォール(ufw/iptables等)と、リバプロ設定(特に proxy_set_header Upgrade / Connection)を確認します。

パフォーマンス監視とメンテナンス

定期メンテナンス

  • Dynmap/サーバー本体/依存プラグインの更新前バックアップ
  • フルレンダを行う前後の負荷確認(CPU/ディスクI/O/TPS)
  • タイル配信のキャッシュ設計見直し(閲覧増加時)
  • 権限と公開範囲の棚卸し(公開サーバーでは重要)

おすすめのサーバーホスティングサービス(宣伝枠)

DynmapはCPU/ディスク/帯域に負荷がかかるため、余裕のあるプランを推奨します。料金やキャンペーンは頻繁に変動します。必ず各社の公式料金表で最新料金を確認してください。

目次