レンタルサーバーでminecraftサーバーを立てる際にひっかかった話【1.10.2】【ConoHa】
概要
- The Unusual SkyblockをマルチプレイしたくなったのでConoHaのレンタルVPSを借りて建ててみた
- 他のブログ等を参考にしたが上手くいかなかった。知り合いと色々試して解決できたのでまとめる
わかる人向けの結論
- 古いバージョンのminecraftサーバーが動かない場合はJavaのバージョンを古いものに切り替える
- サーバーのjarや配布ワールドの所有権・グループを適切に設定する
- (配布ワールドの場合)"server.properties"の"enable-command-block=true"を設定する
前提
- 利用ソフトは下記の通り
- FTPクライアント:WinSCP
- sshクライアント:PowerShellのsshコマンド
- 導入するminecraftサーバーのバージョン:1.10.2(DLサイト:MCVersions.net - Create your own 1.10.2 Minecraft server!)
- 利用するVPSとプラン:ConoHa for Game(メモリ4GB, CPU4コア, SSD100GB)
手順
前提
- ConoHaのレンタルサーバーは契約済みでサーバーもMinecraft Java Editionで作成済みとする
- セキュリティグループに"IPv4v6-SSH"が追加済みであり、WinSCPからサーバーに接続できる状態とする
サーバーへのjarファイルの導入
- WinSCPでサーバーへ接続する
- "/opt/minecraft_server"ディレクトリに移動する
- minecraftサーバーのjarファイルをサーバーに転送する(下記画像)
- 転送したjarファイルを右クリックしてプロパティを開く
- 所有者、グループを"minecraft"に変更する
- OKを押下してプロパティを閉じる
※補足:既に存在しているjarファイルは消しても消さなくても問題ない。
systemdの編集(起動するバージョンを変更する)
- "/etc/systemd/system"ディレクトリに移動する
- "minecraft-server.service"を右クリックして『編集』→『編集』でエディタを開く
- 転送したjarファイルの名前に変更(今回は"minecraft_server.1.10.2.jar")
- 左上の保存(フロッピーディスクアイコン)をクリックした後、エディタを閉じる
(配布ワールドを利用する場合)ワールドの導入
配布ワールドを使用しない場合は読み飛ばして下さい。
- "/opt/minecraft_server"ディレクトリに移動する
- "world"ディレクトリをすべて削除する
- 配布ワールドのディレクトリ名を"world"に変更する(worldディレクトリの直下にlevel.dat等のファイルが並ぶ形)
- 配布ワールドが格納されている"world"ディレクトリをサーバーに転送する
- 転送した"world"ディレクトリを右クリックしてプロパティを開く
- 下記画像のように所有者・グループを"minecraft"に変更し、"所有者・グループ・パーミッションを再帰的に設定する"にチェックを入れた状態でOKを押下する
- WinSCPを閉じる
参照するjavaのバージョン変更
本題になる部分。
- PowerShellを起動(WindowsメニューからW列の"Windows PowerShell"フォルダ内の"Windows PowerShell"、あるいは直接検索して起動しても構わない)
- 下記を入力({IPアドレス}としている箇所には借りているサーバーのIPアドレスを入力。{}のカッコは要りません。)
ssh {IPアドレス} -l root
- 下記のように表示されるので、rootのパスワードを入力(サーバー作成時に設定したパスワード)
root@{IPアドレス}'s password:
4 . (初回の接続時の場合)"ECDSA key fingerprint~"といった表示が出た場合は"yes"を入力 - ログインに成功した場合は"Welcome to Ubuntu~"とか表示が出る(出ないかも)。入力するところが
root@{なんか文字列}:~#
に変わっていれば問題ない。 - 下記を入力する
update-alternatives --config java
- 画像のような表示が出るので、使用するjavaに対応しているSelection列の番号を入力(今回はjava-8を使うのでこの例では3)
※補足:使用すべきjavaのバージョンを調べてみたが、公式の動作確認した表などを見つけられなかったので、古そうなバージョンは古いやつで動かしてみて試すのが結局は早く済むかも
サーバーの再起動
Webから見れるサーバーのコントロールパネルから再起動してもいいけどこの手順のほうが変更の反映は手早いです
ワールドの入れ替えや設定の変更を行ったらこの手順で変更を反映させてください
- PowerShellのssh接続後の状態で下記を入力する
systemctl restart minecraft-server.service
- 起動を確認するには下記を入力する。起動できていれば下記の画像のように "Active: active(running)"になる
systemctl status minecraft-server.service
- minecraftのクライアントを立ち上げて接続できるか確認する
※補足:サーバーを停止する場合は下記を入力する。立ち上げる場合はrestartでよい。
systemctl stop minecraft-server.service