Minecraftは、これまでで最も人気のあるゲームの1つです。これは、さまざまな構造を構築して冒険を続けることについてのサンドボックスビデオゲームです。
このチュートリアルでは、Debian9にMinecraftサーバーをインストールして構成する方法について説明します。Systemdを使用してMinecraftサーバーとmcrcon
を実行します。 実行中のインスタンスに接続するためのユーティリティ。また、定期的なサーバーバックアップを実行するcronジョブを作成する方法も示します。
前提条件#
ログインしているユーザーにはsudo権限が必要です。
mcrcon
のビルドに必要なパッケージをインストールします ツール:
sudo apt update
sudo apt install git build-essential
Javaランタイム環境のインストール#
Minecraftでは、Java8がシステムにインストールされている必要があります。
JREのヘッドレスバージョンをインストールします。このバージョンは、依存関係が少なく、システムリソースの使用量が少ないため、サーバーアプリケーションに適しています。
sudo apt install openjdk-8-jre-headless
次を実行してインストールを確認します:
java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
Minecraftユーザーの作成#
次のステップは、ホームディレクトリ/opt/minecraft
を使用して新しいシステムユーザーとグループを作成することです。 Minecraftサーバーを実行します。これを行うには、次のコマンドを実行します。
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
ユーザーにはパスワードがありません。このユーザーはSSH経由でログインできないため、これは優れたセキュリティ対策です。
DebianへのMinecraftのインストール#
インストールプロセスを開始する前に、必ずminecraft
に切り替えてください ユーザー。
sudo su - minecraft
ユーザーのホームディレクトリ内に3つの新しいディレクトリを作成します。
mkdir -p ~/{backups,tools,server}
backups
ディレクトリはサーバーのバックアップを保存します。後でこのディレクトリをリモートバックアップサーバーに同期できます。tools
ディレクトリにはmcrcon
が保存されます クライアントとバックアップスクリプト。server
ディレクトリには、実際のMinecraftサーバーとそのデータが含まれます。
mcrconのダウンロードとコンパイル#
RCONは、Minecraftサーバーに接続してコマンドを実行できるようにするプロトコルです。 Cに組み込まれたmcronisRCONクライアント。
GitHubからソースコードをダウンロードして、mcrcon
をビルドします バイナリ。
~/tools
に移動することから始めます ディレクトリを作成し、Tiiffi/mcrcon
のクローンを作成します 次のコマンドを使用してGitHubからリポジトリを作成します:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
リポジトリディレクトリに切り替えます:
cd ~/tools/mcrcon
mcrcon
のコンパイルを開始します 実行によるユーティリティ:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
完了したら、次のように入力してテストできます。
./mcrcon -h
出力は次のようになります:
Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
Option:
-h Print usage
-H Server address
-P Port (default is 25575)
-p Rcon password
-t Interactive terminal mode
-s Silent mode (do not print received packets)
-c Disable colors
-r Output raw packets (debugging and custom handling)
-v Output version information
Server address, port and password can be set using following environment variables:
MCRCON_HOST
MCRCON_PORT
MCRCON_PASS
Command-line options will override environment variables.
Rcon commands with arguments must be enclosed in quotes.
Example:
mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop
mcrcon 0.6.1 (built: May 19 2019 23:39:16)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Minecraftサーバーのダウンロード#
サーバーに機能(プラグイン)を追加し、サーバー設定をさらにカスタマイズおよび微調整できるCraftbukkitorSpigotのようないくつかのMinecraftサーバーmodがあります。このチュートリアルでは、最新のMojangの公式バニラMinecraftサーバーをインストールします。
最新のMinecraftサーバーのJavaアーカイブファイル(JAR)は、Minecraftダウンロードページからダウンロードできます。
執筆時点では、最新バージョンは1.14.1
です。 。次の手順に進む前に、ダウンロードページで新しいバージョンを確認する必要があります。
次のwget
を実行します ~/server
にあるMinecraftjarファイルをダウンロードするコマンド ディレクトリ:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Minecraftサーバーの構成#
ダウンロードが完了したら、~/server
に移動します ディレクトリを作成し、Minecraftサーバーを起動します:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
サーバーを初めて起動すると、いくつかの操作が実行され、server.properties
が作成されます。 およびeula.txt
ファイルと停止。
[23:41:44] [main/ERROR]: Failed to load properties from file: server.properties
[23:41:45] [main/WARN]: Failed to load eula.txt
[23:41:45] [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 #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun May 19 23:41:45 PDT 2019
eula=true
ファイルを閉じて保存します。
次に、rconプロトコルを有効にし、server.properties
を編集してrconパスワードを設定します。 ファイル:
nano ~/server/server.properties
次の行を見つけて、以下に示すように値を更新します。
〜/ server / server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
strong-password
を変更することを忘れないでください 離れた場所からMinecraftサーバーに接続したくない場合は、rconポートがファイアウォールによってブロックされていることを確認してください。 サーバーのデフォルトのプロパティを調整することもできます。可能な設定の詳細については、server.propertiesページにアクセスしてください。
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 -Xms512M -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
sudo systemctl enable 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 Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 7262 (java)
Tasks: 19 (limit: 4915)
CGroup: /system.slice/minecraft.service
└─7262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
サーバーがファイアウォールで保護されていて、ローカルネットワークの外部からMinecraftサーバーにアクセスする場合は、ポート25565
を開く必要があります。 。
デフォルトの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
を発行して、ファイルを保存し、スクリプトを実行可能にします。 コマンド:
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エイリアスを作成できます。