この情報は Minecraft 1.16.2 の時点で作成され、1.16.5の時点でメンテナンスされました。
時代と共に必要メモリ量は増える傾向にあります。
また書かれてい内容は目安としてお考え下さい。
まえがき
Java版 Minecraftのサーバーは大きく分けて3種類あります。
種類 | 特徴 |
---|---|
バニラサーバー | 一切の追加要素がないピュアなMinecraftサーバー |
MODサーバー (Forge等) | 追加要素があり、ユーザー側がサーバーに導入されたMODをインストールする必要があるサーバー |
MODサーバー (プラグイン) | Minecraftを拡張する形で追加要素が実装されるサーバーでユーザー側がMOD等を導入する必要がない |
昨今様々なサーバーがありますが、どのサーバーを使うべきかは用途によって異なります。
種類 | 用途 |
---|---|
バニラサーバー | 身内や小規模なサーバー運営 |
MODサーバー (Forge等) | サーバーの規模に関係なくMODをマルチプレイで楽しむ |
MODサーバー (プラグイン) | 小規模なサーバー運営から不特定多数がログインするサーバーまで様々 |
そんな中で今回取り上げるのはMODサーバー (プラグイン) の中でもCraftBukkit/Spigotと呼ばれるプラグインサーバーにします。
何故プラグインサーバーに絞って説明するのか
- 多くのプレイヤーがログインする環境下でよく使われるサーバーがCraftBukkit/Spigotだから
- 多くのプレイヤーがログインする場合にメモリ問題が発生するから
- サーバー運営するならCraftBukkit/Spigotがおすすめだから
前提条件
- WIndowsまたはLinuxでサーバーを動かす
- PCに対する最低限度の知識 (文中の内容が分からなければ最低限に達していません)
CraftBukkit/Spigotとは
詳しくはこちらで解説しています。
本題
結論どの程度メモリを割り当てるべきなのか
長々と読んでいただいてから落としたくないので結論を申し上げますと…
「わからん」
(ごめんなさい)
一概に必要なメモリ量は語れない
様々な原因でメモリが食いつぶされますが、一般的に下記のことが原因でメモリが消費されます。 (たぶん)
- ログインしているプレイヤー
- ロードされているチャンク
- ロードされているプラグイン
- ワールド生成
- MOB
この中でも一番メモリを消費しているのがチャンクだと数年サーバーを動かしていて感じています。
ロードされるチャンクは1箇所にプレイヤーが密集していれば問題ないですが普通にサバイバルをしていたら点在していると思いますのでログインしているプレイヤー数でおおよそ比例する思われます。
これ以外にスポーン地点は常時ロードチャンクと呼ばれるものも存在しますので更に消費されています。
スポーン地点にレッドストーン回路や作物などが集中するとリソースはごろごり削られる傾向がありますので注意が必要です。
目安は?
現在稼働させているサーバーはメモリ3GB割当で荒らし対策プラグインやDiscord連携プラグイン、多世界プラグイン (合計6ワールド前後ロード) といった具合で十数名ログインしても問題なく動作しています。
過去に30名程度を3.5GB程度で動作させていた時は非常にカツカツだった記憶がります。
それら考慮しますと…
規模 | 内訳 | 必要最低メモリ量 | 推奨メモリ量 |
---|---|---|---|
5プレイヤー程度 | プラグイン消費1GB程度+5名に対して500MB程度 | 1.5GB | 2GB |
10プレイヤー程度 | プラグイン消費1GB程度 + 10名に対して1GB程度 | 2GB | 4GB |
20プレイヤー程度 | プラグイン消費1GB程度 + 20名に対して2GB程度 | 3GB | 6GB |
30プレイヤー程度 | プラグイン消費1GB程度 + 30名に対して3GB程度 | 4GB | 8GB |
必要最低メモリ量あれば何とか動くとは思いますが、ログイン人数が多くかつ多方向へワールドを生成していると、これでは足らないと思います。
推奨メモリ量は推奨する中での最低量です。
余裕があれば 同時接続プレイヤー人数÷3 (単位:GB) 程度のメモリが欲しいところです。
※ワールドの大きさ制限や事前にワールドを生成しておくとCPUリソースは抑えることが可能
メモリが不足すると
サーバーの動作が不安定になりがちです。
具体的にはサーバーの処理が追いつかなくなり終いにはサーバーが落ちます。
java.lang.OutOfMemoryError
こんなエラーメッセージで落ちたらメモリ不足を疑いましょう…。
予防
物凄い一般的な予防策ですが、
- 定期的な再起動を実施する
- 不必要なプラグインはロードしない
- サーバー設定を見直す
- MOBなどのEntityを溜め込まない
などが挙げられます。
とにかくサーバーを立ち上げてみたい
手軽にサーバーを立ち上げる
バニラのMinecraftサーバーを速攻クラウドに立ち上げたい場合はConoHa VPSにてMinecraft managerと呼ばれる便利なサービスがあります。
キャンペーン内容によっては初月が無料になる場合もありますのでお試ししてから始められるし楽に立ち上げることができるのがメリットです。
VPSでサーバーを立ち上げたい
MODサーバーを運営したい場合は自力でLinuxにサーバーを立ち上げるのが一番手っ取り早いです。
私の場合はConoHa VPSをお借りしてUbuntuやCentOS上でSpigotサーバー構築しています。
初心者の方でも立ち上げられるように解説した記事もありますので併せて是非閲覧ください。
あとがき
Minecraftの公開サーバーを数年運営していますがまだまだ力量不足を感じています。
その中でも様々な問題に直面し、都度調べ最善の方法を模索してきました。
この内容が正しいとは限りませんから自分の環境ではどういう状況なのか分析して解決いただければと思います。
もしこの記事を呼んだ方で博識な方がいらっしゃいましたらアドバイス頂きたいです。
自分のサーバーではこういった構成で運営している等お教えいただければ幸いです。