Minecraftは、これまでで最も人気のあるゲームの1つです。これはサンドボックスビデオゲームであり、プレーヤーは無限の世界を探索し、シンプルな家から大きな超高層ビルまであらゆるものを構築できます。
このチュートリアルでは、Ubuntu18.04でのMinecraftサーバーのインストールと構成について説明します。 Systemdを使用してMinecraftサーバーとmcrconを実行します 実行中のインスタンスに接続するためのユーティリティ。また、定期的なサーバーバックアップを実行するcronジョブを作成する方法も示します。
同じ手順がUbuntu16.04と、LinuxMintやElementaryOSを含むUbuntuベースのディストリビューションにも当てはまります。
前提条件#
としてログインしているユーザーは、パッケージをインストールするためにsudo権限を持っている必要があります。
mcrconのビルドに必要なパッケージをインストールします ツール:
sudo apt updatesudo apt install git build-essential
Javaランタイム環境のインストール#
MinecraftにはJava8以降が必要です。 Minecraft Serverはグラフィカルユーザーインターフェイスを必要としないため、ヘッドレスバージョンのJREをインストールします。このバージョンは、依存関係が少なく、システムリソースの使用量が少ないため、サーバーアプリケーションに適しています。
次のコマンドを実行して、ヘッドレスOpenJRE8パッケージをインストールします。
sudo apt install openjdk-8-jre-headless Javaバージョンを印刷してインストールを確認します:
java -version openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
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ディレクトリはサーバーのバックアップを保存します。後でこのディレクトリをリモートバックアップサーバーに同期できます。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 ~/serverjava -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
ファイルを閉じて保存します。
次に、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: enabled)
Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 11262 (java)
Tasks: 19 (limit: 2319)
CGroup: /system.slice/minecraft.service
`-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
最後に、Minecraftサービスが起動時に自動的に開始されるようにします:
sudo systemctl enable minecraft
サーバーがファイアウォールで保護されていて、ローカルネットワークの外部から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エイリアスを作成する必要があります。