【Java版】LinodeでMinecraftマルチサーバーを構築する

# Minecraftのマルチサーバーとは


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/95c5826e-9ca5-133a-e4a4-6ce022661834.png)

『Minecraft(マインクラフト)』をマルチプレイで遊ぶためにはサーバーを構築する必要があります。
マインクラフトのマルチサーバーとは、プレイヤー同士で一緒に遊ぶ際に接続するサーバーのことを指します。

マルチサーバーを利用することにより、ホストが参加していなくても、参加者はいつでもマルチプレイができるようになります。

マルチサーバーを用意する際には費用はかかるものの、サーバーを構築することで快適にマルチプレイができるため、特に大人数で一緒に遊びたい場合にはサーバーの構築が必要となってきます。

マインクラフトにはJava版と統合版があり、どちらのソフトで遊ぶかにより用意するサーバーが異なります。

今回は、Java版でのサーバー構築方法の紹介となります。

:::note info
本Qiitaに関する情報については、公式情報ではなく内容に関しての正確性を保証するものではありませんのでご了承ください。
追加の情報については公式Wikiを参照してください。
https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_server
:::

# 【Java版】LinodeでMinecraftマルチサーバーを構築する

まずはこちらのリンクからLinodeアカウントの作成を行います。

https://www.linode.com/lp/free-credit-100/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/d1763643-1ba1-c257-b5cb-4f9ba8b09147.png)

無料で試用したい場合は、こちらのプロモーションURLから登録することにより、60日間100ドル分利用可能なクーポンが付与されます。

アカウントを作成したら、サーバーの構築を始めます。

## インスタンスタイプの選定

まずは利用するマルチプレイの人数に応じてインスタンスタイプを選定します。

今回は低コストなLinode Shared CPUのプランを選択します。

|マルチプレイ推奨人数|プラン|月額費用|1時間あたりの費用|メモリ|CPU|ディスク|無料の転送量|
|:------------:|:------------:|:------------:|:------------:|:------------:|:------------:|:------------:|:------------:|
|1-5名|Nanode 1 GB|$5|$0.0075|1 GB|1|25GB|1TB|
|5-10名|Linode 2 GB|$10|$0.015|2 GB|1|50GB|2TB|
|10-25名|Linode 4 GB|$20|$0.03|4 GB|2|80GB|4TB|
|25名以上|Linode 8 GB|$40|$0.06|8 GB|4|160GB|5TB|

Linodeではさらに性能の高いサーバープランも用意されています。

参考：https://minecraft.fandom.com/wiki/Server/Requirements/Dedicated

## Minecraftマルチサーバーの構築

アカウントを作成したWebページからCloud Managerというコンソールにログインし、マルチサーバーを構築します。

今回はMarketplaceを利用することにより、自らサーバープログラムをインストールすることなく、簡単な事前設定だけでMinecraftマルチサーバーを構築することができます。

まずはメニューのLinodesからCreate Linodeを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/8b688b1a-0ee5-1f50-99c8-6059eef79460.png)

Marketplaceのタブを選択し、検索項目にMinecraftと入力します。

表示されたMinecraft: Java Edtionを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/b3ee3c0d-ca7b-f842-8a65-03a50b279202.png)

設定項目が多いですが、各種ゲーム設定を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/2acf495e-d798-0047-d9d8-6a79d6c1a100.png)

以下、各設定の説明となります。

