【自鯖始めるなら必須!】マイクラサーバーの基礎知識

こんにちは。えむえすです。今回は珍しく人のために立ちそうな記事を書きます。(長くなりそうなので目次付き)
ちなみに基本的な知識ですが少し情報に過不足ある時がありますがそこは温かい目で見てください。
マインクラフトサーバーをお家に置きたい!!マインクラフトサーバーと添い寝したい!!という方はこちらの記事を少し見てみてください。

ネットワーク系

サーバーを運営する上で大事なもの、それはサーバーとネットワークと電気です。
まずは基本の「き」ネットワーク系から始めていきます。
ぶっちゃけ書いてから思いましたがネットワーク編などと記事を分けてもよかったかもしれないですね。

IPアドレスとは

IPアドレスとはインターネットで通信する上での住所です。
ネットワーク上のすべてのルーターに割り当てられます。(厳密にはちょっと違うけど今はこの認識でもok)
IPアドレスは先ほど言ったように住所ですからサーバーからPCへ通信する際に用いられます。
これがないとどこにデータを届けるのかわかりませんからね。
皆さんは手紙を書いたことがあると思います。住所を書いて、名前を書いて内容を書いて。手紙を書くと思いますがこれが通信だと住所=IPアドレス、名前=ローカルIPアドレス(家族のだれに届けるか)、内容=通信内容という形になります。
これを覚えておくと少しIPについての理解がしやすいかもしれません。
ちなみにIPアドレスにもネットワーク部とホスト部という難しい話がありますがここでは必要ないので解説しません。(詳しくはこちらなどをお読みください。)

1.ローカルIPアドレスとは

ローカルIPアドレスとはLan内(あなたと同じWi-Fi内)の端末を識別するためのIPアドレスです。プライベートIPアドレスとも呼ばれます。
これは各回線ごとに割り当てられ主に192.168.1.1などといったものです。
家に届いた手紙を家族の母親、父親、息子、娘に届けるための名前のようなものです。
例えばあなたのスマホが1だとしたらあなたのゲーム機は2です。Lan内で重複することがないよう割りあてられています。

2.上り通信と下り通信

上り通信と下り通信ですが単純にpcから送ってサーバーが受け取る通信が上り通信、サーバーから送られてpcが受け取る通信が下り通信です。
一般に使用される通信は下りのみです。
Youtubeの動画を見るのはサーバーに保管された動画データをサーバーからpcに送ってみていることになります。下り通信です。
上りはサーバーくらいしか大きくは使いません。
例えば画面共有やビデオ通話、ライブ配信などはサーバー側へ送りますが.....一般人はなかなかしないですよね。
しかし、サーバーはデータを送る必要があります。そのため上り通信をしまくります。
実は上り通信には上限が設けられている回線が多いです。
そのため少し注意が必要です。詳しくは説明しませんし大体の場合は大丈夫ですが心配な場合は「回線 総量規制」などで検索してみてください。

3.IPアドレスを公開することの危険性について

IPアドレスを外部に公開することは危険だという話を聞いたことがないですか?
IPアドレスを公開すると攻撃がっ!!!」などという話です。
結論から言うと危険です。
例えばDDoSなどです。Apexなどをやっているとよく聞くのではないでしょうか。
複数のウイルスに感染したpcなどを使ってサーバーに対しパケットを送り付けまくり落とすやつですね。
先ほどの手紙の話でいうと郵便として複数人で手紙を大量に家に送り付けるものです。
純粋にポストに入りきらなくなり新しい手紙を受け取ることができなくなりポストがダウン.....サーバーが落ちてしまうということです。
ちなみに純粋にネットワーク帯域(ポストのサイズ)が足りておらず年末の年賀状などのいわばゴールデンタイム(サーバーでいうと夏休みとか)は処理しきれずに手紙があふれる(サーバーがフリーズ)することがあります。
この手紙をパケットというのですがこれを意図的に送り付ける攻撃がDoS攻撃、複数端末を利用する攻撃がDDoSです。
ぶっちゃけ受けることはありませんが一般公開する以上リスクは高いです。
攻撃者は身元がばれないように自分のIPアドレス(住所)を偽造(手紙でいうと適当な場所を書く)することがあります。これに用いられるのがVPNです。つまり正確な身元ではないということですね。
つまりVPNを用いた接続を遮断したり下で話すポートを閉じたりということをすれば攻撃は少しマシになったりならなかったり。これは難しい話なのでここでは書ききれません.....

