はじめに
どうも。
また最近マインクラフトにはまっています。
ですが、一人でやっていると大体1~2週間ぐらいで飽きちゃうんですよね。
統合版のようにマルチプレイがスムーズにできれば良いのですが、Java版でのサーバーの開き方はかなり難解です。
以前紹介したような無料の方法でサーバーを開いても、ラグが酷くてまともにプレイできなかったりします。。。
www.umagame.info
ですが、レンタルサーバー(VPS)を使えば快適にマルチプレイを楽しむことができます。
ということで今回は、マインクラフトJava版(バージョン1.17.1)でのVPSを使ったサーバーの開き方を紹介します。
KAGOYA CLOUD VPSについて
今回使用するVPSは「KAGOYA CLOUD VPS」です。
KAGOYA VPSはよく使われる他のVPS(ConoHa VPS、さくらのVPS)に比べて料金が安い反面、マインクラフトのサーバーの自動構築機能がないので難易度は高いです。
料金はこんな感じです。(2021/08/21現在)
1コア1GBではおそらくサーバーが起動できないので、2コア2GBが最低ラインですね。
見て分かる通り料金は一日ごとに発生するので、数日しかプレイしないという方はめっちゃ安くなります。
開き方解説
1.必要なもののダウンロード
まずは、レンタルサーバーを操作するためのソフトウェアを入れておきます。どちらも無料です。
forest.watch.impress.co.jp
forest.watch.impress.co.jp
2.アカウントの作成
KAGOYA公式サイト(https://www.kagoya.jp/cloud/vps/)へ行きます。
下へスクロールするとお申し込みボタンがあるのでクリックします。(今回は2コア2GBでやります)
オンラインでのお申し込みを選択。
クリックすると個人情報入力画面に飛ぶので、個人情報・クレジットカード情報を入力して申し込みをして下さい。(この時点では料金は発生しません)
個人情報の入力の際に、アカウント名を設定しておいたほうが後々楽になります。(ログインの際に使います)
Eメールで本人確認をしたら登録完了です。
https://vps.kagoya.com/で新しくVPSを作ります。さっき作ったアカウントでログインして下さい。
「インスタンス作成」をクリック。
OSは「Ubuntu 20.04」にします。
アプリケーションセットアップに「Minecraft Server(Java Edition)」という項目がありますが、これは選ばずに「なし」にしてください。
スペックは前述の通り2コア2GBにします。
VPSに接続するためには認証キーが必要です。「ログイン用認証キー追加」をクリックして、
適当な名前をつけて、登録をクリック。
作成の際に〇〇.keyというファイルがダウンロードされるので、大事に保管しておいて下さい。
virtioという項目はそのまま(ON)で良いです。
コンソールログインパスワードはroot権限ログインする際に必要です。設定したパスワードは忘れないように。
最後にインスタンス名を適当に決めて、
インスタンス作成をクリック。これをクリックすると、一日分の料金(35円)が発生します。
インスタンス一覧に戻って、IPを確認しておきます。これはそのままマインクラフトのサーバーのIPアドレスになります。
4.サーバー構築
4-1.~Javaのインストール
それでは、作成したVPS内にマインクラフトのサーバーをセットアップします。
Tera Termを起動して、「ホスト」にIPを入力してOKをクリック。
セキュリティ警告がでますが、無視して「続行」をクリック。
ユーザー名に「root」、「RSA/DSA/ECDSA/ED25519鍵を使う」にさっきダウンロードしたキーの場所を入力します。
キーの参照の際は、赤く囲ってあるところを「すべてのファイル」にして探しましょう。
このようにコマンドプロンプトっぽい画面になれば接続完了です。
まずはOSのアップデートをしておきます。以下のコマンドを実行してください。
sudo apt update
sudo apt -y upgrade
そして、Javaを入れます。
sudo apt install openjdk-16-jre screen
「Do you want to continue?」とでるので、「Y」と入力してEnterを押します。
「java -version」でインストールできてるか確認します。
ちゃんとJava16が入っているのが確認できます。(マインクラフト1.17からはJava16が必須になったので注意)
4-2.~実行ファイル
次にマイクラ用に新しくフォルダを作ります。以下のコマンドを実行して下さい。
sudo adduser minecraft
「New password:」と出るので、適当にパスワードを決めます。サーバーを借りたときに設定したやつと同じでなくても構いません。
パスワードの再入力をして、
そのあとの情報は入力しなくて大丈夫です。5回Enterを押して、「Is the information correct?」が出たら「Y」を入力してEnter。
「su - minecraft」を入力して、作ったフォルダに移動します。
次にマイクラのサーバーの本体をダウンロードします。https://mcversions.netからダウンロードリンクを入手します。
1.17.1をクリックして、
Server Jarと書いてある方のリンクのアドレスをコピーします。
そして、「wget リンクのアドレス」と入力します。
(私の場合は「wget https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar」となります)
「ls」と入力すると、現在のディレクトリにあるファイルすべてを確認できます。server.jarがあればOKです。
サーバーを起動するためのファイルを作ります。以下のコマンドを入力して下さい。
vi /home/minecraft/run.sh
ファイルエディタに移るので、「java -Xms1024M -Xmx1536M -jar server.jar nogui」と入力します。
「:wq」で保存します。
このエディタは使い方が難しいので、よくわからない場合は「linux viewコマンド」とかで検索すると色々出てきます。
以下のコマンドを入力して、さっき作ったrun.shに権限を与えます。
chmod +x /home/minecraft/run.sh
早速実行してみましょう。「./run.sh」で起動します。
初回の起動なので、EULAに同意しろとメッセージが出てきます。
「vi eula.txt」でeula.txtを開きます。
またさっきと同じエディタが開くので、iキーを押して編集モードに切り替えて、方向キーで操作....あれ?
方向キーを押すとABCD...と表示されてしまいます。
これではEULAに同意できません。直す必要があります。
最初にダウンロードしたWinSCPを開きます。
ホスト名にサーバーのIP、ユーザー名にrootと入力して、設定をクリック。
「認証」の、「秘密鍵」にキーの場所を指定します。
キーの形式を変換しますかと出るので、OKをクリック。
保存した.ppkファイルを指定します。
設定を閉じて、ログインをクリック。
警告は無視して「はい」をクリック。
これで、VPSのファイル管理を簡単に行うことができます。
「home」というフォルダを探して下さい。
homeの中のminecraftを開いて、
そこに新しくファイルを作成します。
ファイル名は「.vimrc」にして下さい。
set nocompatible
set backspace=indent,eol,start
OKを押すとエディタが開くので、上の2文を入力して保存します。
Tera Termに戻ってもう一回eula.txtを開くと、方向キーが使えるようになっています。
iキーで編集モードにして、eula=falseをeula=trueに書き換えて、Escキーを押して、「:wq」と入力して閉じます。
4-4.~ポート開放
ようやくサーバーの起動ができます。
「./run.sh」と入力して、サーバーが開けるか確認しましょう。
「Done!」と表示されたら成功です。ですがまだポート開放をしていないので、一旦「stop」と入力してサーバーを閉じます。
下のコマンドでrootに戻ります。
su - root
パスワードを入力するよう言われるので、サーバーを借りたときに設定した「コンソールログインパスワード」を入力して下さい。
rootに移動できたら、以下の3つのコマンドを入力します。
iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
iptables -A INPUT -p tcp --sport 25565 -j ACCEPT
sudo apt install iptables-persistent
この画面が出たらEnterを押します。
これですべての作業は終了です。お疲れさまでした。
「su - minecraft」でminecraftに戻って、「./run.sh」で起動して、サーバーに入れるか試してみましょう。
できました。
メモリ不足でエラー...
サーバー起動時に「There is insufficient memory for the Java Runtime Environment to continue...」と表示されてエラーになる場合があります。
この場合は、スワップ領域と呼ばれるものを増やすことで解決します。
rootで、「sudo dd if=/dev/zero of=/swapfile2 bs=1M count=2048」を入力。
続けて「sudo mkswap /swapfile2」と入力。
続けて「chmod 600 /swapfile2」と入力。
最後に「sudo swapon /swapfile2」と入力すればOKです。
やめたい場合
もちろんサーバーを借りたまま放置しているとどんどん料金がクレカから引かれていきます。
なので、やめる時はインスタンスを削除する必要があります。
まずインスタンス一覧から、サーバーを停止します。
インスタンスの名前をクリックして管理画面へ行き、削除をクリックします。
もちろんプレイしたワールドのデータは消えるので、WinSCPで自分のPCに移してから削除するようにしましょう。
さいごに
今回はここまでです。
ちなみにTera Termを閉じるとサーバーも落ちます。