何を思ったのかJava版のマインクラフトを買ってしまいました。
単体でプレイしてもいいのですが、せっかくなので、サーバを立ち上げて、いろんな環境からプレイできるようにしたい、と思いました。
サーバの設置
まずは、サーバに、ダウンロードしたjarファイルを設置します。
実行するコマンドは、
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
デスクトップ環境があれば、noguiオプションを取り除けば、GUIでいろいろ操作できるのですが、
こんな感じ。
ログも確認できる他、接続しているユーザーも確認できるし、ここからコマンドを入力して設定を変えることもできます。
しかし、VPS上で動かすならば、デスクトップ環境は無いので、このような画面は使用できません。
taki@taki-300-030jp:~/minecraft-server$ java -Xmx1024M -Xms1024M -jar server.jar nogui [20:01:20] [main/ERROR]: Failed to load properties from file: server.properties [20:01:20] [main/WARN]: Failed to load eula.txt [20:01:20] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
実行すると、こんなメッセージが表示されます。
どうやらEULAを承諾しないと動かすことができないみたいなので、同じディレクトリに生成されている、eula.txtの記述を変更しなければいけません。
eula.txtを開いて、
eula=true
と書き換えます。
Done (47.956s)! For help, type "help"
と表示されればサーバは稼働しています。
ポートの開放
iptableを使用している方は、マインクラフト用のポートを開放しなければ、外部からアクセスできません。
サーバの実行ログから、使用されているポート番号は25565であることがわかりますので、外部からこのポートへのアクセスを許可します。
$ sudo iptables -A INPUT -p tcp -m tcp --dport 25565 -j ACCEPT $ sudo /etc/init.d/netfilter-persistent save
これでVPSを再起動しても、マイクラサーバにアクセスできます。(マイクラサーバプログラムは再起動させないといけませんが)
ホワイトリストの作成
このままでは、URL(またはIPアドレス)がわかってしまえば誰でもサーバにアクセスできる状態となってしまいます。
なので、管理者が許可したアカウントだけサーバにアクセスできるように、ホワイトリストを設定しなければなりません。
ホワイトリストを有効にするには、サーバプログラムと同じディレクトリに生成された、server.propertiesを開き、
white-list=true
に書き換えます。
これで、ホワイトリストが有効になります。
もしくは、サーバのコンソールに、
/whitelist on
と、入力してもOKです。
こちらのほうが簡単かもしれません。
次に、ホワイトリストの登録を行います。
サーバコンソールに以下のコマンドを入力します。
/whitelist add [アカウント名]
これで、ホワイトリストの登録が行なえます。
あとはクライアント側から登録アカウント名でログインし、サーバにアクセスすればワールドに入ることができます。
逆に登録されていないユーザーはワールドに入ることができません。
これで一通りの設定は完了です。
細かい設定は、サーバのコンソールから
/help
と入力すれば、コマンド一覧が表示されますよ。
ままならないようになった