目次
Minecraft サーバーのインストール
Ubuntu に Minecraft サーバーをインストールして、マルチプレイを楽しむ。
インストール前の環境
- Ubuntu 14.04.1 LTS 64bit
パッケージ名 | バージョン | インストールするバージョン |
---|---|---|
python-software-properties | none | 0.92.37.3 |
oracle-java8-installer | none | 8u45+8u33arm-1~webupd8~0 |
インストール
Oracle JDK8 のインストール
Oracle の JDK をインストールする。
普通にインストールすると、OpenJDK がインストールされてしまう。OpenJDK を使うと、Minecraft サーバーで問題が起こるので使用しない。
Oracle JDK のリポジトリを追加する。
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update
Oracle JDK8 をインストール。
$ sudo apt-get install oracle-java8-installer
ライセンスに同意するかだけ聞かれるので回答する。
ユーザと権限を追加
セキュリティの観点から Minecraft サーバーを実行するユーザーは root 以外を使用する。
Minecraft サーバー用のユーザーを追加する。
$ sudo adduser minecraft
新しいパスワードを設定する。ユーザーの名前等、色々聞かれるが空欄でOK。
minecraft のグループを確認してみると、デフォルトで minecraft グループが作成されてメンバーになっている。
$ groups minecraft minecraft : minecraft
Minecraft サーバーのバイナリを設置
サーバーのバイナリを設置するディレクトリを作成する。
$ sudo mkdir -p /var/minecraft/server01
バックアップ用のディレクトリも作成。
$ sudo mkdir /var/minecraft/backup
サーバーのバイナリを設定するディレクトリに移動。
$ cd /var/minecraft/server01
バージョン 1.8.6 (2015年5月30日時点で最新) をダウンロード。最新版の URL は ここ でチェック。
$ sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.6/minecraft_server.1.8.6.jar
$ sudo mv minecraft_server.1.8.6.jar minecraft_server.jar
パーミッションを変更する。
$ sudo chown -R minecraft:minecraft /var/minecraft $ sudo chmod -R 775 /var/minecraft
ファイアウォールの設定を変更
Minecraft でデフォルトで使用するポート 25565 を開放する。
$ sudo ufw allow 25565
起動確認
一旦起動することを確認する。
ユーザーを変更する。
$ su - minecraft
$ cd /var/minecraft/server01/ $ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
ライセンスをに同意しないと起動しないらしい。
[Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
メッセージで示されたファイルを確認。
$ vi ./eula.txt
eula の行を TRUE に変更する。
eula=TRUE
再度起動を試みる。
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
: : [17:27:04] [Server thread/INFO]: Preparing spawn area: 52% [17:27:05] [Server thread/INFO]: Preparing spawn area: 67% [17:27:06] [Server thread/INFO]: Preparing spawn area: 81% [17:27:07] [Server thread/INFO]: Preparing spawn area: 94% [17:27:07] [Server thread/INFO]: Done (8.842s)! For help, type "help" or "?"
今度は起動成功。Minecraft のクライアントからサーバーにログインできるかを確認する。
Minecraft サーバーの設定
クライアントからの接続が確認できたら Minecraft サーバーを一旦停止する。
起動中のサーバーに以下のコマンドを入力。
stop
特殊な権限を持つオペレーターユーザーを設定する。
$ vi ./ops.json
オペレーターに設定するユーザーのユーザーネームと UUID を記述する。ユーザーネームと UUID の変換は こちら。
レベルと対応する権限は以下の通り。
レベル | 権限 |
---|---|
1 | spawn-protection の無視 |
2 | /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /tp コマンド及びコマンドブロックの使用を許可 |
3 | /ban, /deop, /kick, /op コマンドの許可 |
4 | /stop コマンドを含む全てのコマンドの許可 |
[ { "uuid": "9b15dea6-606e-47a4-a241-420251703c59", "name": "Foo", "level": 4 }, { "uuid": "d5f5c683-5ad5-476f-9191-a220df6953f1", "name": "Bar", "level": 2 } ]
server.properties 内の設定を変更して、Minecraft サーバーの設定を変更する。
設定値の詳細は Minecraft server properties にて。
$ vi ./server.properties
server.properties で white-list=true に設定した場合は、whitelist.json に接続を許可するユーザーを追加する。
$ vi ./whitelist.json
[ { "uuid": "9b15dea6-606e-47a4-a241-420251703c59", "name": "Foo" }, { "uuid": "d5f5c683-5ad5-476f-9191-a220df6953f1", "name": "Bar" } ]
実行スクリプトの作成
毎回コマンドラインでパラメータを渡すのも面倒なので、スクリプトを作成する。
$ cd /var/minecraft $ vi ./run_server01.sh
#!/bin/bash cd /var/minecraft/server01 java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
実行権限を付与する。
$ chmod ug+x ./run_server01.sh