一般的な理由
– MOD/プラグインが多すぎる。
– サーバーの RAM が不足している。
– サーバーから遠すぎる。
– Minecraft の古いバージョンを使用している。
– ワールド内のエンティティ/アイテムが多すぎる。
ラグの種類
– サーバー側のラグ(TPSラグ)
– 接続ラグ(高レイテンシ/ping)
– クライアント側のラグ(FPSラグ)
サーバーラグ
・サーバーのRAMが不足しています
RAMはMinecraftサーバーの生命線です。
プレイヤー/エンティティ/プラグイン/MOD/チャンクのデータを保存するために使用されます。
充分なRAMがない場合、サーバーのJVMは対応するために多くの作業 (ガベージ コレクション) を実行する必要があり、Minecraftサーバーでラグが発生します。
MinecraftにはRAM使用量を確認する組み込みメソッドはありませんが、Essentialsプラグインをインストールし/memory
コマンドを使用することで RAM使用量を確認できます。
The End "world_the_end": 625 chunks, 18 entities, 0 tiles.
Nether "world_nether": 0 chunks, 0 entities, 0 tiles.
World "world": 625 chunks, 215 entities, 14 tiles.
Free memory: 1,715 MB.
Allocated memory: 1,963 MB.
Maximum memory: 1,963 MB.
Current TPS = 20
Uptime: 20 Hours
今はFree memoryの出力を確認する必要があります。
他の出力についてはチュートリアルの後半で説明します。
Free memoryの量が100MB未満の場合、サーバーのRAMが不足していることが原因でラグが発生している可能性が高くなります。
サーバーTPSラグ
TPSはticks per secondsの略です。
TPSはMinecraftサーバーのパフォーマンスと安定性を測定するために使用され、最大 20.00TPSです。各tickでサーバーが更新されます。
例としては「モブやプレイヤーの動き、作物の栽培、レッドストーン信号の送信」などがあります。
サーバーが20TPSで動作している場合、サーバーが1秒間に20回更新されることを意味します。
RAM使用量の確認に使用したのと同じ/memory
コマンドを使用して、サーバーのTPSを確認できます。
または、Spigotを実行している場合は、Essentialsプラグインをインストールせずに/tps
コマンドを使用できます。
サーバーが最適な速度で動作するには、サーバーのTPSが19 ~ 20程度である必要があります。
サーバー ラグの修正ビュー距離を短くする
デフォルトでは、Minecraftサーバーはビュー距離10で実行されます。
ビュー距離を6に変更することをお勧めします。
これにより、プレイヤーには目立った違いはありませんがサーバーのパフォーマンスが大幅に向上します。
自動再起動のセットアップ
自動再起動を設定すると、サーバーのRAM使用量が解放されサーバーの実行がスムーズになります。
また、小さなメモリリークがあるプラグインやMODによって使用されるRAMを再利用することもできます。
最新バージョンを実行する
サーバーでは、最新バージョンのMinecraft、プラグイン、およびMODを使用することをお勧めします。
ソフトウェアの最新バージョンのほとんどには、バグ修正とパフォーマンスの改善が含まれておりサーバーの実行速度と安定性が向上します。
Spigotを使用する
サーバーで CraftbukkitまたはVanilla Minecraftを実行している場合は、サーバーのJARをSpigotに変更するだけで、多くのパフォーマンスの改善とバグ修正のメリットを享受できます。
SpigotはCraftbukkit上に構築されており、すべてのBukkitプラグインは変更を加えることなくSpigotで動作します。
不要なMODとプラグインを削除する
使用されていないプラグインとMODをサーバー上に置くと、プラグインとMODが使用されていない場合でもサーバーのリソースが消費されます。
サーバーから不要なMODとプラグインを削除することをお勧めします。
現在は使用していないプラグインがある場合は、プラグイン.jar
ファイルの名前を.disable
で終わるように変更することでプラグインを無効にすることができます。
例Essentials.jar.disable
プラグイン名から.disable
を削除すると、プラグインを再度有効にすることができます。
ClearLaggプラグインを使用する
ClearLaggには、サーバーのラグを減らすために使用できる優れた機能が多数付属しています。
また、非常に構成可能でどのサーバーにも推奨されます。
このプラグインを使用してラグを減らすために使用できるコマンドの例をいくつか示します。
/lagg clear
– サーバー上のすべてのエンティティを削除します。
/lagg killmobs
– サーバー上のすべてのモブを削除します。
/lagg chunk
– 遅延の可能性があるチャンクを特定します。
/lagg unloadchunk
– 不要なチャンクをアンロードします。
/lagg gc
– RAM の解放を試みます。
このプラグインの設定ファイルで、サーバーが指定された量のモブ/エンティティに達したら、モブ/エンティティを自動的にクリアするように設定することもできます。
WorldBorderプラグインまたはデフォルトのMinecraft境界を使用するWorldBorderプラグインを使用して、
ワールドサイズを制限し、ワールドのチャンクを事前に生成できます。
これにより、プレイヤーがアクセスしようとしたときにサーバーが新しいチャンクを生成する必要がなくなるため、サーバーのパフォーマンスが向上します。
これは、ワールドを適切なサイズに保ちたい場合にも便利です。
デフォルトのMinecraft境界を使用することもできます。
接続遅延
レイテンシ、またはpingはコンピュータからのパケットがサーバーに到達するまでにかかる時間です。
サーバーの場所から遠すぎる場合は、レイテンシが高くなりコンピュータからのパケットがサーバーに到達するまでに時間がかかります。たとえば、サーバーにブロックを配置した場合、実際にブロックをサーバーに配置するのに1秒かかることがあります。
また、プレイヤーにぶつかった場合はダメージが登録されるまでに1秒かかることがあります。
これは、Minecraftクライアントがすべてのアクションをサーバーに送信する必要があり、サーバーがこれらのアクションを確認してクライアントや他のプレイヤーに返信する必要があるためです。
コンピューターでコマンド プロンプト/ターミナルを開き、オペレーティング システムに応じて以下のコマンドを使用するとサーバーへのレイテンシ/pingを確認できます。
重要:ポート番号を含めないでください。サーバーのIPアドレスのみを入力してください。
Windows: Mac/Linux: Ping コマンドは数秒間実行され、完了するとサーバーへの平均pingが表示されます。
ping -n 5 <server_ip>
ping -c 5 <server_ip>
高速レイテンシ:0-100ms
中程度のレイテンシ:100-200ms
低速レイテンシ:200-300ms
遅延レイテンシ:300+ms
クライアントのFPSラグ
FPSラグはクライアントによって発生しますが、FPSとサーバーによって発生するラグを区別するのは難しい場合があります。
そして、ほとんどの場合両方が原因です。
たとえば、1000 個のエンティティがある世界がある場合、サーバーはエンティティを反復処理する必要がありこれを毎秒ティックごとに実行するので、サーバーの TPS は低下します。
また、クライアントのFPSは、すべてのエンティティをレンダリングして維持する必要があるため低下します。
サーバーでプレイ中にキーボードのF3キーを押すと、左上に FPS が表示されます。
スムーズなゲームプレイのためには、サーバー内を歩き回っているときに少なくとも30FPSが必要です。
クライアントの FPS ラグの修正にはOptifine MODを使用する
Optifine MODには多くの設定可能な機能が付属しており、誰にでもお勧めです。
しかし、最も重要なのは、Optifine Mod により、プレーヤーがより高い FTP とよりスムーズなゲーム プレイを実現できることです。
ビデオ設定を下げる
Minecraft クライアントで次のビデオ設定を使用してみてください。
クライアントの [オプション] -> [ビデオ設定] に移動して、ビデオ設定を調整できます。
グラフィック:高速
スムーズ 照明:オフ
雲:高速
レンダリング距離: 4-8
VSync の使用:オン
エンティティの影:オフ
パーティクル:最小