アクセス状況

  • 0
  • 7
  • 19
  • 14,178

カウント開始:2014年9月21日
カウンター+75,945が開設当初からの訪問者数


since 2014/9/21

マイクラ管理者に出来ること・できないこと

サーバの運用をする上で、他のサーバがどのような運営をしているか参考にすることは多々あるんだけど、「これってどう実現してるんだろう?」って感じる運営をしているサーバが偶にあります。 当然、プレイヤーさんのサポートを充実した方が参加者が楽しくプレイできる訳ですが、とは言えできないこともあります。特に営利目的でサーバ管理をやっている訳じゃ無いから、どこまで自分の生活を削ってやるのか?なんてのも悩むポイントになりますね。

少なくとも私の場合は「出来ないことはやらない」というのが一つのポリシーなので、そういう所でプレイヤーさんから批判を受けることもあります。 まぁ後々になってから「ごめんなさい」をするより、初めから「出来ませんごめんなさい」って言っておいた方が、私もプレイヤーさんも後々困らないので、初めから「出来ないことはやらない」というスタイルで運営してます。

特に、これからサーバ管理者になる人、サーバ管理者に対して疑問を感じてる人は参考にしては如何でしょうか?

24時間サポートはできない

仕事や学校に行ってる時間は当然できませんし、勤めて無くても寝てたり外出してたりとかありますからね。旅行とかで数日間留守にすることもあります。

サブ管理者を立ててある程度は対処は可能ですね。サブ管理者というのは聞こえはいいですが、結構難しい問題が沢山あります。

その人をどう信用するのか。 どこまで権限を付与するか。 運営ポリシーをどうやって共有するか。(管理者としての対応にバラツキを出しちゃまずいので) お願いする人・したくない人の線引き。断るときはどう断るのか。 着任・退任の判断。 そもそも何をさせるのか。

個人的に、サーバ管理者はとても楽しい遊びのスタイルだと思います。だから、サブ管理者というのはある意味「軽い責任でサーバ管理者を楽しめる」手段かもしれないですね。 ただ、リアルの知り合いでは無い人に対し、ある程度の権限を与えなければならないので、選任基準は厳密にしておかないと危険だと思います。 また、後述の通り、サーバ管理者にとって負荷のかかる部分は、サブ管理者に任せるのはとても難しいです。逆にそういう所を任せないのであれば、単純に管理の負担が増えるだけで意味がありません。 また、着任・退任の方法も難しくて、あまり任せたくない人が「サブ管理者やらせて!」と言うことも多いです。また、旨く管理者が出来てない場合や、来なくなった場合にどう退任させるかというのも悩まなければなりませんね。

まぁ、そんな感じなので私の場合は「サブ管理者」はお願いすることは考えてません。将来的にサーバの運営スタイルの一つとしてお願いする可能性があるかもしれませんが、そもそも「私の出来ないことはやらない」ポリシーだから、基本的に必要では無い感じですね。

プレイヤーさんのModを知ることはできない

何を入れてるかはわかりません。Forgeサーバであれば、Forgeクライアントの情報はわかります。これはどういうことかというと、以下の事を一発で特定することはできないと言うことです。

チートModの検出 透過テクスチャなどの検出

基本的にFly・高速移動・鉱石探知などは、その行動パターンから疑いを掛けて、後はストーキングするとかしか無いですね。不正Modの調査と言いつつも透明化してプレイヤーさんを小一時間ストーキングするなんて調査もざらにあります。

ちなみにバグ利用はログで発見できることがあります。

サーバ・プラグイン・Modを改造することは難しい

これには、以下の条件があります。

サーバ管理者に技術があること。 プラグインやModの元となるソースプログラムが配布されていること。

マイクラはJavaというプログラミング言語で作成されているので、Java言語を知ってるならある程度触れますが、Java言語はその特性上、プログラムを作成する環境作りの難易度が高いです。また、知ってたとしても、マイクラ独自の「プログラミングのルール」があるので、それを勉強しなければならないので、それもまた難しいことです。

