Dynmap:Minecraft用3Dオンラインマッププラグインのレビュー
Minecraftサーバー用Dynmapプラグインの詳細なレビュー。アイソメトリック3Dマップのレンダリング、組み込みWebサーバーの設定、互換性とNginxとの統合。
Minecraftサーバー用Dynmapプラグインの詳細なレビュー。アイソメトリック3Dマップのレンダリング、組み込みWebサーバーの設定、互換性とNginxとの統合。
依存関係:
ローダー:Paper / Spigot / Fabric / Forge
Minecraftのバージョン:1.20.x – 1.21.x
マルチプレイヤーのMinecraftでは、プレイヤー間の調整、建物のための空きゾーンの検索、広大な領域にわたるアクティビティの追跡が困難なことがよくあります。基本的なツールは、世界全体をカバーせず、リアルタイムで更新されないローカルの紙の地図しか提供しません。Dynmapユーティリティは、通常のWebブラウザーからアクセスできるゲームの世界のインタラクティブなマップを作成することで、この問題を解決します。Googleマップのような地理情報サービスと同じ原則で機能し、詳細な風景、プレイヤーの位置、プライベートゾーンの境界、ゲームチャットのメッセージを表示します。
レンダリングエンジンの仕組みとタイルの保存
Dynmapの機能の中核には、Minecraftの3Dチャンクデータを2Dグラフィックファイル(タイル)のセットに変換する独自のレンダリングパイプラインがあります。
レンダリングと投影の種類
プラグインは、世界を表示するための3つの主要なオプションをサポートしています:
フラットビュー(Flat):トップダウンビューのクラシックな2Dマップ。生成時のディスク容量とCPUリソースの消費が最も少なくなります。
アイソメトリック3Dビュー(Surface):斜めからの立体的な3D投影で、風景の高さの違い、建物の建築、水域の深さを評価できます。
洞窟ビュー(Cave):地下の空洞や鉱山をレンダリングし、地表下の洞窟構造を表示します。
ファイルの保存とディスクの負荷
生成されたすべてのマップタイルは、標準のPNGまたはJPG画像としてplugins/dynmap/web/tiles/フォルダーに保存されます。プレイヤーによるブロックの変更(建築、破壊、爆発)のたびに、Dynmapは増分更新プロセスを開始します。更新されたチャンクのゾーンに直接入るタイルのみが再描画されます。
サーバーのディスクサブシステムは、世界の初期レンダリング中にかなりの負荷(I/O操作)を受けます。高解像度の場合、大きなマップのタイルを含むフォルダーは数十または数百ギガバイトに達する可能性があり、高速なSSDドライブの使用と世界の境界(WorldBorder)の制限が必要になります。
alt: [スポーンのアイソメトリック3Dビューを表示するブラウザ内のDynmap Webマップインターフェース]
Webサーバーインフラストラクチャ:JettyとNginx
Dynmapは、サーバーの規模と予想される負荷に応じて、Webインターフェースを展開するための2つのスキームを提供します。
組み込みWebサーバーJetty
インストール後、デフォルトでプラグインはポート8123で統合されたJetty Webサーバーを自動的に起動します。このオプションは追加の設定を必要としません。管理者はホスティングでポート8123を開くだけで、マップはhttp://サーバーのIP:8123/で利用可能になります。

外部サーバー(NginxまたはApache)との統合
同時接続数が多いパブリックサーバーの場合、すべてのWebユーザーがゲームサーバーを直接経由してトラフィックを消費するため、組み込みのJettyはJavaゲームプロセスに追加の負荷をかけます。最適化のため、独立したNginxまたはApache Webサーバーを介してタイルの配信を設定することをお勧めします。
この設定では、NginxはMinecraftのゲームプロセスのコアをバイパスして、web/tiles/フォルダーと直接連携するように構成されます。これにはいくつかの重要な利点があります:
ゲームスレッドの保護:ブラウザーのリクエストは別のWebサーバーによって処理されるため、ゲーム内のマイクロフリーズ(TPSの低下)がなくなります。
HTTPS暗号化:安全な接続のための無料のLet's Encrypt SSL証明書を簡単に設定できます。
オフラインでの可用性:風景のWebマップは、Minecraftゲームサーバーの再起動またはシャットダウン中も閲覧可能なままです。
設定構成とレンダリング管理
プラグインの主なパラメーターは、plugins/dynmap/configuration.txtファイルで編集されます。

