内容をスキップ

2022年版 VPSでマイクラのクロスプレイサーバーを立てる手順【Minecraft】

UPDATE :

このチュートリアルでは、マインクラフトのJEとBEのどちらでも入れるサーバーを立てる方法を解説します。具体的には、UbuntuでPaperサーバーを立てて、Gayser+FloodgateでBEと繋ぎます。

前提条件

サーバーを立てる前に、以下のことを確認してください。

  • VPSはお金がかかることを理解している
  • ターミナル・コマンドプロンプトをいじったことがある
  • エラーの英語から原因を推察できる
  • 何かしらのパスワードマネージャーを使っている
  • 基本的な英語が読める

一つでも欠けると苦戦すると思います。それぐらい手間のかかる作業をします。

筆者はMacを使っていますが、Windowsの場合、文中のcontrolCtrlキーで代用できるはずです。

事前に用意するもの

学生優待GitHub Proアカウント

これを下のTermiusと連携させます。

Proが使えない場合、OSのターミナルでSSH接続してください。

大学生の方は、無料でGitHub Proを使えます。

Termius

Termiusのダウンロード
https://termius.com

Termiusは、SSHに加えてSFTPもできるクライアントです。ダウンロードしましょう。

同時にTermiusアカウントを作って、学生認証したGitHubアカウントと紐づけてください。Termiusの有料機能が使えるようになります。

Vultrアカウント

タイトル

VultrというVPSを借りてサーバーを建てていきます。

Vultrに入金

「Billing」画面を開き、PayPalなどを使って、10ドルほどクレジットを入金しといてください。

ステップ1. サーバーデプロイと接続

新しいサーバーをデプロイ

Deploy New Server

Vultrの「Products」-> プラス -> 「Deploy New Server」で新しいサーバーをデプロイします。

Ubuntu

以下のものを選びます

項目 選択肢
Choose Server Cloud Compute
Server Location Tokyo
Server Type Ubuntu (x64)
SSD 25GB

2021年7月14日現在、この構成で月5ドルになります。

「Server Hostname」はmc-paper、「Label」はマイクラBEJEなどにしましょう。

暗号鍵を本来は設定すべきですが、説明の都合上省略します。
鍵を使ったSSH接続はここでは説明しません。

なぜUbuntu?

Java版だけならCentOSで構わないが、万が一BEのサーバー(BDS)を動かす必要が生じた時のため。BDSはUbuntuを想定して作られている。

Termiusで接続

IPとパス

サーバーをデプロイしてしばらく経つと、IPがわかるようになります。必ずパスワード管理ソフトなどにメモしましょう。

また、rootユーザのパスワードも必ずパスワード管理ソフトなどに記録してください。

Termiusで接続

Termiusをインストールしてログインし、「NEW HOST」をクリックしてください。

以下のように設定して保存してください。

項目 選択肢
Label マイクラサーバー(root)
Adress さっきのIP
Username root
Password さっきのroot用パス

「SAVE」を押して保存し、ダブルクリックします。接続できたでしょうか。

信頼するホストに追加するか聞かれた場合は、Yesを選んでください。

root接続成功

IPとパスが正しければこんな画面が出るはずです。

ステップ2. サーバー用ユーザの作成

ユーザの作成

rootでマイクラサーバーをいじるのは危険なので、minecraftユーザを作ります。

まずパスワード管理ソフトなどで、minecraftユーザ用のパスワードをrootと別に作ってください。

adduser minecraft
# ここでminecraftユーザ用のパスワードを設定する
# パスワード以外は全部Enterで飛ばしていい
gpasswd -a minecraft sudo

ユーザーを作れたら、control+Dでサーバーからログアウトしてください。

豆知識

SSHクライアントでは、control+Dでサーバーからログアウトする。

Termiusでマイクラ用ホストを追加

ホスト複製

先ほどのroot用ホストを「Duplicate(複製)」します。

Edit

複製されたホストを「Edit(編集)」します。

ラベル変更

「Label」をマイクラサーバー(minecraft)に変えます。

ユーザ変更

ユーザー名をminecraftに変え、パスワードも先ほど作ったminecraftユーザ用に変えてください。

できた

「SAVE」してダブルクリックし、minecraft@サーバー名と出たら成功です。

ステップ3. paperのインストール

Paperは、Spigotプラグインを入れられる軽量マイクラサーバーで、現在幅広いサーバーで使われています。

SFTPで接続しよう

Termiusの「SFTP」を開いてください。

左にパソコンのファイルが出るので、右側のホスト選択で「マイクラサーバー(minecraft)」を選んでください。

(rootユーザでSFTPを使わないでください。)

おそらく/home/minecraft/ディレクトリが出ます。

paper導入

paperのダウンロード

[[dl|PaperMCのダウンロード]]
|https://papermc.io/downloads#Paper-1.16

serverディレクトリを作る

mkdir server

paperを入れてリネーム

serverフォルダにpaperのjarファイルを入れ、

cd server

# .XX.X-XXXXXはTabキーで補完してください
mv paper-1.XX.X-XXXXX.jar paper.jar

# 外フォルダに出る
cd ../

paper.jarにリネームします。

スクリプト準備

Vimを使います。

I 編集(INSERT)モードに
Esc 編集終わり
:wq 保存して終了

