Minecraftサーバーを動かすための環境
ここではMinecraftサーバーを動かすために必要な環境(サーバーそのもの、スペック、OS、ネットワーク)について解説します。
色々な例があるのでたくさん書いていますが、自分がやりたいと思った方法に合わせて必要な部分だけを読んだので大丈夫です。
スポンサーリンク
目次
サーバーそのものに関して
まずはサーバーそのものをどうするか?という話から行きましょう。
サーバーマシンとしては次のような選択肢があります。
- 自分が普段使っているPC
- サーバー用に用意したPC
- レンタルサーバーなど
- Minecraftサーバーサービス
どの方法にも得手不得手があります。「とりあえずこれでOK」な無難な構成はありませんので自分にあった方法を選びましょう。
普段使いのPC
これは主に「生放送中だけ」「友達と遊ぶ時だけ」など、必要な時にだけサーバーを動かす使い方の際にオススメです。
今使っているPCをそのままサーバーにするので追加投資などは必要ありませんし、電気代の心配もありません。
反面、誰かと遊ぶためにはサーバーを起動していないといけない(他人と遊ぶ前にまずチャットなどで連絡を取る必要がある)、サーバーとして稼働させている間は負荷が高まる(ゲームだけを遊ぶ時より高いスペックが必要になる)などの欠点もあります。
この方法で24時間365日動かすマルチサーバーを運営するのは不可能です。24時間365日稼働する場合はMinecraft用に別途サーバーを用意しましょう。
サーバー用のPC
いわゆる「自宅サーバー」と呼ばれる方法です。勉強や経験になるので個人的にはオススメしたい方法。
具体的なメリットは以下の通り
- とても自由。好きな事を好きなだけできる
- レンタルサーバー特有のわかりづらい制限などがないので何ができるのかを想定しやすい
- 勉強になる
デメリットは以下の通り
- 電気代がかかる
- 必要なパーツを自分で用意しなければならない
- ある程度環境が整っている必要がある(主にネットワーク周り)
- ブレーカーが落ちる、家族に電源を切られるなどの電源トラブル起こる可能性がある
- ハード(主にHDD)の故障に気を遣う必要がある
- 家族の了解を得る必要がある(置き場所など)
- すべて自分で管理する必要がある
パソコンが好きな人(それに手間や時間をかける事を厭わない人)、本格的にやりたい人にオススメ。逆に「サーバーなんて興味ない、誰かと遊べたら良いんだ」って人は他の方法を検討してみましょう。
面倒ですが、その面倒さの分だけの楽しさがあります。
後述しますが、ハード自体は何でも良いです。本格的なサーバーを買う必要はありません。普通のパソコンで大丈夫です。
(もちろん本格的なサーバーを買っても構いませんが、基本的にめちゃくちゃうるさいので注意して選びましょう)
レンタルサーバーなど
お金を払ってサーバーの環境をまるっと借りるサービスです。自宅サーバーが出来ない人は基本的にこれを選択する事になるでしょう。
いくつか種類があり、特徴が全然違うので後で個別に解説しますが、基本的な特徴は以下の通りです。
メリット
- 小規模から大規模まで柔軟に対応できる
- サーバーのための環境が整えられており安定する
デメリット
- スペックに応じたコストがかかる
- わかりづらい制限などがあったりする
お金があれば最強です、地獄の沙汰も金次第。
物を用意したり環境を整えたりする必要がないので、はじめたいと思った時にすぐにはじめる事ができます。
Minecraftサーバーサービス
Mojang公式のRealmsを筆頭とするMinecraftのサーバーを借りられるサービスです。(専門用語で言うならSaaS/PaaS辺りかな?)
本格的に試したことがないので詳しくは書けませんが、各サービスによって特徴が全然違います。
一概に「これ」とは言えませんが、Realmsを基準として主に以下のような特徴があります。
メリット
- 難しい設定やセキュリティ対策をお任せできる
- 使いやすいコントロールパネルなどがある
- ちょうどいいコストである事が多い
デメリット
- 大規模(10人~)には使えないことが多い
- どういうサーバーで動いているか非公開だったりする(性能、所在地など)
- 細かい事は出来なかったりする
公開サーバーには向かない場合が多いです。「知り合いと遊ぶためだけにそこまで凝った事したくない」と考える人向けです。
普段使いのPCで動かす時と比べると、お金がかかる代わりに設定をしたりサーバーを起動したりする必要がなくなりますし、24時間遊べるのでいちいちチャットで連絡を取らなくてよくなる(自分が居ない時にも知り合いだけで建築を進められる)などの利点があります。
レンタルサーバーについて
ここはレンタルサーバーを使うつもりの人だけが読めばOKです。
レンタルサーバーとひとまとめに書いていますが、「共有サーバー」「VPS」「クラウド(IaaS)」と色々な種類があります。
(Minecraftにはあまり関係ないので書きませんが、専用サーバー、DBaaS、mBaaS、CaaS、FaaSなど、時代やビジネスの流れに合わせて本当に色々な種類があります)
共有サーバー
Webサイト用に良くあるタイプです。複数人でサーバーを共有してWebサイトなどを提供する形式です。
これは安いのですが、残念ながらMinecraftには使えません。
仮に使えても高負荷過ぎるのが理由で利用停止されるのがオチです。
VPS
VPSは仮想のサーバーを借りて、その中で好きなように使えるサービスです。
メリット
- 比較的現実的な料金
- 基本的に料金が固定なので分かりやすい
デメリット
- サービスによっては初期費用が必要だったりする
- 1台の物理サーバーで複数の仮想サーバーが稼働しているので性能が安定しない事もある
- プラン変更などはIaaSより面倒なことが多い
- わかりづらい制限があったりする事がIaaSより多い
基本的にMinecraftを動かすならこれでしょう。
IaaS
よく「クラウド」とかって呼ばれる奴ですね。(クラウドは総称なのでここではIaaSと表記します)
雑に説明すると「VPSを便利な感じにした奴」です。
メリット
- 必要な時に必要なだけサーバーや性能を用意できる
- 支払いが従量課金(使った分だけ)なので使わない時は停止しておけば安い
デメリット
- 1か月付けっぱなしにすると高い
- 転送量が従量課金なのでMinecraftと相性が悪い
- キチンと設定しておかないと異常な負荷がかかった時に際限なく課金される
ちなみに、継続利用や先払いで大幅割引されてVPSっぽくなるサービスが多いです。
基本的にはイベントなど高負荷が見込まれる特定の状況で一時的に使う例が多いでしょう。
Minecraftは複数のサーバーで分散するのが難しいのでIaaSのメリットとはあまり相性が良くないです。
初心者向けサービスリスト
本当に初心者の人はどういうサービスがあるのかすら分からないでしょうからザっと思い付く限り書いておきます。
※ Minecraftには使えなさそうなサービス(スペックの詳細がない、サーバーが日本じゃない、など)は省いています
VPS
クラウド
どこを使っても構いませんが、わるい噂とかも含めて検討した方が良いでしょう。
ちなみに、ネットで評判を調べるとオススメを紹介している記事が大量にヒットしますが、大抵はアフィリエイト報酬のために肯定的な事ばかりを書いているのであまりアテにしない事。
スペック
もちろん導入するプラグインや同時ログイン数で必要な性能は変わってきますが、おおまかな目安を書いておきます。
OS
基本的にLinuxです。
確かに動かそうと思えばWindowsでも動きますが、いくつかの理由からオススメできません。
- 情報が少ない(サーバーの世界ではLinuxが圧倒的です)
- クライアント版はライセンス的にMinecraftサーバーを動かして良いかどうかが危うい
- ソフトウェアによってはLinux版の方が高性能だったりする
- ソフトウェアによってはそもそもWindows版が用意されていない/用意されていても機能に制限があったりする
Minecraftを動かすだけであればLinuxもWindows(Server)もそう変わらないでしょうが、より複雑な事をしたくなってきた時にWindowsだとツライ所があるかも知れません。
Linuxでサーバーを動かす時によく使われるのはCentOS(RHEL系)とUbuntuServer(Debian系)です。
「どちらがオススメか?」と聞かれたら「どちらもできる事は同じです」と答えるでしょう。(どちらか片方を答えると反対派閥から刺されるので)
流石に今の時代にこれを書く必要はないと思いますが、「OSは64bit版を使いましょう」、32bit版ではメモリ周りの制約がいくつかあります。(すでにCentOSやUbuntuServerでは64bitしか提供されていませんが……)
CPU
巷では「シングルコア性能が高いと良いです」とよく言われています。確かにMinecraftは基本シングルスレッド動作なのでシングルコア性能はより高い方が良いのは事実です。
この説明、間違ってはいませんが、正しくもありません。
Java自体の進化でマルチコアを使うプログラムも作りやすくなってきています、プラグインでマルチコアを活用する物も少なくないです。場合によってはデータベースなどの他のサーバーも同居するでしょう。
シングルコア性能が高いと良いのは事実ですが、そのためにマルチコア性能を捨てる必要はありません。
じゃあ具体的にどういうCPUが良いのか?となりますが、これも「常識的な範囲なら何でも良い」でしょう。PCとして使って問題のない性能なら、Minecraftサーバーとして使っても問題ありません。
シングルコア性能がどうこう言いますけど、ぶっちゃけてしまえば私のサーバーはつい最近までCore2Quad系(10年以上前)のCPUでした。性能もとても低い。
M.2はおろか、SATA3(6Gbps)もなかったような時代の代物です。それでもピーク時20人で目立ったラグなどはありませんでした。
4Ghz2コアのCPUと、2Ghz4コアのCPUならどっちが良い?と聞かれたら私は「2Ghz4コア」と答えます。
3Ghz4コアと4Ghz4コアならどっちが良い?と聞かれたら「そう変わらない、安い方を買って他を強化する」と答えます。
そもそもの話ですが、性能を悩まなければいけないくらいにユーザーを増やす方が大変です。
(ただし、CPUが古いと足回り=最大メモリやディスクの転送速度が弱くなりがちなので、最低でもCore iの第三世代以降くらいのCPUを選んだ方が良いでしょう)
メモリ
メモリは多ければ多いほどいいです。そりゃそうか。
メモリが多いとMinecraftにより多くを割り当てられるのはもちろんの事、OSのキャッシュなどで使える量も多くなるので全体的に快適になります。
サーバー本体(OSなど)の稼働にも必要なので、最低でも4Gは必要でしょう。(本当に最低限の事だけであれば2Gでも可能ではありますが……)
8Gあればとりあえずひととおりの事ができるようになります。16Gもあればやりたい事はできるでしょう。
それ以上は足りなくなってから考えましょう。いきなり超ハイスペックにしたってお金のムダです。(メモリは逃げません、後からでも買い足せます)
ディスク
マップの大きさにもよりますが、メイン(OSや各種データを入れる)ディスクは最低で30Gくらい、できれば50~100Gほどあれば良いでしょう。
バックアップ用のディスクは(どれくらいの期間データを保持するかにもよりますが)300G以上あれば安心できるくらい保存できます。
メインのディスクはSSDにすればより高いパフォーマンスを発揮できます。(HDDでも問題はありません)
バックアップ用のディスクはHDDにしましょう。一般的にSSDはバックアップには不向きです。
故障に関してですが、SSDやHDDは消耗品です。
壊れないのが良いのは確かですが……形あるものは必ず壊れる、重要なのは「壊れた時にどうするか?」です。
バックアップは自動化しましょう。障害は忘れた頃にやってきます。
GPU
要りません。MinecraftサーバーにGPUは使いません。
余談:ramdiskは必要か?
環境や性能の事を書いてある記事でよく一緒に語られているので、ここでも一緒にしておきます。
ramdiskですが、必要ありません。あったらいいとかではなく、ない方がいい。
最近のOSはディスクから読み取ったデータをメモリ上にキャッシュしています。ramdiskに割り当てるくらいなら何も割り当てずにOSのキャッシュが利用する事を期待した方が良いです。
ramdiskはメモリです、メモリは電源が喪失すると全データ消えます。
電源喪失に耐えられるように複雑怪奇な設定を設定するくらいならramdiskにしない方がマシです。
実用的に問題のない堅牢なramdiskを作るのは一筋縄ではいきません。そしてその労力に見合うリターンがあるか?と問われると、ない。
ramdiskにしないと耐えられないくらいのユーザー数であれば、ramdiskにするよりサーバーを(BungeeCordなどで)分割した方が良いです。(そもそも、そこまでになるとネットワークとかが限界になってると思います)
余談:ECCは必要か?
必要か否かでいうなら「あった方がいいがなくても問題ない」でしょうね。
ECCは付いてる方が良いです。もちろんその方が良いです、そりゃそうなんですけど、そんな事を言い始めたらすべての電子機器にECCを付けた方が良いに決まってるじゃないですか。
でも現実はそうじゃない。
Minecraftサーバーは所詮(と表現すると語弊がありますが)ゲームのサーバーです。人の資産を預かる金融システムではありません。
ECCがなくて(そしてそれでビットが化けて)大惨事になる事はほぼないと言って良いでしょう。
もちろん最悪なパターンはいくらでも思い付きます。思い付きますけど、現実的にそういう状況に出会った事はありますか?私はありません。
それで大惨事になるのなら、私達が普段使っているスマホやPCはしょっちゅう大惨事になってないとおかしいじゃないですか?要は確率と優先度の話なんですよ。
もちろんECCにしちゃダメって意味ではありません。むしろできるならそうした方が良いですが、「本当に必要な物か?」をしっかり考えて予算を配分してください。
限られた予算の中からどう配分するか?を考えた時にECCは用途からしてもとても優先度が低いと思います。
(「ECCじゃないとかあり得ない」みたいな事を言う人が稀に居ますが、あれは方向性のおかしい自慢かマウントか何かなので無視しても問題ありません)
余談:RAIDは必要か?
RAIDですが、これはバックアップ代わりではありません。RAIDがあるからと言ってバックアップが要らない訳ではありません。
そして、MinecraftくらいであればRAIDなんかしなくてもバックアップをしっかりしていれば十分だと思います。(事実、私もRAIDは使っていません)
それでもRAIDがしたい人向けにいくつか。
ソフト的に消えたデータは普通に消えます。
バグやミスなどで消えてしまったデータは消えますRAIDにする時はロットをずらしましょう(「揃えましょう」と主張する人も居ますが個人的には反対です)
同じ店から同じ時期に同じ種類のディスクを買うとロットが同じになる可能性が高いです。
同じロットを同じように使うと同じくらいの時期に壊れる可能性が高まります。同じくらいの時期に壊れたら何のためのRAIDやら(ロット問わず)同じ種類のSSDをRAID1にするのは危ういです。
SSDはHDDとは違い、書き込みで寿命が減っていきます。
そしてRAID1は両方のディスクに同じように書き込む……どうなるかお分かりですね?ハードウェアRAIDはRAIDコントローラーの故障を考慮しましょう。
ハードウェアRAIDの場合はコントローラーが故障した時にデータを救えるのかしっかり調べておきましょうハードウェアRAID+SSDの場合はTrimに対応しているか考慮しましょう。
Trim非対応のRAIDコントローラーでSSDをRAIDにすると(Trimできないので)徐々に書き込み性能が劣化していくリスクがあります
以上、パッと考えて思いつく限りの落とし穴です。同じで揃えないといけないディスクを愚直に同じで揃えるとハマるのがRAIDです。
RAIDムズカシイネ。普通はバックアップで十分。
ネットワーク
最大の障壁となるネットワークに関して解説します。
端から端まで有線接続
ネットワークは端から端まで有線接続で接続しましょう。
すなわち、WiMAXではなく光回線を契約し、Wi-FiではなくLANケーブルで接続しましょう。という意味です。
WiMAXのような無線接続の回線はPingが遅かったりしますし、転送量に厳しい制限があります。
Wi-Fiは他の家電の影響を受けたりしますし、そもそもWi-Fiでないといけない(ルーターから遠い)場所では通信が安定しません。
グローバルIPは必須
これはマンション回線などにありがちですが、そもそも各家庭にグローバルIPが割り振られていない場合があります。
どういうことかというと、複数の契約者で1つのグローバルIPを共有するような接続になっていることがあるのです。
この場合、ポート開放などはできませんし、サーバーも動かせません。
固定IPは必須ではない
固定IPであればより安定した接続が可能になるのは確かですが、必須ではありません。
DDNSなどを利用すると動的IPでもある程度サーバーを動かすことは可能です。
ただ、固定IPであれば厄介な設定などが必要なくなるので、あった方がいいのは確かです。
Pingは少し高くても大丈夫
Pingはより小さいほうが快適です。
しかし、Minecraftの仕様として1秒に20チックしか処理されない、リアルタイム性は重要でないなどの要素があるので、Pingはアクションゲームほど重要ではありません。
PvPになると少し気になってくるかもしれませんが、それでもFPSや格ゲーほど重大な問題にはならないでしょう。
目安として、1チック=50ms以下なら快適でしょう。サーバーが国内にある限り普通はその程度の範囲内に収まります。
バッテリー(UPS)に関して
UPSがあると良いのは確かですが、UPSも万能ではありません。
導入できるならその方が良いのですが、次のような欠点もあるのでよく考えてから検討してください。
- バッテリーの劣化が早い(3年ほどで寿命です)
- 交換用のバッテリーは基本的に高価(互換性のある別の……という手もなくはないですが)
- バッテリーで維持できる時間は短い(基本的に数十分くらいです)
あるに越したことはないのですが、自分の家庭の電力事情を熟考したうえであえて導入しない選択肢はありです。