ポート番号とは

サーバー系にあまり触れ事がない人はここから始まるでしょう。
ということで知っておいて損もないので一応解説します。
まずネットワーク上を通過するデータはコンピューター内で使用されるたくさんあるソフトウェア(ウェブやゲームなど)に正しくデータを届けるためソフトウェアごとにポート番号というものを用いてそれぞれのソフトウェアを識別します。
例えばApexが1番、マイクラが2番だったとしましょう。するとApexのデータは1番、マインクラフトのためのデータは2番通路を通ります。こうすることでデータを正しく届けています。(実際はもっと番号は複雑です。)

1.ポートの種類

ポートには先ほど例に出した通り1番や2番が存在します。
これはすべて覚える必要はないですがある程度の知識があると便利です。
・ウェルノウンポート番号
これは0番~1023番までのポートです。
このポートはIANA(Internet Assigned Number Authority)が管理しています。
IANAってなにって話ですがまあ国土交通省的な感じだと思ってもらえればわかりやすいです。
・登録済みポート番号
レジスタードポート番号ともいわれます。
1024番~49151番までのポートです。
ウェルノウンポート番号同様IANAが管理しますが登録されていないものも多く競合することもあります。
・動的、私的ポート
49152番~65535番までのポートです。
IANAによる割り当てがされていないポートです。

ちなみによく使われるサービスのポートは以下の通りです。
・20-FTP(データ転送)、21-FTP(コントロール)
・22-SSH
・23-Telnet
・25S-MTP
・53-DNS
・80-HTTP
・110-POP3
・334-(なんでや阪神関係ないやろ....ゲフンゲフン.........)
・443-HTTPS
22のSSHや80,443系のものもマイクラサーバーでは利用することがあります。

2.ポート開放とは

先ほど話したポートですがこれは開閉する必要があります。
デフォルトではマインクラフトサーバーで必要な19132(BE版)や25565(JE版)、公式サイトなどを制作する場合は443(HTTPS)まで公開する必要があります。
ポートごとに上り通信、下り通信、両方向という三項目がありサーバーは両方向にする必要があります。
ちなみにポート開放とは別でファイヤーウォールというものも通す必要があります。
これはubuntuWindowsなどOSによって違うので割愛しますがポート開放だけしたからと言ってサーバーに接続できるようになるわけではありません。

3.なぜポートを開き続ける危険性について

では、ポートを理解したときになぜ開放する必要があるのかという疑問が生まれると思います。
実際通信を行うのに必要であれば最初から開けておくべきですよね。
ですがそうするとインターネット上特有の危険性があるんです。
びっくりするかもしれませんがFTPで使用される20番と21番が開いていた場合パスワードなどもありますがシステムに侵入するのは容易になります。
多くのポートを開放したままにする状況はシステムへの侵入経路を増やすことになってしまいます。
もしあなたが一つの部屋を借りて侵入者に備えるとしてドアが20個の部屋と1個の部屋どちらかを選ぶとなると1個の部屋のほうが守りやすいですよね。
という具合に適切なポート以外を閉じる必要があるんですね。

サーバー本体系

サーバー本体についてです。
人によっては自分のpcで代用する方もいそうですね。
ここではサーバーのOSなどについて解説します。

サーバースペック

サーバー本体の必要なスペックは参加者数とそれぞれのmodなどによって大きく左右されます。

1.メモリー