|項目  |説明  |入力例|
|---|---|---|
|The username for the Linode's non-root admin/SSH user(must be lowercase) (required)|SSHにて接続する際のユーザー名を入力|admin
|The password for the Linode's non-root admin/SSH user (required)|SSHユーザーのパスワードを入力します|任意のパスワード(複雑なパスワードにしてください)|
|World Name|ワールド名を入力|Test World|
|Message of the Day|ログイン時に表示するメッセージを入力|Welcome|
|Flight Enabled|飛行モードを有効にする|false|
|Nether World Enabled|ネザーワールドを有効にする|true|
|Player Achievements Enabled|実績を解除した際に通知する|true|
|Maximum Players|サーバーの接続最大人数|25|
|Player Idle Timeout Limit|放置しているユーザーの切断時間(分)|60|
|Difficulty Level|ゲーム難易度|Normal|
|Hardcore Mode Enabled|ハードコアモード(復活なし)|false|
|PvP Enabled|PvP(プレイヤーへの攻撃)を有効にする|true|
|Force Game Mode Enabled|ログイン時のゲームモードを強制する(サバイバル/クリエイティブ)|false|
|World Type|生成する世界の種類。Default= 標準、Flat= 特徴のない平らな世界、Largebiomes= 大きなバイオーム、Amplified= 高さ制限を大きくした世界|Default|
|World Seed|ワールド生成アルゴリズムがユニークなワールドを作るために使用するランダムな値|Seeds|
|Spawn Animals Enabled|動物が生まれる設定にするか|true|
|Spawn Monsters Enabled|モンスターを生成するか|true|
|Spawn NPCs Enabled|村人を生成するか|true|
|Game Mode|Survivalはデフォルトのゲームモード、Creativeは飛行と無制限のリソース、Adventureはブロックの破壊を禁止、Spectatorは飛行能力を付与|Survival|
|Structure Generation Enabled|村や坑道のような構造物を生成するか|true|
|Maximum Build Height|ブロックを配置できる最大の高さ|256|
|Maximum World Size|ワールドの最大半径、ブロック単位|29999984|
|View Distance|プレイヤーが見ることができる距離(チャンク)1チャンクは16ブロックの立方体|10|
|Command Block Enabled|コマンドブロックの配置を可能にするか|false|
|Querying Enabled|GameSpy4の接続を許可する(サーバーの情報を取得)|true|
|Enable RCON|リモートアクセスを有効にする|false|
|RCON Password|RCONのパスワードを入力する|空欄|
|RCON Port|RCONポートを入力する|25575|
|Maximum Tick Time|サーバーがフリーズとみなして再起動すると判断するまでの時間(ミリ秒で指定)|60000|
|Network Compression Threshold|バイトが圧縮される閾値|256|
|Op-permission Level|OP権限レベル(1～4で設定)|4|
|Port Number|サーバーのリスニングポート番号|25565|
|Snooper Enabled|スヌーパーを有効にする|true|
|Use Native Transport Enabled|送受信パケットを最適化することにより、サーバーのパフォーマンスを向上させます。|true|
|The SSH Public Key used to securely access the Linode via SSH|SSHの鍵を登録する|空欄|
|Disable root access over SSH?|rootへのアクセスを無効にするか|Yes|


続いて、サーバーの設定を行います。

Images : Ubuntu 20.04 LTS
Region : Tokyo 2
Linod Plan : 先程選定したインスタンスタイプを選択
Linode Label : 任意の名前
Root Password : 複雑なパスワードを入力
Private IP : チェックを付ける

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/766cc978-0a82-e2df-4857-0024177c0dc5.png)

すべての設定が完了したら、Create Linodeを選択します。

ステータス画面へ遷移し、PROVISONINGと表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/d1e9d13d-6ca5-b66f-0025-129a460d1726.png)

ステータスがRUNNINGとなっていれば構築は正常に進んでいます。

表示されているIP Addressesをメモします。このIPはゲーム画面からMinecraftのサーバーへ接続する際に利用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/7ccb569b-2c38-cac8-852f-44c283aa29ae.png)

:::note info
Minecraftサーバーの構築は10分程度時間がかかりますため、以下手順をすぐに実施しないように注意してください。
:::

以上でサーバーの構築は完了です。




## Minecraftのソフトを起動する

接続手順に関しましては、こちらの記事も参考になります。
https://www.linode.com/ja/marketplace/apps/linode/minecraft-game-server/


1. Java版のMinecraftを起動します。

2. トップメニューからサーバーに接続するため、Multiplayerを選択します。

3. サーバーを追加するため、Add Serverを選択します。

4. 先程コピーしたIPアドレスをServer Addressに入力して、Doneを選択します。

5. サーバーが保存され、一覧に表示されます。表示されたサーバーを選択しJoin Serverを選択します。

6. サーバーにログインできれば問題ありません。

7. コピーしたIPアドレスを他の参加者にも伝えるとマルチプレイが可能となります。

# まとめ

Linodeは低価格でゲームサーバーなどの構築も簡単に行うことができます。
ぜひクーポンも利用してLinodeを活用してみてください。

# 関連記事

アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。

https://qiita.com/organizations/Akamai