NAPOAN.COM by マイクラ思考
by
/ UPDATE :

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

このチュートリアルでは、マインクラフトの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で見れます。
以上でチュートリアルは終了です。
Tweet

コメント

記事の内容が最新のものと異なる場合があります。ご了承ください。

“2022年版 VPSでマイクラのクロスプレイサーバーを立てる手順” への1件のコメント

  1. javaboy より:

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

コメントを残す

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