Dynmap-MultiServer_0.5.0.jar
マルチワールドではなく、マルチサーバです。BungeeCordなどでマルチサーバ運用をする場合、Dynmapも複数に分かれてしまいます。それを束ねて一つのWebサーバにするのがこれです。
これ自体、何かのプラグインではなく、単体のJavaプログラムとして動作します。(BungeeCordと連携する訳でも無いです)
主立った動かし方は以下の通り。
- ダウンロードして起動する。エラーで落ちるけど、この際にconfig、log、webディレクトリが作られる。
java -jar Dynmap-MultiServer_0.5.0.jar - configをいじる。
- 各サーバのDynmapをJsonFileClientUpdateComponentで動作させる。
「- class: org.dynmap.InternalClientUpdateComponent」って設定とそれ以降の段落?の設定を全てコメントアウトし、「- class: org.dynmap.JsonFileClientUpdateComponent」って設定項目とそれ以降の段落(もともとコメントアウトされてる)を有効にする。
設定変更後にdynmapをリロードすると反映されるが、この段階でdynmapをブラウザで見れなくなります。 - どのサーバのでもいいので、Dynmapの設定ディレクトリ以下のwebディレクトリを、Dynmap-MultiServerのwebディレクトリにコピーする。これは、Dynmap-MultiServer経由でWebを見る際のHTMLやCSSファイルを参照する為だと思います。
なので、webディレクトリ配下のtilesディレクトリ(マップの画像が格納されたものすごくファイルサイズの大きいディレクトリ)のコピーは不要。 - Dynmap-MultiServerを起動させる。UNIX系ならコマンドの最後に&を付けてバックグラウンドで起動してあげればいいです。
java -jar Dynmap-MultiServer_0.5.0.jar &
config/main.ymlの書きっぷりは以下の様な感じ
config/main.yml
Webserver:
IP: 0.0.0.0
Port: 8123
webDir: web/
Title: Dynmap
WorkerThreads: 16
DynMap:
– Folder: /mcserver1/plugins/dynmap/web
UpdateInterval: 4
– Folder: /mcserver2/plugins/dynmap/web
UpdateInterval: 4
気にすべき点はポート番号と「DynMap」以下に各サーバのDynmapディレクトリを書き連ねるというところ。
また、運用する上で気にしなければならない点は以下のところかな。
- 上記の通り、Dynmap-Multiserverを動かすサーバから各Dynmapのディレクトリが見えないとダメです。1台のサーバにマインクラフトサーバを複数建てるなら全然問題無いですが、サーバそのものを分ける場合は、ファイル共有なり、NFSなりでディレクトリを共有しないとダメです。
- Webの画面設定が結構難しいです(設定ファイルが無いので)。webディレクトリをコピーする前に、ある程度設定してしまいましょう。
- 各Dynmapのバージョンを合わせないとダメです。ちょっと苦労したのは、バニラサーバとModサーバとでバージョンが合わなかったこと。これは各Dynmapの「web/standalone/dynmap_config.json」の中の「coreversion」を見てますので、私はここの数字を変更して起動してます。
- Dynmap-Multiserverの起動障害のうち、カレントディレクトリをjarファイルのあるディレクトリにしておかないと起動に失敗することがありました。
- Dynmap-Multiserverを起動すると特定のサーバで存在しないワールドデータを見に行って落ちる事象が起きました。どうやって直したかわすれたけど、確かweb/standalone/dynmap_ワールド名.jsonってファイルが影響してた気がする。
- JsonFileClientUpdateComponentを有効にした場合によくあるんですが、マップ上のプレイヤーの所在がよくわからなくなることがあります。未だに原因はよくわからないんですけどね。
※JsonFileClientUpdateComponentは、そもそもWebサーバ機能をapacheなどの外部サーバに委託する時に使う設定なんですが、apacheでも同様の事象が起きていたので、この問題はDynmap-Multiserver側の問題では無いと思います。
起動したらconfigに設定したポートへブラウザ経由でアクセスすると、全サーバのワールドが混ざって閲覧できるようになります。
同じくbungeecordでサーバーを立てさせてもらっているものです
このサイトや公式ページを参考に構築させていただいてたのですが
multidynmapワールドの更新は順調に行われているようですが肝心のmultidynmapで設定したポートに行ってみると真っ暗でボタン一つ表示されません
最新のdynmapには対応していないのでしょうか?
最近は使ってないからわからないけど、そんなに難しいことはしてないので、バージョンの問題の可能性は低いかなと思います。
※そもそもdynmapもdynmap-multiserverも最近バージョンUpしてないみたいだし。
dynmap-multiServerは設定ファイル類がちょっとでもおかしいとすぐに動かなくなるので、一旦設定を初期状態にして試すのもいいかも。
あるいはボタンも何も出ないのなら、webDirがちゃんと見えてないのかも。
ありがとうございます!
また試してみることにします
マルチサーバーで運営している者です。
私も、bukkit+さんと同じような症状が出ましたが、Dynmap-MultiServerのバージョンが低いことが原因でした。
Dynmap-MultiServer0.5.0なら、問題なく動くと思います。
普通に検索するとDynmap-MultiServer0.4.0が出てくるので気を付けてください。
このプラグインのダウンロードリンクを教えてほしいです