Minecraftは、これまでで最も人気のあるゲームの1つです。これは、プレイヤーが無限の世界を探索し、単純な家からそびえ立つ高層ビルまでさまざまな構造を構築するサンドボックスビデオゲームです。
このチュートリアルでは、Ubuntu20.04でMinecraftサーバーを作成する方法について説明します。 Systemdを使用してMinecraftサーバーとmcrconを実行します 実行中のインスタンスに接続するためのユーティリティ。また、定期的なサーバーバックアップを実行するcronジョブを作成する方法も示します。
前提条件#
Minecraftの公式サイトによると、一般的なセットアップの最小構成として4GBのRAMが推奨されています。
mcrconのビルドに必要なパッケージをインストールします ツール:
sudo apt updatesudo apt install git build-essential
Javaランタイム環境のインストール#
MinecraftにはJava8以降が必要です。 Minecraftサーバーはグラフィカルユーザーインターフェースを必要としないため、ヘッドレスバージョンのJavaをインストールします。このバージョンは、依存関係が少なく、システムリソースの使用量が少ないため、サーバーアプリケーションに適しています。
次のコマンドを実行して、ヘッドレスOpenJRE11パッケージをインストールします。
sudo apt install openjdk-11-jre-headless Javaバージョンを印刷してインストールを確認します:
java -version openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Minecraftユーザーの作成#
セキュリティ上の理由から、Minecraftはrootユーザーの下で実行しないでください。ホームディレクトリ/opt/minecraftを使用して新しいシステムユーザーとグループを作成します 。ユーザーには、Minecraftサーバーを実行するために必要な最小限の権限があります:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
このユーザーのパスワードは設定しません。このように、ユーザーはSSH経由でログインできなくなり、侵害されることはありません。 minecraftに変更するには ユーザーの場合、rootまたはsudo権限を持つユーザーとしてサーバーにログインする必要があります。
UbuntuへのMinecraftのインストール#
インストールプロセスを開始する前に、minecraftに切り替えてください ユーザー:
sudo su - minecraft 次のコマンドを実行して、ユーザーのホームディレクトリ内に3つの新しいディレクトリを作成します。
mkdir -p ~/{backups,tools,server} backupsディレクトリには、Minecraftサーバーのバックアップが保存されます。このディレクトリをリモートバックアップサーバーに同期できます。toolsディレクトリはmcrconを保持します クライアントとバックアップスクリプト。serverディレクトリには、実際のMinecraftサーバーとそのデータが含まれます。
mcrconのダウンロードとコンパイル #
RCONは、Minecraftサーバーに接続してコマンドを実行できるようにするプロトコルです。 Cで記述されたmcronisRCONクライアント。
GitHubからソースコードをダウンロードして、mcrconをビルドします バイナリ。
Tiiffi/mcrconのクローンを作成します GitHubから~/tools/mcronへのリポジトリ ディレクトリ:
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
終了したら、mcronに切り替えます ディレクトリを作成してユーティリティをビルドします:
cd ~/tools/mcrcongcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
完了したら、mcrconであることを確認します そのバージョンを印刷することにより、正常にコンパイルされました:
./mcrcon -v 出力は次のようになります:
mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon
Bug reports:
tiiffi+mcrcon at gmail
https://github.com/Tiiffi/mcrcon/issues/
Minecraftサーバーのダウンロード#
サーバーに機能(プラグイン)を追加し、サーバー設定をさらにカスタマイズおよび微調整できるCraftbukkitorSpigotなどのMinecraftサーバーmodがいくつかあります。
このガイドでは、最新のMojangの公式バニラMinecraftサーバーをインストールします。他のサーバーMODのインストールにも同じ手順が適用されます。
Minecraftダウンロードページにアクセスして、最新のMinecraftサーバーのJavaアーカイブファイル(JAR)のダウンロードリンクを取得します。執筆時点では、最新バージョンは1.16です。 。
~/serverにjarファイルをダウンロードします wgetのあるディレクトリ :
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server Minecraftサーバーの構成#
ダウンロードが完了したら、~/serverに切り替えます ディレクトリを作成し、Minecraftサーバーを起動します:
cd ~/serverjava -Xmx1024M -Xms1024M -jar server.jar nogui
初めて起動すると、サーバーはいくつかの操作を実行し、server.propertiesを作成します およびeula.txt ファイルと停止。
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties
[17:35:15] [main/WARN]: Failed to load eula.txt
[17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
サーバーを実行するには、上記の出力に示されているように、MinecraftEULAに同意する必要があります。 eula.txtを開きます ファイルを作成してeula=falseを変更します eula=trueへ :
nano ~/server/eula.txt 〜/ server / eula.txt eula=true
ファイルを閉じて保存します。
次に、server.propertiesを開きます ファイルを作成してrconプロトコルを有効にし、rconパスワードを設定します。
nano ~/server/server.properties 以下に示すように、次の行を見つけて値を更新します。
〜/ server / server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
strong-passwordを変更することを忘れないでください 離れた場所からMinecraftサーバーに接続したくない場合は、rconポートがファイアウォールによってブロックされていることを確認してください。 ここで、サーバーのデフォルトのプロパティを調整することもできます。サーバー設定の詳細については、server.propertiesページにアクセスしてください。
Minecraftサーバーを手動で起動する代わりに、Systemdユニットファイルを作成し、Minecraftをサービスとして実行します。
exitと入力して、sudoユーザーに戻ります。 。
テキストエディタを開き、minecraft.serviceという名前のファイルを作成します /etc/systemd/system/にあります ディレクトリ:
sudo nano /etc/systemd/system/minecraft.service 次の構成を貼り付けます:
/etc/systemd/system/minecraft.service[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
[Install]
WantedBy=multi-user.target
Xmxを変更します およびXms サーバーリソースに応じたフラグ。 Xmx フラグは、Java仮想マシン(JVM)の最大メモリ割り当てプールを定義し、Xms 初期メモリ割り当てプールを定義します。また、正しいrconを使用していることを確認してください ポートとパスワード。
ファイルを保存し、systemdマネージャー構成をリロードします:
sudo systemctl daemon-reload これで、次のように入力してMinecraftサーバーを起動できます。
sudo systemctl start minecraft 初めてサービスを開始すると、Minecraftの世界を含むいくつかの構成ファイルとディレクトリが生成されます。
次のコマンドでサービスステータスを確認します。
sudo systemctl status minecraft ● minecraft.service - Minecraft Server
Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-23 17:48:44 UTC; 8s ago
Main PID: 1338035 (java)
Tasks: 15 (limit: 1074)
Memory: 465.3M
CGroup: /system.slice/minecraft.service
└─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
最後に、Minecraftサービスが起動時に自動的に開始されるようにします:
sudo systemctl enable minecraft
Ubuntuには、UFWと呼ばれるファイアウォール構成ツールが付属しています。システムでファイアウォールが有効になっていて、ローカルネットワークの外部からMinecraftサーバーにアクセスする場合は、ポート25565を開く必要があります。 :
sudo ufw allow 25565/tcp バックアップの構成#
このセクションでは、Minecraftサーバーを自動的にバックアップするためのバックアップシェルスクリプトとcronジョブを作成します。
minecraftに切り替えます :
sudo su - minecraft テキストエディタを開き、次のファイルを作成します。
nano /opt/minecraft/tools/backup.sh 次の構成を貼り付けます:
/opt/minecraft/tools/backup.sh#!/bin/bash
function rcon {
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1"
}
rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
ファイルを保存し、スクリプトを実行可能にします:
chmod +x /opt/minecraft/tools/backup.sh 次に、1日に1回、決まった時間に自動的に実行されるcronジョブを作成します。
次のように入力してcrontabファイルを開きます。
crontab -e 毎日23:00にバックアップスクリプトを実行するには、次の行を貼り付けます。
0 23 * * * /opt/minecraft/tools/backup.sh
Minecraftコンソールへのアクセス#
Minecraftコンソールにアクセスするには、mcrconを使用します 効用。ホスト、rconポート、rconパスワードを指定し、-tを使用する必要があります mcrconを有効にするスイッチ ターミナルモード:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t Logged in. Type "Q" to quit!
>
離れた場所からMinecraftコンソールにアクセスする場合は、rconポートがブロックされていないことを確認してください。
Minecraftコンソールに定期的に接続している場合は、この長いコマンドを入力する代わりに、bashエイリアスを作成します。