 
 Minecraftは、これまでで最も人気のあるゲームの1つです。これは、ブロックを配置して冒険をすることについてのサンドボックスビデオゲームです。
 このチュートリアルでは、CentOS7にMinecraftサーバーをインストールして構成するために必要な手順を実行します。Systemdを使用してMinecraftサーバーとmcrconを実行します。 実行中のインスタンスに接続するためのユーティリティ。また、Cronジョブを使用して自動サーバーバックアップをスケジュールする方法についても説明します。
前提条件#
としてログインしているユーザーは、パッケージをインストールするためにsudo権限を持っている必要があります。
 mcrconのビルドに必要なパッケージをインストールします ツール:
sudo yum install gitsudo yum group install "Development Tools"
Javaランタイム環境のインストール#
MinecraftにはJava8以降が必要です。 Minecraftサーバーはグラフィカルユーザーインターフェイスを必要としないため、ヘッドレスバージョンのopenjdkをインストールします。このバージョンは、依存関係が少なく、システムリソースの使用量が少ないため、サーバーアプリケーションに適しています。
Javaのインストールは非常に簡単で、実行するだけです:
sudo yum install java-1.8.0-openjdk-headlessJavaバージョンを印刷してインストールを確認します:
java -versionopenjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Minecraftユーザーの作成#
セキュリティ上の理由から、rootユーザーでMinecraftとしてサービスを実行することはお勧めしません。
 新しいシステムユーザーとグループminecraftを作成します ホームディレクトリ/opt/minecraftを使用 Minecraftサーバーを実行します:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
 このユーザーのパスワードは設定しません。このユーザーはSSH経由でログインできないため、これは適切なセキュリティ対策です。 minecraftに変更するには rootまたはsudo権限を持つユーザーとしてサーバーにログインする必要があるユーザー。
CentOSへのMinecraftのインストール#
 インストールプロセスを開始する前に、必ずuser 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コンパイラを使用するユーティリティ:
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 ~/serverMinecraftサーバーの構成#
 ~/serverに移動します ディレクトリを作成し、Minecraftサーバーを起動します:
cd ~/serverjava -Xmx1024M -Xms512M -jar server.jar nogui
 サーバーを初めて起動すると、いくつかの操作が実行され、server.propertiesが作成されます。 およびeula.txt ファイルと停止。
[14:33:44] [main/ERROR]: Failed to load properties from file: server.properties
[14:33:45] [main/WARN]: Failed to load eula.txt
[14:33: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#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
ファイルを閉じて保存します。
 次に、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ユニットファイルを作成します。
 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サービスを最初に開始すると、Minecraftの世界を含むいくつかの構成ファイルとディレクトリが生成されます。
次のコマンドでサービスステータスを確認します。
sudo systemctl status minecraft● minecraft.service - Minecraft Server
   Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago
 Main PID: 17356 (java)
   CGroup: /system.slice/minecraft.service
           └─17356 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole
Minecraftサービスが起動時に自動的に開始されるようにします:
sudo systemctl enable minecraft
 サーバーがローカルネットワークの外部からMinecraftサーバーにアクセスするためにファイアウォールで保護されている場合は、ポート25565を開く必要があります。 :
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcpsudo firewall-cmd --reload
バックアップの構成#
このセクションでは、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.shcrontabファイルを開き、1日に1回、決まった時間に自動的に実行されるcronジョブを作成します。
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 -tLogged in. Type "Q" to quit!
>
Minecraftコンソールに定期的に接続している場合は、この長いコマンドを入力する代わりに、bashエイリアスを作成する必要があります。