編集(INSERT)モードで:wqって打たないでね!必ずEscで編集を終わろう。

起動スクリプトを作る

vi start.sh
#!/bin/bash

cd $HOME/server

screen -md -S minecraft java -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:+UseTLAB -Xms2G -Xmx4G -XX:TargetSurvivorRatio=90 -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=4 -XX:-UseParallelGC -XX:ParallelGCThreads=2 -XX:ConcGCThreads=2 -jar paper.jar nogui

start.shを作り、以上をCmd+Vでペーストして:wq

再起動スクリプトを作る

vi restart.sh
#!/bin/bash

WAIT=15
STARTSCRIPT=$HOME/start.sh
SCREEN_NAME='minecraft'

screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say §oリスタートシーケンスを開始...\015"'

screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say '${WAIT}'秒後にサーバ
ーを再起動します\015"'
screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say 30秒ほど経てば再接続>可能になるので、しばらくお待ち下さい\015"'

sleep $WAIT
screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "stop\015"'

sleep 10

$STARTSCRIPT

restart.shを作り、以上をCmd+Vでペーストして:wq

サーバー起動

minecraft/
L   backup.sh
L   restart.sh
L   start.sh
L   server/
    L   paper.jar

こんなファイル構成になっているはずです。

ここからはscreenで画面を切り替えます。

操作 キー・コマンド
画面一覧 screen -ls
アタッチ screen -r (PID)
デタッチ control+A -> control+D
キル screen kill <PID>

起動してみる

bash start.sh
screen -r

start.shはサーバーをscreenで起動しますから、screen -rアタッチしないとサーバーは見れません。(裏では動いています)

すると、途中で利用規約に同意してほしい旨のメッセージが出て、サーバーが止まります。

minecraft/
L   server/
    L   eula.txt
    L   paper.jar
L   backup.sh
L   restart.sh
L   start.sh

SFTPを見ると、こんなファイル構成になっているはずです。

:::warning シェルスクリプトはpaper.jarと別フォルダ!
サーバーが生成したファイルと、自作したファイルが混ざるのは、明らかに混乱を招きます。
シェルスクリプトはserverフォルダの外に置きましょう。
:::

eulaの同意

cd server
vi eula.txt

IキーでINSERTモードにし、

eula=true

に変えてください。Esc -> :wqで保存。

改めて起動

cd ../
bash start.sh
screen -r

サーバーが起動するはずです。

minecraft/
L   server/
    L   cache/
    L   logs/
    L   plugins/
    L   world/
    L   world_nether/
    L   world_the_end/
    L   ...
    L   eula.txt
    L   paper.jar
L   backup.sh
L   restart.sh
L   start.sh

こんなファイル構成になっているはずです。

サーバー設定の変更

cd server
vi server.properties

人数などを変えてください。

Termiusのスニペットに登録

Termiusのスニペット機能に以下を登録しましょう。

「サーバー起動」

cd /home/minecraft && bash start.sh

「サーバー再起動」

cd /home/minecraft && bash restart.sh

「アタッチ」

screen -r

ステップ4. 自動でバックアップさせる

バックアップフォルダ

バックアップは/home/minecraft/world_backupに入れます。

バックアップを自動化

vi backup.sh

backup.sh

#!/bin/bash

WAIT=15
STARTSCRIPT=$HOME/start.sh
SCREEN_NAME='minecraft'

screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say '${WAIT}'秒後にサーバ
ーを再起動します\015"'
screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "say 1分ほど経てば再接続可
能になるので、しばらくお待ち下さい\015"'

sleep $WAIT
screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "stop\015"'

sleep 20

cd /home/minecraft/world_backup
DIR=`date '+%Y%m%d_%H%M'`
tar -zcvf $DIR.tar.gz -C $HOME/server world

$STARTSCRIPT

cronに登録

crontab -e

参考

ステップ5. プラグインを入れる

以下のプラグインを入れてください。

BEで入れるようにする

  • Gayser
  • Floodgate

必須

  • WorldGuard
  • LuckPerms
  • CoreProtect
  • ViaVersion
  • ConsoleSpamFix

任意

  • FAWE
  • Multiverse-core
  • Dynmap

ステップ6. 独自ドメイン

サーバーに独自ドメインを設定する手順です。

独自ドメインで接続しやすく

有名なサーバーはほぼ100%独自のドメインを使っています。あなたのサーバーも数字でなく好きなドメインで接続可能にしましょう。

おすすめはGoogle Domains

https://domains.google

Google Domainsは余計なメールが一切なく、設定の反映も爆速です。

Google DomainsでIPに独自ドメインを接続

「DNS」画面で「Manage Custom Records」->「Create new record」をクリックします。

あとは 「A」レコードを選んで、IP欄にサーバーのIPを入れるだけ です。

ドメインが設定できたら

サーバーを宣伝しましょう。Dynmapはhttp://なんちゃら.com:8123で見れます。


以上でチュートリアルは終了です。

ポスト
マイクラ思考編集部
YouTubeでマインクラフトの役立つ動画を投稿しています。クロスマルチプレイ対応のマイクラサーバー「くろまる」も運営中!

1件のコメント

  1. javaboy
    2021年7月28日
    同じコマンドが使えることを優先するならubuntuを推奨するべきでは? また、asobinon.orgの参照先のリンクが404投げてきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です