Minecraft のサーバを作る。いろんな方が既に記事を書いているので目新しさはない。この組み合わせで動作したという確認。
環境
(2020/05/29 記事初出時)
- AWS Tokyoリージョン t2.midium
- Ubuntu 20.04
- minecraft_server_1.15.2.jar
- openjdk-14-jre
( 2021/09/05 再確認時 )
-
AWS Tokyoリージョン t2.midium
-
Ubuntu 20.04
-
minecraft_server_1.17.1.jar
-
openjdk-16-jre
Minecraft サーバとは
Minecraft はネットワークで通信してマルチプレイができる。マルチプレイをするにはネットワーク内でMinecraftをプレイしているマシンを1台公開してそこに他のプレーヤがつなげるやりかたと、ネットワーク内でサーバ専用サービスを実行するホストを作りサーバにするやりかたの2つがある。
Minecraft でマルチプレイをするには Minecraft の系統と、バージョンを合わせる必要がある。
Minecraft の系統
マルチプレイをするときには、系統を合わせないといけない。今の主な系統は2つ
- Java 版
- 統合版 (Bedrock Edition)
系統は、プレイする全員、および、サーバその系統に合わせる必要がある。
なお、現在公開されているサーバのソフトウェアは Java 版系統。
統合版のサーバも公開されている( https://help.minecraft.net/hc/en-us/articles/360035131651-Dedicated-Servers-for-Minecraft-on-Bedrock- ) が、アルファ版。
ちなみに、上記以外の系統も存在する。サーバソフトウェアは公開されていないが、ピア2ピア的にマルチプレイができる。その場合はそれぞれの系統同士でしかマルチプレイできない。
-
ブラウザ版
-
Raspberry Pi edition
-
Earth edition
-
Education edition
-
Legacy console editon (現在、PS4,Nintendo Switch等は統合版にアップデート、それ以外の旧いプラットフォームではLegacy conosole edition 同士でも異機種だとマルチプレイできないぽい)
-
New Nintendo 3DS Edition
-
他に Minecraft China というのがあるがナンダ? https://minecraft-ja.gamepedia.com/Minecraft_China
バージョン
サーバのバージョンと、マルチプレイの参加者の Minecraft のバージョンを合わせる必要がある。
バージョンはJava版において、2020/5/29現在最新のものは以下の2つ。
- 1.15.2 (正式版)
- 20w21a (開発版1.16のスナップショット)
であるが、こちらからダウンロード
(2021/09/05 に確認時点では 1.17.1 )
できるサーバのバージョンは正式版の最新のものである 1.15.2。
(2021/09/05 に確認時点では 1.17.1 )
それ以外の old バージョンや、開発版はこちらから。
サーバの動作環境
java で動作するので Windows / Mac / Linux で動作する。もちろん、Raspsberry Piも!
サーバを動かすのは難しい?
https://minecraft.gamepedia.com/Tutorials/Setting_up_a_server
によると、
Setting up a server takes some time, and some technical knowledge. Don't try to set up a server unless you have some basic computer and networking abilities.
とあるけれども、試してみたらあっさり動いた。
AWS サーバを起動
まずは TOKYOリージョン、t2.midium を利用して、Ubuntu 20.04を起動する。
ログイン後、
$ sudo apt update
$ sudo apt upgrade
をしたあと、Java だけインストール。
とりあえずUbuntu20.04で最新のJREを入れてみた。
$ sudo apt install openjdk-14-jre
(2021/09/05 では、openjdk-14-jre と 1.17.1 の組み合わせで以下のエラーが出た。上記を sudo apt install openjdk-16-jre と代えて解決。)
Error: LinkageError occurred while loading main class net.minecraft.server.Main
java.lang.UnsupportedClassVersionError: net/minecraft/server/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 58.0
https://www.minecraft.net/ja-jp/download/server/
からサーバをダウンロード。
リンクをマウスで右クリックしてアドレスを取得、ssh で以下に貼り付けた。
$ wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar
起動してみる
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
[08:18:47] [main/ERROR]: Failed to load properties from file: server.properties
[08:18:47] [main/WARN]: Failed to load eula.txt
[08:18:47] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
という結果になった。
$ ls -alh
としてみたら、
total 35M
drwxr-xr-x 5 ubuntu ubuntu 4.0K May 28 08:18 .
drwxr-xr-x 3 root root 4.0K May 28 07:51 ..
-rw-r--r-- 1 ubuntu ubuntu 220 Feb 25 12:03 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3.7K Feb 25 12:03 .bashrc
drwx------ 2 ubuntu ubuntu 4.0K May 28 07:56 .cache
-rw-r--r-- 1 ubuntu ubuntu 807 Feb 25 12:03 .profile
drwx------ 2 ubuntu ubuntu 4.0K May 28 07:51 .ssh
-rw-r--r-- 1 ubuntu ubuntu 0 May 28 08:01 .sudo_as_admin_successful
-rw-rw-r-- 1 ubuntu ubuntu 181 May 28 08:18 eula.txt
drwxrwxr-x 2 ubuntu ubuntu 4.0K May 28 08:18 logs
-rw-rw-r-- 1 ubuntu ubuntu 35M Jan 17 10:06 server.jar
-rw-rw-r-- 1 ubuntu ubuntu 940 May 28 08:18 server.properties
とあって、eula.txt ができているようだ。
$ vim eula.txt
として、中身の
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Fri May 29 19:21:06 JST 2020
eula=false
false を true に書き換えて保存。
もう一度起動
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
[08:20:14] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[08:20:14] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[08:20:14] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[08:20:14] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[08:20:14] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[08:20:14] [Server thread/INFO]: Starting minecraft server version 1.15.2
[08:20:14] [Server thread/INFO]: Loading properties
[08:20:14] [Server thread/INFO]: Default game type: SURVIVAL
[08:20:14] [Server thread/INFO]: Generating keypair
[08:20:15] [Server thread/INFO]: Starting Minecraft server on *:25565
[08:20:15] [Server thread/INFO]: Using epoll channel type
[08:20:15] [Server thread/INFO]: Preparing level "world"
[08:20:15] [Server thread/INFO]: Found new data pack vanilla, loading it automatically
[08:20:15] [Server thread/INFO]: Reloading ResourceManager: Default
[08:20:47] [Server thread/INFO]: Loaded 6 recipes
[08:20:47] [Server thread/INFO]: Loaded 825 advancements
[08:20:53] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[08:20:53] [Server-Worker-1/INFO]: Preparing spawn area: 0%
[08:20:53] [Server-Worker-1/INFO]: Preparing spawn area: 0%
[08:20:54] [Server-Worker-1/INFO]: Preparing spawn area: 0%
[08:20:54] [Server-Worker-1/INFO]: Preparing spawn area: 0%
[08:20:55] [Server-Worker-1/INFO]: Preparing spawn area: 1%
[08:20:55] [Server-Worker-1/INFO]: Preparing spawn area: 2%
[08:20:56] [Server-Worker-1/INFO]: Preparing spawn area: 4%
[08:20:56] [Server-Worker-1/INFO]: Preparing spawn area: 5%
[08:20:57] [Server-Worker-1/INFO]: Preparing spawn area: 7%
[08:20:57] [Server-Worker-1/INFO]: Preparing spawn area: 10%
[08:20:58] [Server-Worker-1/INFO]: Preparing spawn area: 12%
[08:20:58] [Server-Worker-1/INFO]: Preparing spawn area: 14%
[08:20:59] [Server-Worker-1/INFO]: Preparing spawn area: 17%
[08:20:59] [Server-Worker-1/INFO]: Preparing spawn area: 19%
[08:21:00] [Server-Worker-1/INFO]: Preparing spawn area: 22%
[08:21:00] [Server-Worker-1/INFO]: Preparing spawn area: 24%
[08:21:01] [Server-Worker-1/INFO]: Preparing spawn area: 26%
[08:21:01] [Server-Worker-1/INFO]: Preparing spawn area: 29%
[08:21:02] [Server-Worker-1/INFO]: Preparing spawn area: 32%
[08:21:02] [Server-Worker-1/INFO]: Preparing spawn area: 33%
[08:21:03] [Server-Worker-1/INFO]: Preparing spawn area: 36%
[08:21:03] [Server-Worker-1/INFO]: Preparing spawn area: 38%
[08:21:04] [Server-Worker-1/INFO]: Preparing spawn area: 41%
.
.
.
起動したようだ。
ポート公開
TCP25565 と UDP25565 を開放したら、外部から接続し、プレイできた。