※本記事は2025年1月時点の情報に基づいて執筆されています。内容の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
「サーバーのマップをブラウザでリアルタイムに見たい!」「プレイヤーの位置を確認したい!」そんな願いを叶えるのがDynmapプラグインです。この記事では、初心者でもわかるDynmapの導入から高度な設定まで、すべて解説します。
画像出典:幻黒サーバ
Dynmapとは?Web地図システムの魅力
Dynmapは、MinecraftサーバーのワールドをWebブラウザ上でリアルタイムに表示できるプラグインです。Google Mapsのような操作感で、サーバーの全体マップを確認できます。
主な機能:
- リアルタイムマップ表示 – ワールドの変化を即座に反映
- プレイヤー位置表示 – オンラインプレイヤーの現在位置を確認
- チャット連携 – Web上でゲーム内チャットの閲覧・参加
- マーカー機能 – 重要な場所にピンを立てて共有
- 3Dレンダリング – 立体的な地形表示
画像出典:ドブクラフト
システム要求と事前準備
サーバー要件:
項目 | 最小要件 | 推奨要件 |
---|---|---|
CPU | 2コア以上 | 4コア以上 |
メモリ | 4GB以上 | 8GB以上 |
ストレージ | SSD推奨 | NVMe SSD |
ネットワーク | 100Mbps | 1Gbps |
対応サーバー:
- Spigot/Paper 1.16.5以上
- Bukkit(一部制限あり)
- Forge(MOD版も利用可能)
ステップ1:Dynmapプラグインの導入
1. プラグインのダウンロード
- SpigotMC Dynmapページにアクセス
- 最新版をダウンロード
- サーバーの
plugins
フォルダに配置
2. 初回起動と設定ファイル生成
サーバーを再起動すると、以下のフォルダ構造が生成されます:
plugins/dynmap/
├── configuration.txt # メイン設定ファイル
├── worlds.txt # ワールド個別設定
├── templates/ # HTMLテンプレート
├── web/ # Webファイル
└── export/ # エクスポートデータ
画像出典:CurseForge
ステップ2:基本設定の最適化
plugins/dynmap/configuration.txt
の重要設定項目:
Webサーバー設定
“`yaml # Webサーバーの有効化 webserver-bindaddress: 0.0.0.0 webserver-port: 8123
外部アクセス許可
max-sessions: 30 disable-webserver: false
HTTPS設定(SSL証明書がある場合)
webserver-keystore: keystore.jks webserver-keystorepassword: your_password
<h4>レンダリング設定</h4>
```yaml
# レンダリング品質設定
deftemplatesuffix: hires
renderaccelerateinterval: 0.2
# チャンク処理設定
chunksendrate: 200
maxchunkspertick: 200
# 描画範囲設定
fullrenderlockonstart: true
ステップ3:ワールド設定とマップタイプ
worlds.txt
でワールド個別の設定を行います:
Copyworlds:
- 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
利用可能なマップタイプ:
マップタイプ | 特徴 | 用途 |
---|---|---|
flat | 平面俯瞰図 | 建築物の全体確認 |
surface | 3D立体表示 | 地形の詳細確認 |
cave | 洞窟専用 | 地下構造の把握 |
biome | バイオーム表示 | 環境の分布確認 |
ステップ4:パフォーマンス最適化
Dynmapは重いプラグインのため、適切な最適化が必要です:
レンダリング最適化
“`yaml # 段階的レンダリング設定 update-renders-per-tick: 0.5 tiles-rendered-at-once: 2
プライオリティ設定
renderinterval: 1 renderaccelerateinterval: 0.2
メモリ使用量制限
maxchunkspertick: 100
<h4>ネットワーク最適化</h4>
```yaml
# 更新頻度制限
websocket-send-interval: 1000
jsonfile-interval: 5000
# キャッシュ設定
tilespath: tiles
webpath: web
画像出典:CurseForge
ステップ5:セキュリティとアクセス制御
基本的なセキュリティ設定
“`yaml # IP制限設定 trusted-proxies: – 127.0.0.1 – ::1
ログイン機能の有効化
login-enabled: true login-required: false
プレイヤー情報の表示制限
player-info-protected: true
<h4>権限設定</h4>
```yaml
# 権限グループ設定
web-permissions:
default:
- dynmap.render
- dynmap.show.self
admin:
- dynmap.*
ステップ6:外部Webサーバーとの連携
高負荷環境では、Apache/Nginxとの連携を推奨します:
Nginx設定例
“`nginx server { listen 80; server_name yourdomain.com;
location /dynmap/ {
proxy_pass http://localhost:8123/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_buffering off;
}
# 静的ファイルの直接配信
location /dynmap/tiles/ {
alias /path/to/plugins/dynmap/web/tiles/;
expires 1d;
}
}
<h4>SSL対応設定</h4>
```yaml
# HTTPS強制設定
webserver-port: 8443
trust-client-name: true
append-to-webpath: ""
# Mixed Content対策
webserver-root: dynmap/
ステップ7:マーカーとカスタマイズ
マーカーAPI の活用
“`java // プラグイン内でのマーカー追加例 MarkerAPI markerapi = DynmapAPI.getMarkerAPI(); MarkerSet set = markerapi.createMarkerSet(“myset”, “重要地点”, null, false); set.createMarker(“spawn”, “スポーン地点”, “world”, 0, 64, 0, markerapi.getMarkerIcon(“home”), false); “`
カスタムCSS設定
“`css /* plugins/dynmap/web/css/custom.css */ .dynmap { background-color: #1a1a1a !important; }
.leaflet-popup-content { color: #ffffff; background-color: #333333; }
<h3>高度な設定オプション</h3>
<h4>複数ワールド対応</h4>
```yaml
# ワールド間リンク設定
worlds:
- name: world
title: "オーバーワールド"
- name: world_nether
title: "ネザー"
protected: true
- name: world_the_end
title: "エンド"
bigworld: true
プラグイン連携
“`yaml # 他プラグインとの連携 component: – class: org.dynmap.InternalClientUpdateComponent – class: org.dynmap.ClientUpdateComponent – class: org.dynmap.regions.RegionHandler “`
よくあるトラブルシューティング
Q: マップが真っ白で表示されない A: レンダリングが完了していない可能性があります。/dynmap fullrender world
コマンドでフルレンダリングを実行してください。
Q: プレイヤーの位置が更新されない A: 設定ファイルのshowplayerfacesonmap
がfalseになっている可能性があります。trueに変更してください。
Q: サーバーが重くなった A: renderaccelerateinterval
の値を大きく、maxchunkspertick
の値を小さくして負荷を調整してください。
Q: 外部からアクセスできない A: ファイアウォールで8123ポートが開放されているか確認してください。
パフォーマンス監視とメンテナンス
定期メンテナンス項目:
- キャッシュファイルの定期削除
- 古いタイルデータの整理
- ログファイルのローテーション
- データベースの最適化
監視すべき指標:
Copy# パフォーマンス監視設定
show-TPS: true
block-on-fullrender: false
parallelrendercnt: 4
おすすめのサーバーホスティングサービス
Dynmapを快適に動作させるには、十分なスペックとネットワーク帯域が必要です:
高性能サーバーが必要な場合:
- XServer VPS for Game – ゲーム最適化済み
- ConoHa for GAME – 高速SSD標準装備
コスト重視の場合:
- さくら VPS – 安定したパフォーマンス
- KAGOYA CLOUD VPS – 柔軟なスケーリング
これらのサービスなら、Dynmapのレンダリング処理に必要な計算リソースを十分に提供できます。
まとめ
Dynmapは設定が複雑ですが、一度正しく構築できれば、サーバー管理と楽しさが格段に向上します。特に大規模サーバーや建築サーバーでは必須のプラグインといえるでしょう。
初期設定では軽い負荷から始めて、サーバーの性能に合わせて徐々に高品質設定にアップグレードしていくことをお勧めします。