イクラサーバーは究極にメモリーを大量に必要とします。
エリトラでマップを急激にロードしたりするとメモリーはありえないくらい大量に使われ始めます。
あ、そういえばHDDやSSDとメモリーは別です。
必要なメモリー量はModやエリトラの有無などによって大きく左右されますが基本的に5プレイヤーごとに3GBくらいな気がしています。
とはいえ内容によって大きく左右されるので参加予定人数×3GB+5GBくらいは必要な気がします。

2.CPU

ぶっちゃけさほど気になりません。
6コアくらいのものを選べばよいです。
マインクラフトサーバーは基本的に多コア高クロックなものを選ぶべきなのでXeonなどはそういう面では適さないかもしれません。
レンタルサーバーなどであればそれ相応のものがセットなので気にする必要はないでしょう。

3.HDD/SSD

HDDとSSDです。
データを保存するものですね。これに関してはとりあえず大きいものを、そして2台以上をお勧めします。
まずマインクラフトサーバーは絶対バックアップが必要になるのでゲームファイル用とバックアップ用を分けると便利です。
大きめのサーバーだとRAIDと呼ばれるものを組みますが一般サーバーではバックアップ用とゲームファイル用でよいでしょう。バックアップは1日3回、30日保持したとすると90GBになります。毎時間バックアップが望ましいですしゲームデータは案外5GBくらいまで大きくなるので1TB程度ではすこし足りないかもしれません。
ちなみにSSDについてですがマインクラフトサーバーは特にバックアップ以外は高速でデータを出し入れする必要性はないので大丈夫です。お金に相当余裕があればという感じですね。

4.GPU

ゴミです。まずサーバーというものにグラフィックは必要ありません。
IntelCoreIのF付モデルだったりXeonのE5だった気がしますがそれにはCPU内臓グラフィックがなかったりします。なので別途Quadroなどと呼ばれる信じられなく高いものを使用しますがマインクラフトサーバーには絶対に必要ありません。頭のねじが5兆本外れてもつけないようにしましょう。電気代の無駄です。
せめてファンレスの安いものにしましょう。5千円あれば買えます。

サーバーソフトウェア

サーバーソフトウェアを起動する方法は複数あります。
また、プラグインもたくさんあります。どれを使用すればよいのでしょうか。

1.OS

OSはWindowsでもubuntuでも構いません。大規模になるとubuntuを推奨します。
Windowsの場合ライセンス的な問題があると思います。(確か)
ですので無料のubuntuをお勧めします。
ちなみにubuntuの操作、案外簡単です。

2.サーバーソフトウェア

サーバーを動かすためのファイルが必要です。
勿論公式から配布されているものを利用してもよいですが公式のものだとプラグインが入らないなど問題が多いです。
JavaだとSpigotやPaper、BEだとPMMPなどを使用するようにしたほうが良いです。
ちなみに個人的にはPaperを推します。
アップデートは遅いですがビルドが簡単です。
Spigotは著作権上の問題でファイルを生成するのがとっても難しいです。

3.プラグイン

サーバーの運営方針にもよりますが荒らし対策、自動バックアップ、自動再起動などは必須です。
これに関しては検索すればたくさん出てくるし数が多すぎて書ききれないので特段何が良いと書いたりはしませんが上記の三つを行えるプラグインがあれば安心です。
ちなみにJEサーバーにBEが参加できるようになるGeyserMCは荒らし対策系の誤検知が多いので注意が必要です。

4.周辺機器系

周辺機器系?!という気持ちになるかもしれませんが停電発生時に自動でサーバーを終了しデータを保護してくれるUPSなどのシステムがこれにあたります。
UPSスイッチングハブルーターなどの制御ソフトをダウンロードし適切な設定を行っておくようにしましょう。

最後に

長くなりましたがマインクラフトサーバーの運営が増えてくれると嬉しいなーと思います!!
個人的にはサーバーと添い寝することをお勧めしたいですが少し難しそうですよね.....

更新情報

情報が古くならないように定期的に更新していきます。
以下更新履歴

2023年4月7日記事を投稿