レンダリングと保存の一般設定
パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| デフォルトのレンダリングテンプレートの品質を決定します( |
|
| マップタイルのストレージの選択。利用可能なオプション: |
|
| 更新キューからタイルをチェックしてレンダリングする間隔(秒)。 |
|
| レンダリング間隔が加速されるまでの更新キュー内のタイル数。 |
|
| キューがしきい値を超えたときの加速されたレンダリング間隔(秒)。 |
|
| 同時にレンダリングされるタイルの数(プロセッサーのコア数の半分に設定することをお勧めします)。 |
|
| レンダリングスレッドの優先度。 |
|
| サーバーのシャットダウン時または再起動時に保留中のレンダリングタスクのキューを保存します。 |
|
| 変更されたブロックのレンダリングを開始する前の遅延(秒)。自動化(レッドストーン、ピストンなど)によるタイルの絶え間ない再描画を防ぎます。 |
|
| タイルハッシュを有効にします。レンダリング後にタイルの画像が変更されていない場合、ディスク上のファイルは上書きされず、ディスクリソースを節約します。 |
|
| マップの生成中に(ゲームのように)スムーズな照明を計算します。 |
|
| タイル画像の形式と品質(デフォルトは90%の品質のJPG)。 |
|
| 静的なテクスチャの代わりに、ゲームで生成されたテクスチャ(クライアントのリソースパックと一致する)を使用します。 |
|
| リソースパックからのConnected Texture Mod(CTM)のサポート。 |
|
| リソースパックからのカスタムのバイオームおよび葉の色のサポート。 |
|
| タイルレンダリングキューを開始するゲームイベント(ブロックの配置/破壊、樹木の成長、爆発)のリスト。 |
Webインフラストラクチャとファイルパス
パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| グラフィックマップファイル(タイル)が保存されるプラグインディレクトリ内のパス。 |
|
| 静的なマップWebファイル(HTML、JS、CSS)へのパス。 |
|
| プラグインの起動時に静的ファイルを自動的に更新します(カスタムWebインターフェースを使用する場合は |
|
| 組み込みのJetty Webサーバーが実行されるTCPポート。 |
|
| 組み込みWebサーバーを無効にします(外部のNginxまたはApache Webサーバー経由でのタイルの提供を設定する際に便利です)。 |
|
| リソースを節約するための組み込みWebサーバー上の同時セッションの最大数。 |
|
| Webサーバーがシンボリックリンク(symlinks)をたどることを許可します。 |
|
| マップを表示したりチャットしたりするためのユーザー認証システムを有効にします。 |
|
| Webマップを表示するためにアカウントのログインを必須にします。 |
|
|
|
Webインターフェースコンポーネントの設定(Webチャット、マーカー、プレイヤー)
パラメーター / クラス | デフォルト値 | 説明 |
|---|---|---|
| コンポーネントクラス | プレイヤーのステータス、チャット、マップの更新に関するデータを送信する役割を担います。注意:外部Webサーバー(Nginx)を使用する場合、このクラスは |
|
| マップ上にプレイヤーの健康状態インジケーターを表示します。 |
|
| マップ上にプレイヤーの正確な位置を表示します。 |
|
| WebインターフェースからMinecraftゲームチャットへのメッセージの送信を許可します。 |
|
| Webチャットのメッセージ間の遅延(秒)(スパム対策)。 |
|
| プレイヤーがスニーク(しゃがみ)している場合、マップからプレイヤーを非表示にします。 |
|
| プレイヤーがスペクテイターモードの場合、マップからプレイヤーを非表示にします。 |
|
| プレイヤーが透明化のポーションの影響下にある場合、マップからプレイヤーを非表示にします。 |
| コンポーネントクラス | マップ上のマーカーレイヤーを管理します。スポーン( |
|
| マップのマーカーにプレイヤーの顔(スキン)を表示します。 |
|
| マップ上のプレイヤーアイコンのすぐ上にヘルスバーを表示します。 |
最適化とCPUパフォーマンスの制限(TPS/MSPT)
パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| フルレンダリング( |
|
| Dynmapがゲームの1ティック(1/20秒)にメモリにロードできるチャンクの最大数。このパラメーターを減らすと、サーバーのラグが減少します。 |
|
| レンダリングスレッドの1ティックあたりの目標時間制限(ミリ秒)。 |
|
| サーバーのTPSがこの値を下回った場合、Dynmapはタイル更新のレンダリングを自動的に一時停止します。 |
|
| サーバーのTPSがこの値を下回った場合、Dynmapはワールドのフルレンダリング( |
|
| ズームアウト(縮小)されたマップレベルの計算を実行することが許可される最小TPS。 |
|
| 風景のスナップショットキャッシュ内のチャンク数。 |
|
| チャンクキャッシュにソフト参照(Soft References)を使用します。OutOfMemoryエラーのリスクがある場合、JVMがマップキャッシュをクリアできるようになります。 |
configuration.txt内の最適化パラメーター
サーバーのパフォーマンスを維持するには、以下の構成ファイル変数に注意する価値があります:
deftemplatesuffix— レンダリング品質のサフィックス。値vlowres(非常に低い品質)またはlowres(低い)にすると、標準のhiresに比べてマップの生成が大幅に高速化し、ファイルサイズを4〜8倍削減できます。tilespath— マップの保存先をサーバーの別のハードドライブにリダイレクトし、メインドライブがいっぱいになるのを防ぐことができます。webserver-port— マップに接続するためのポート(デフォルトの8123の代わり)。
レンダリング管理コマンド
マップの生成は、レベル4のオペレーターによってサーバーコンソールから制御されます:
/dynmap fullrender <ワールド>— 指定されたワールドのフルレンダリングを開始します。チャンクの完全な事前生成(chunk pre-generation)の後、およびオンライン数が少ない期間にのみ実行することをお勧めします。/dynmap radiusrender <半径>— プレイヤーの周囲の特定の半径内のみのマップを更新します。大きな都市を建設した後に便利です。/dynmap cancelrender— CPUが過負荷になった場合、現在進行中のレンダリングプロセスを停止します。/dynmap pause all— すべてのマップの計算を一時的に一時停止し、TPSを安定させるためにリソースを解放します。
結論
Dynmapプラグインは、大規模なMinecraftサーバーでワールドを視覚化し、プレイヤーのインタラクションを向上させるための強力なツールです。アイソメトリック3DレンダリングとWebインターフェースの統合により、マップはプロジェクトの本格的な情報ポータルに変わります。
BlueMap(完全な3D表示に重いWebGLを使用する)やSquaremap(3Dモデルなしの高速な2Dマップのみを提供する)などの代替手段と比較して、Dynmapは機能の最適なバランスを提供します。ただし、ディスク容量の要件が高く、I/Oシステムに常に負荷がかかるため、管理者はワールドの境界と正しい解像度の選択に細心の注意を払う必要があります。このプラグインは、大規模なサバイバル、アナーキー、またはRPワールドのサーバーに最適な選択肢です。
インストール
通常のインストールは約 5 分で完了します。手順は同じで、ローダーと対応するビルドだけが異なります。
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











