【マイクラ】Pterodactylに移行するとサーバーがラグくなる現象

未分類

こんにちは。
実は数日前から、Pterodactylの使用を再度始めました。

過去に使ったことはありますが、すぐやめたことがあります。

ただ、Pterodactylを使った時だけラグが発生する問題がありました。
これについて、いろいろやった結果、クソしょうもないミスだったため…同じ労力を他人にもかけてほしくないという思いでこの記事を書いていきます。

症状

症状としては、Pterodactylを使った時だけ、サーバーのラグが発生する問題がありました。
CPU使用率が100%以上にならず、サーバー起動時やプレイヤー参加時にTPSが下がります。

Dockerやscreenコマンド等で起動したときは、この現象は一切発生しませんでした。
本当にPterodactylを使った時にだけ発生する現象でした。

解決してみる

カスタムイメージを使ってみる

まずは、Javaイメージの問題を疑いました。
Dockerでは機能して、PterodactylのDockerコンテナでは不具合…

そのため、カスタムイメージを使用してサーバーを起動しました。
が、結果は何も変わりませんでした。

Dockerの再インストール

何かDockerに不具合がある可能性を考慮して、再インストールしてみます。
が、やはりだめでした。

Wingsの再インストール

Wingsに原因がある可能性があるため、再インストールしてみました。
が、やはりだめで、全く改善は見られません。

Pterodactylパネルのインストール先変更

実は自分はサーバーを2つ持っていました。
2つめのサーバー(ノード)でサーバーを実行すると、改善が見られました。
(結局気のせいでしたが、改善が見られたと勘違いしていた。)

そのため、Pterodactylパネルがあるサーバーがラグを発生さえているのではと考えました。

そのため試しにGCP上にPterodactylパネルを構築してみました。
それでも結果は同様に、ラグは発生し続けます。

各ソフトウェアのバージョンダウン

OSをUbuntu 22.04から20.04に。
Wingsを1.11.1に。
Pterodactylを1.11.2に。

それぞれ大体2023年1月ごろのものに変更しました。
(Ubuntu 20.04は過去に正常動作を確認しているOS)

それでも解決はしませんでした。

設定や構成を真似る

他の人の設定や構成を真似てみます。
私は他鯖のPterodactylの構成を見て、環境を再現することにしました。

  • Pterodactylバージョン
  • Wingsバージョン
  • サーバー設定

これらの3つを同じ設定にしてどういう挙動になるか試しました。

サーバーの設定も再現し終わって、実際に実行してみたところ…

解決

最後の方法を試したところ、全てが解決しました。
この時点でWingsやPterodactylが問題の可能性は低いと判断しました。

そのためそれらをアップデートして再度サーバーを実行。
それでも正常動作で、恐らくほぼ解決しました。

原因

原因は「CPU Pinning」と呼ばれるオプションです。

CPU Pinning

使用できるCPUコアを指定する機能です。
例えば「0」と指定すれば「1つの」CPUコアを使用できるようにします。
空欄だと制限せず、全てのコアを使用できるようにします。

私は、これを適当に「0」に設定していたのです。
つまり、1コアのみ使えるように制限していたため、CPU使用率は100%で制限されているうえにラグも発生して、非常に動作が重かったのです。

ここを空欄にしたところ、正常に100%以上の使用率を見ることができ、起動時のラグやプレイヤー参加時のラグもなくすことが出来ました。

その時CPU使用率を見たところ、一瞬400%になっていることがわかりました。
つまり、本来は4コア使う処理を1コアで無理やりさせていたことになりますね…

さらに、同じコアで3サーバー稼働させていたため、とんでもなく重かったことでしょう…

最後に

いかがでしたか?

Pterodactylに限らず、移行直後に何らかの不具合がある場合は、設定を良く見直すことをお勧めします。
調子に乗って適当に進めていくと、無駄となり、結局簡単に解決できてしまうってことがあります。
(その逆もあるので、何とも言えないんですがね。)

ただ、MultiCraftというパネルは、使うとラグが発生するらしいという情報はありました。
詳しくは知りませんが、もし使っている人は別のパネルに乗り換えてみてはいかがでしょう!

この記事はここまでです!

では!

コメント

タイトルとURLをコピーしました