ましてや、世の中のITのプロフェッショナルで、サーバ(機器など)の管理ができて、プログラミングができて、プレイヤーさんと旨くコミュニケーションができるスーパサイヤ人はほとんど居ません。

他のサーバでプログラムの専門家やサーバの専門家など分業で運営してるサーバもありましたね。まぁ、そういう恵まれた環境ってのも少ないです。

また、私はプラグインの改造(主に動かない場合に直すだけ)はしますが、これをやるにしても元々のプログラムソースファイルが配布されていなければできません。これ自体は配布されてなければゼロから作るしか無いので、実質無ければどうにもならないです。ましてや、プラグインではなくサーバ本体に手をつけるのは非常に厳しいですね。

ちなみに「ゲームプログラミング」というのはプログラミング業界の中ではかなり難易度の高い分野です。ちょっとなおしたり、新しいプラグインを開発するのはものすごい時間の掛かることなので、サーバ管理者をやりながら開発するのもこれまた困難なことですね。

BANは大変

BANはとても大変です。何が大変かは後述の通りですが、できることなら「自動的にBAN」すると非常に管理の負担が減りますね。

本人からの反発が多い 「何故BANなの?」というのに答えなければなりません。 ある意味当然のことで、悪いことをしたとは言え、数十時間というプレイ時間を一瞬で奪うので、こういう反発は多いです。適当にあしらうと炎上なんてことにもなりかねませんからね。 他のプレイヤーからの反発が多い 概して「仲の良いグループ」と「そうでないグループ」というのができますが、不満は「そうでないグループ」からきます。それでBANすれば「仲の良いグループ」から不満がでますので、そこからも説明が求められることが多いです。場合によってはグループごと他サーバに移住することもあるので、サーバを盛り上げたい場合は慎重に説明しなければなりません。 希に親からの反発も・・・ 後述してますが、マイクラの年齢層は意外と低いので、BANするとその親から質問が来ることもあります。 曖昧なBANルール MCBansというツールがありますが、これはBANルールがはっきりしてるので、これに準じるといいでしょう。ただし、運営する上ではこれでは不完全です。特に一番扱いが難しいのは「マナー違反」系の問題ですね。 「迷惑を掛けない」とか曖昧なルールは主幹の相違が起きるので、それに伴う反発も発生しやすいです。 証拠の確保 MCBansで反発が発生した場合は証拠が必要になります。基本的に管理者はログインしていない時間が多いので、証拠が不十分になりがちです。ログはあくまで機械的な部分しか取れないので、細かい表現などをログから知るのは骨の折れる作業です。 明らかな違反行為(破壊とか)で無い場合の証拠の確保は非常に大変で、私の場合でも、BANの確認だけで、2,3時間掛けるのはザラにあります。 その他

探せばいっぱい「出来ないこと」はありますが、書き殴ってみると以下の様な感じ

ワールドデータの改変は困難。 「ワールド内のアイテムデータを一斉変換」とか「ワールド内のニワトリを全部殺す」とかは実はほとんどできません。 そういうツールもありますが、変換作業に数時間かかる上に、データ構造を理解してちゃんと変換しないとワールドデータが壊れるので、技術的にも困難です。(例えばチェストを削除する場合は中身のデータも削除が必要だとか) プレイヤーデータの改変は困難。 ログインしてる人のデータ改変は比較的楽ですが、データ異常でログイン出来なくなった場合の修正は難しいです。 なので、プレイヤーデータをこまめにバックアップして、簡単に巻き戻せるようにしておいた方が楽ですね。
若年者の管理が大変 マイクラの年齢層は案外?若年層が多いです。マルチプレイヤーの1/3くらいは小中学生みたいですね。 詳しくは書きませんが、若い人ほどルールの順守率は落ちるので、そこは気にして置いた方がいいでしょう。

Forge1.8(クライアント)とBungeeCord

