【マイクラ】サーバーが重い・カクつくときに確認するべき事とは?
※Java Edition向け記事です。
マルチプレイ中に「サーバーにラグがある」「カクついてしまう」「勝手に停止してしまう」などの症状があった場合に確認したほうがいい項目をまとめました。ほとんどのラグは必ずこの項目のどれかが原因で発生しているものなので、全ての項目を確認すれば改善できるはず。
ラグが発生する主な原因
ラグが発生する主な原因は以下の3つです。まずは自分のラグがどれに該当しているのか確かめてみてください。
- サーバー
- クライアント(プレイヤーが起動中のマイクラ本体)
- インターネット回線
サーバーが原因の場合、サーバーが1秒当たりに読み込むtick数が少なくなり、「Can't keep up!」というメッセージが出ます。本来1秒で20ティック読み込まれるはずが、10ティックぐらいに下がってしまうと1秒当たり0.5秒の遅延が起きることになります。遅延中にプレイヤーが行動すると、遅延が起きる前の状態に巻き戻されてしまうラグが発生します。これは、サーバーのメモリが不足していたり、サーバー主のPCのCPUの性能が足りない事が原因です。
クライアントが原因の場合、FPS(1秒当たりのフレーム数)が低くなります(FPSはゲーム内でF3キーを押すことで、画面左上に表示されます)。これはクライアント側のPCのスペック不足や、PCへの過負荷が原因です。
インターネット回線が原因の場合、頻繁にサーバーからタイムアウトしたり、TABキーを押したときにプレイヤーの回線状態が赤くなったり、プレイヤーの行動が巻き戻されたりします(サーバーのと同じ症状)。サーバー選択画面で表示されるアンテナが小さい場合は、サーバー主の回線が原因の可能性が高いです。
ラグを減らす方法
クライアントのラグを減らす方法
クライアントのラグを減らすためには、以下の項目をチェックしてみてください。
- PCのスペックがマイクラの推奨スペックを満たしているか→ハードウェア要件 - Minecraft Wiki
- 描画設定が適切かどうか
- 表示するチャンクの距離が遠すぎないか
- 描画設定が「処理優先」になっているか
- Optifineなどの軽量化MODを導入しているか
- 十分なメモリの空き容量があるか
- 起動構成で十分なメモリを割り当てているか
- 使っているJavaのバージョンがサーバー側のJavaと同じバージョンか
- ゲーム内で大量のエンティティやブロックを読み込んでいないか
起動構成はランチャーから開けます。起動構成→「新規作成」or「編集」→「その他のオプション」→「JVMの引数」から、割り当てるメモリを変更することができます。
サーバーのラグを減らす方法
まず、PCのスペックがサーバーの推奨スペックを満たしているか確認してください。マイクラのサーバーに使うPCの推奨スペックは公式Wikiに載っています。↓
Server/Requirements/Dedicated – Official Minecraft Wiki
ハードウェアでラグの原因になりうるのは主に以下の3つです。
- CPU
- メモリ(RAM)
- ストレージの読み書きスピード
次に、サーバーのログを見て「Can't keep up!」が頻発しているようなら、サーバーに割り当てるメモリの量を増やしてみてください。もしメモリに余裕が無い場合は増設するか買い換える必要があるかもしれません。
サーバーに割り当てるメモリの量を変更するには、サーバーの実行ファイル(.bat)の中身をいじる必要があります。
僕が実際に使ってるサーバーの実行ファイルの中身はこんな感じです。↓
java -Xmx2048M -Xms4096M -jar minecraft_server.jar nogui
Xms----M
は、サーバーに割り当てる最小メモリを表しています。この場合、2GBを割り当てていることになります。ほんとはもう少し欲しいんですが、メモリに余裕がないので・・・。
Xmx----M
は、サーバーに割り当てる最大メモリを表しています。XmsはXmxより小さく設定すると無駄なメモリを食わずに済みます。
nogui
は、サーバーを起動するときにサーバーの状態を見れるウィンドウを表示しないようにするためのものです。noguiの方がサーバーへの負荷は軽くなります。
サーバーのラグを減らすためには、十分なメモリを割り当てる他に、CPUに過度に負荷をかけないようにするのも重要です。サーバーの割り当てメモリを増やすとそれだけCPUに負荷をかけることになります。もしもサーバー起動中にCPU使用率が90%を超えていたら(タスクマネージャで見れます)、割り当てメモリを減らしてみてください。もしそれ以上割り当てメモリを減らせない場合は、高度制限を下げるか、(プレイヤーを一箇所に集めたりMobの数を減らすなどして)ゲーム内で処理するデータ量を減らすか、CPUを高性能なものに交換してください。
サーバーを稼動させるときは、システムリソースを監視できるバックエンドを実行するのをオススメします。McMyAdmin 2は英語ですがかなり使いやすいのでおすすめです。
回線のラグを減らす方法
もし無線でネットを繋げている場合は、有線に変えて試してみたり、ルーターとPCの距離が離れていないか、間に障害物が無いかどうか確認してください。大量にデータを送受信することでラグが発生することもあります。