BungeeCordを入れてる環境にマイクラ1.8+Forgeを入れたクライアントで繋げると、こんなのが出ちゃいます。BungeeCordのバグらしい?(情報ソース) 今の所の最新版(#1021)でダメです。

BungeeCordはかなり細かくパケットを見てるようなので、ちょっとした違いでログイン不可になりますね。

12/2 訂正:Forgeのバグらしい?ちょっと微妙

Mincraft(Spigot)1.8対応状況

現在サーバに導入しているプラグインが1.8に対応しているか調べてます。タイトルに書いてなかったけど、Spigotなので追記しておきました。動作が○でも、後で不具合が見つかる場合もあるので、参考程度です。

公式で対応有無の記載関わらず、実際に動かしてみた結果です。 起動、動作が×でも対応版有無が○でちゃんと動いたら1.8OK欄は○にしてます。 調査に使用したバージョンは表示してませんが、まぁだいたい最新か、古くても1.7.10サーバで動いている物を利用しています。 とりあえず、2014/11/30時点での調査状況です。 12/02、12/06 赤字の所をちょっと更新 12/14 一応更新しました.この記事の更新はこれで最後にしておきます。なので、記載内容はこの時点での最新情報です.

12/06追記 ChestShopやTNTRunなどの看板の文字を読み取る系のプラグインは、看板文字の内部データが変化してるようで、ソレが原因で動かないみたいです。(今まではどうだったかわからないけど)

看板の文字を読み取って動くプラグインはこの辺を厳密にチェックしているので、これを不正な文字と判断してるようです。だから、ServerSignsみたいに看板系でも看板の文字を読まないプラグインはこの影響を受けないっぽい。

とりあえず、ソースをGetしてChestShopSign.javaのisValidPreparedSign関数の所、看板の内容を一行毎にチェックしているコードがあるので、その辺に以下の内容を加えてリコンパイルすれば動くようです ※改造は自己責任でw

lines[i] = Pattern.compile(“§r”).matcher(lines[i]).replaceAll(“”); lines[i] = Pattern.compile(“§0”).matcher(lines[i]).replaceAll(“”);

12/06追記その2 :確認出来ている不具合

二段の高さの花が壊れる(1.8自体の不具合) Alicorn Avalon 起動 動作 対応版有無 1.8OK 備考 AntiCreeper ○ ○ ○ ○ – ○ AntiWither ○ ○ ○ ○ – ○ BVotifier – ○ ○ ? – ? Forge+bungeeが動かないので未確認 BlockHat ○ […]

SkyBlocks

SkyBlockの導入が出来ないか検証してみた。 どうしてこうマルチサーバ前提に作られていないのか・・・

  ワールド 前提 報償 他ワールドと インベ分割 JoeSkyBlock v1.0.4 自動生成 (自作も可) 有り (必須では無い) 無し 出来る uSkyBlock v.0.9.6 自動生成 無し 有り 出来ない Mini-SkyBlock v0.2 今居るワールドに作る 無し 有り 出来ない askyblock V2.5 自動生成 無し 有り 出来ない IslandWorld v4.5 事前に生成 有り 有り 出来ない

 

Joe's SkyBlock

非常にシンプル。報償は無いが、SkyBlockへの参加・戻り時のインベントリの棲み分けがちゃんと出来てる。 flyやEnderChestの使用禁止、土地の保護も出来てる。 死んだときにSkyBlockと非SkyBlockのインベントリが逆転してしまうバグがあるのが致命的。

uSkyBlock

SkyBlock […]

プラグインResidence

プラグイン:Residence_v2.6.6.6.jar サーバ:spigot-1.7.10-R0.1-SNAPSHOT_1641.jar

ResidenceはTownyのような町作り系のプラグインですが、Townyよりシンプルかな。結局使わなかったので、簡単にご紹介だけ。

使い勝手的にはWorldGuard(region)の逆という感じ。

どういうことかというと、regionは保護されてない土地に対して範囲を指定して保護するプラグインだけど、Residenceは保護されている土地に対して自分が使いたい土地を範囲で取得する感じです。なので、regionとTownyのいいところを両方持ち合わせている感じですね。

regionと同じ感じで細かく範囲を指定できる(Townyはチャンクだけ。Residenceはチャンクを範囲で指定もできるし、特定の立方体範囲もできる) しかも、WorldEditCUIにも対応してるみたい。 初期状態でワールドでの建築を拒否にしておけば、事実上荒らしの被害を受けない。(許可しない限り他者に建築を許可しないし、範囲を指定しないと自分自身も建築できないから)。この辺はTownyのメリットと同じ。

シンプルさではTownyよりも使い易いんだけど、必ず初めに範囲指定しないと建築できない煩わしさはTownyと同じで、管理者としては気にしなければならないポイントですね。デフォルトでワールド建築許可にしたらregionと何も変わらないし。

regionよりも安全に、且つTownyほど複雑にしたくないなら、間違えなくこれを選択した方がいいです。

ぬるぽ(エラーとの付き合い方)

∧_∧ ( ´∀`)< ぬるぽ

( ・∀・) | | ガッ と ) | | Y /ノ 人 / ) < >__Λ∩ _/し’ //. V`Д´)/ (_フ彡 /

マイクラサーバを運用する上で欠かせないのがプラグインやModだと思いますが、旨く動かないことも多いので、これらとどう付き合って行くかがマイクラサーバ運用の肝の一つだと思います。 本当はプラグインのソースまで読めればベストなのですが、さすがにそこまでは厳しいという人も多いと思いますので、エラーメッセージの読み方についてつぶやいてみます。

とても難しい内容だと思ってますが、サーバの管理をするなら避けては通れない道だと思うので、がんばって理解してみて下さい。

Javaとマイクラ

まず、マイクラサーバの仕組みを紐解いてみます。マイクラサーバはJavaで動いてます。なので、Javaとマイクラサーバがどのように関連しているかを知ることが大切です。 ※このイメージが出来てないと、エラーログの意味がわからないので。

JavaはSun マイクロシステムズが・・・そんなことはどうでもいいや。一言でJavaと言いますが、プログラム言語、実行環境、開発キットを示す場合があります。なので、言葉の意味について整理してみましょう。

Java言語・・・プログラムを開発する為のプログラム言語。 Java実行環境(Java Runtime Environment/JRE) Java開発キット(Java Development Kit/JDK)

なにそれ?って感じですが、プログラム言語については多くを語る必要は無いと思うので割愛します。 JDKに当たる物は別にJava特有では無く、Java以外の言語にもあるので珍しい物ではありません。要するにプログラム開発者向けのパッケージです。ただ、Javaの場合、開発者だけでなく使用者へ求められる場合も希にあります。JDKには(たしか)JREも含まれてるので、JDKがあればJREは不要だったはずです。(おぼろげ)

重要なのはJREです。 マイクラを代表とするJavaプログラムは、Windowsだけでなく、Unix/LinuxやMacでも動きます。本来これはOSの仕事でありつつも非常に難しいことで、Windowsが登場する以前は、ハードウェア毎にソフトウェアが売ってたくらい難しいことです(例えばNECパソコン用のゲームとか) OSが進化することで、このようなハードウェアの違いをOSが緩和してくれてますが、やはりWindows専用ソフト、Mac専用ソフトが登場しています。 Javaは、そういったOSの違いを緩和してくれることを主軸に作られたプログラム言語なんですが、そのOSの違いを緩和する仕組みとしてJVM(Java仮想マシン)というのが存在してます。そういうJavaプログラムを実行する環境がJREです。

だからそれが何か?と思われるので、マイクラなどを含めたJavaプログラムの実行環境を絵面にするとこんな感じになる訳です。 JDKはJREなどを含めた開発者向け便利ツールで、本来的には実行そのものに影響する物では無いので、ここでは省略します。

前述で、OSはハードウェアの違いを無くし、JavaはOSの違いを無くすと書きましたが、要するに、プログラムとハードウェアの間に立ってお互いの翻訳してるだけです。これと同様に、マイクラサーバにはプラグインを導入できませんが、これはBukkitやSpigotが間に立ってやり取りをしてくれているからなんです。

JREが重要というより、この構造が後述でもとても重要な意味を持ってくるので、ざっくり理解しておいて下さい。

そもそもエラーって何? […]

サーバを考える

滅多に書かない鯖管のつぶやき二回目です。 今回はマイクラサーバを建てる上でのハードウエアをどう考えるかについてつぶやいてみようと思います。

お金がジャブジャブにあればお金を掛けてリッチなサーバを建てればいいんですが、そうも行きません。限られたお金を使って必要最低限のリソース(CPU、メモリ、ディスク、電気、etc…)を買う必要があります。 ってことで、マイクラサーバを建てる場合の考え方を書いてみようと思います。

[…]

マルチサーバ化

マインクラフトをマルチサーバ運営する方法について語ってみたいと思います。

マルチサーバと言っても、マルチワールドやマルチができるサーバのことではありません。マインクラフトサーバ(bukkitやspigotなども同様)を複数起動して運営することです。単一の物理サーバに複数のマインクラフトを立ち上げる事もあるし、物理サーバを分けて運営することもできます。物理サーバを分けた場合は、データ連係をどうするかが多少面倒になりますね。

そもそもなんでマルチサーバ運営を考える必要があるのか?

負荷分散。PvPサーバ運営者が気にする点かな。 複数管理者連携。 バニラサーバとModサーバ運用←私はこれ その他(ログイン人数を合算させたりなど、見た目上一つにしたいとか)

ちなみにかなり面倒なので、心して掛かった方がいいです。 以下、考えなければならないことと、実現方法です。

ベースシステム

サーバを束ねるには、親となるシステムを構築する必要があります。マインクラフトクライアントからはそこにログインし、そこから適切なサーバへ振り分けられます。

マインクラフトサーバ bukkit…プラグインが豊富なサーバ。広く使われてるので情報が多く扱いやすい。 spigot…bukkit互換の軽量サーバ。後述のcauldron、BungeeCordとの親和性が高い。 forge…Modサーバを作るためのフレームワーク。Modの前提となっている場合が多い。また、クライアント側にもModが必要となるので、参加者側のハードルが上がる。当然、bukkitプラグインなどは使えない。 cauldron…spigot+forge。以前はMCPCという名称だった。 マルチサーバ管理 BungeeCord…複数のマイクラサーバを連動させることができる。見た目上はバニラでは無いサーバに見えてしまいますが、ログイン先がバニラならバニラで入れます。サーバ間移動も相手がオフラインだったり、前提Modが必要だったりする場合は移動しないよう制御をしてくれます。

BungeeCordの説明は過去に書いてるのでそっちを見て下さい。 単純に入れればマルチサーバ化できる訳では無く、前提がいろいろあるので注意が必要です。

データ連動

サーバが違うとデータも別扱いです。お金、経験値、アイテムなどです。 ちなみに同じデータファイルを複数のサーバで共有した場合、競合が発生して高い確率でデータが壊れるか、書き込みができなくなります。なので、通常のデータ連係はデータベースを使わなければなりません。

幸いにもbukkit系のプラグインはデータベースに対応しているものが多いので、それを使っていきましょう。データベースの種類はSQLiteかMySQLがほとんどです。 MySQLの方がサーバを建てなければならないなど難易度が高いですが、使い方を覚えてしまえば連携のしやすさはこっちが容易です。 SQLiteはサーバが必要無い為、使用するのは容易ですが、サーバが無い分、マルチサーバからアクセスするのが難しいです。っていうかそもそもどういうやり方がいいのか想像付きません。

私の管理しているサーバでは以下の連動ができることを確認してます。それ以外もできるかもしれませんが、未検証です。

お金 CraftConommyを使ってます。元々Essentialsを使ってましたが、これはDBに対応してませんね。CraftConommyはDBに対応してるし、Essentialsのお金データをインポートできるので楽です(他の経済プラグインも対応してます)。 なお、変換の際にプレイヤー名にハイフンかアンダーバーが使われてると勝手に変換される(どちらかというとEssential側の仕様)ので、注意して下さい。 mcMMO、Jobs これらもDBに対応しており、複数サーバから同時にアクセスできます。私のサーバはJobsを連携してませんが、これはゲーム性の観点でしてないだけで、技術的にはできます。

注意しなければならないのは、例えばTownyの様なプラグインはデータ連係できますが、サーバ間データ連動ができないので問題が起きます。例えばサーバ二カ所でTownyを起動した場合、税金は二重課金されます。さらにお金が連動できていなければ片側のサーバでお金不足になる事もあります。

HarkEyeなども連動できそうですが、怖いのでやってません。

念のため補足しておきますが、DB連動できたとしてもお互いのトランザクション処理がちゃんとできているかは別問題です。上記のレベルであれば今の所問題は起きてません。

機能連携

ゲームでの機能連携ですが、だいたい以下の方法でできます。詳しくは過去のコンテンツを見て下さい。

Dynmap Dynmap-MultiServerを使う事で連動できます。 投票 BVotifierでできます。Votifierと連動もできます。 チャット CloudChatというツールでできます。私は使いたいと思ってますがまだ使ってません。ローマ字変換とか無いので。 サーバ間ゲート TeleportSignsでできます。他にもHomeコマンド連動とかできるのも有るみたい。 運用

マルチサーバを運用する上でいくつか気になることもあると思います。思いつく限り書き連ねてみようと思います。

ロビーとなるサーバは安定させるべき 単体でロビーサーバがあるのがベターですが、Modサーバなど安定しないサーバがある場合、ログインできなかった場合の待避サーバが設定できますので、そこにロビーサーバなどの安定したサーバを指定すべきです。そうすることで一カ所のサーバが死んでもプレイヤーは別のサーバで遊ぶことができます。 BungeeCordの扱いが難しい これが止まるとどのサーバにも入れません。また、管理者コマンドが少ないので、何かあったときに自由がきかないでやむを得ず再起動しなければならなくなる曲面も多いです。 ワールド名は同一にしない。 同じ名前のワールドがあるとおかしな動きをする物があります。特にデフォでworldという名前が使われているので、ここがネックになる場合があります(server.propertiesで変えられます) サーバ同士の連動性 例えばMySQLのDBサーバを建てた場合、マインクラフトサーバを上げたまま、DBサーバを止めてはダメです。ちゃんと、 […]

BVotifier

BVotifier_v1.0.7.jar

Japan Minecraft Serversなどの外部サイトで投票してもらってそのお返しにアイテムを渡したりできますが、仕組み的にはVotifierなどのプラグインで受信し、その情報をSimpleVoteListenerなどでコマンド化してます。

BungeeCordでマルチサーバ化してる場合は、何もしなければ当然どれか一つのサーバでしか投票を受信できません(サーバ分だけ投票サイトに登録すれば別だけど)

それを一回の投票情報を複数のサーバに分散できるのがこのBVotifierです。BVotifierはBungeeCordのプラグインとして動作します。 既にVotifier運用しているなら導入は比較的楽です。何故ならこのプラグインはBVotifier→Votifierという連動をするので、Votifierも必要になるからです。 導入方法も簡単で、BVotifierをBungeeCordとマインクラフトサーバのpluginsディレクトリに置くだけです。Votifier側の設定はいじらないで連動してくれます。(※マインクラフトサーバ側は、Votifier.jarを消して、BVotifier.jarを有効にするが正解かも)

ただし、ポート情報はバッティングしてはならないので、適当にずらして下さい。

設定は本当にこれだけ。なお、ログインしてないと投票してるように見えないですが、ログインすれば投票したことがわかります。

Dynmap-MultiServer

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を有効にした場合によくあるんですが、マップ上のプレイヤーの所在がよくわからなくなることがあります。未だに原因はよくわからないんですけどね。 […]