Minecraft je jednou z nejpopulárnějších her všech dob. Je to sandboxová videohra o stavbě různých staveb a dobrodružstvích.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat Minecraft Server na Debian 9. Ke spuštění serveru Minecraft a mcrcon
použijeme Systemd nástroj pro připojení k běžící instanci. Také vám ukážeme, jak vytvořit cronjob, který bude provádět pravidelné zálohování serveru.
Předpoklady #
Uživatel, pod kterým jste přihlášeni, musí mít oprávnění sudo.
Nainstalujte balíčky potřebné k sestavení mcrcon
nástroj:
sudo apt update
sudo apt install git build-essential
Instalace Java Runtime Environment #
Minecraft vyžaduje, aby byla v systému nainstalována Java 8.
Nainstalujeme bezhlavou verzi JRE. Tato verze je vhodnější pro serverové aplikace, protože má méně závislostí a využívá méně systémových prostředků:
sudo apt install openjdk-8-jre-headless
Ověřte instalaci spuštěním:
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)
Vytváření uživatele Minecraftu #
Dalším krokem je vytvoření nového systému uživatele a skupiny s domovským adresářem /opt/minecraft
který bude provozovat server Minecraft. Chcete-li tak učinit, spusťte následující příkaz:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Uživatel nebude mít žádné heslo. Toto je dobrý bezpečnostní postup, protože tento uživatel se nebude moci přihlásit přes SSH.
Instalace Minecraftu na Debian #
Před zahájením procesu instalace se ujistěte, že jste přepnuli na minecraft
uživatel.
sudo su - minecraft
Vytvořte tři nové adresáře v domovském adresáři uživatele:
mkdir -p ~/{backups,tools,server}
backups
adresář bude ukládat zálohu vašeho serveru. Později můžete tento adresář synchronizovat se vzdáleným záložním serverem.tools
adresář bude ukládatmcrcon
klient a zálohovací skript.server
adresář bude obsahovat skutečný Minecraft server a jeho data.
Stažení a kompilace mcrcon #
RCON je protokol, který vám umožňuje připojit se k serverům Minecraft a provádět příkazy. Klient mcronis RCON vestavěný v C.
Stáhneme si zdrojový kód z GitHubu a vytvoříme mcrcon
binární.
Začněte tím, že přejdete do ~/tools
a naklonujte Tiiffi/mcrcon
úložiště z GitHubu pomocí následujícího příkazu:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Přepněte se do adresáře úložiště:
cd ~/tools/mcrcon
Spusťte kompilaci mcrcon
nástroj spuštěním:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Po dokončení jej můžete otestovat zadáním:
./mcrcon -h
Výstup bude vypadat nějak takto:
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/
Stahování serveru Minecraft #
Existuje několik modulů serveru Minecraft, jako je Craftbukkitor Spigot, které vám umožňují přidávat funkce (pluginy) na váš server a dále upravovat a vylepšovat nastavení serveru. V tomto tutoriálu nainstalujeme nejnovější oficiální vanilkový Minecraft server Mojang.
Nejnovější archivní soubor Java serveru Minecraft (JAR) je k dispozici ke stažení ze stránky pro stahování Minecraftu.
V době psaní tohoto článku je nejnovější verze 1.14.1
. Než budete pokračovat dalším krokem, měli byste zkontrolovat stránku stahování, zda neobsahuje novou verzi.
Spusťte následující wget
příkaz ke stažení souboru jar Minecraft v ~/server
adresář:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Konfigurace serveru Minecraft #
Po dokončení stahování přejděte na ~/server
adresář a spusťte server Minecraft:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
Při prvním spuštění server provede některé operace a vytvoří server.properties
a eula.txt
soubory a zastávky.
[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.
Jak můžete vidět z výstupu výše, budete muset souhlasit s Minecraft EULA, abyste mohli provozovat server. Otevřete eula.txt
soubor a změňte eula=false
na 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
Zavřete a uložte soubor.
Dále povolte protokol rcon a nastavte heslo rcon úpravou server.properties
soubor:
nano ~/server/server.properties
Vyhledejte následující řádky a aktualizujte jejich hodnoty, jak je uvedeno níže:
~/server/server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
Nezapomeňte změnit strong-password
na něco bezpečnějšího. Pokud se nechcete k serveru Minecraft připojovat ze vzdálených míst, ujistěte se, že port rcon je blokován vaším firewallem. Můžete také upravit výchozí vlastnosti serveru. Další informace o možných nastaveních naleznete na stránce server.properties.
Vytváření souboru systémové jednotky #
Přepněte zpět na uživatele sudo zadáním exit
.
Otevřete textový editor a vytvořte soubor s názvem minecraft.service
v /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Vložte následující konfiguraci:
/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
Upravte Xmx
a Xms
příznaky podle zdrojů vašeho serveru. Xmx
příznak definuje maximální fond přidělení paměti pro virtuální stroj Java (JVM), zatímco Xms
definuje počáteční fond alokace paměti. Také se ujistěte, že používáte správný rcon
port a heslo.
Uložte a zavřete soubor a upozorněte systemd, že jsme vytvořili nový soubor jednotky:
sudo systemctl daemon-reload
Spusťte a povolte server Minecraft spuštěním:
sudo systemctl start minecraft
sudo systemctl enable minecraft
Při prvním spuštění služby vygeneruje několik konfiguračních souborů a adresářů včetně světa Minecraftu.
Zkontrolujte stav služby pomocí následujícího příkazu:
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
Úprava brány firewall #
Pokud je váš server chráněn firewallem a chcete k serveru Minecraft přistupovat z vnějšku vaší místní sítě, musíte otevřít port 25565
.
Chcete-li povolit provoz na výchozím portu Minecraftu 25565
zadejte následující příkaz:
sudo ufw allow 25565/tcp
Konfigurace záloh #
V této sekci vytvoříme záložní skript shellu a cronjob pro automatické zálohování serveru Minecraft.
Začněte přepnutím na userminecraft
:
sudo su - minecraft
Otevřete textový editor a vytvořte následující soubor:
nano /opt/minecraft/tools/backup.sh
Vložte následující konfiguraci:
/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
Uložte soubor a vytvořte spustitelný skript vydáním následujícího chmod
příkaz:
chmod +x /opt/minecraft/tools/backup.sh
Dále vytvořte úlohu cron, která se bude spouštět jednou za den automaticky v pevně stanovený čas.
Otevřete soubor crontab zadáním:
crontab -e
Chcete-li spouštět zálohovací skript každý den ve 23:00, vložte následující řádek:
0 23 * * * /opt/minecraft/tools/backup.sh
Přístup ke konzole Minecraft #
Pro přístup do Minecraft Console můžete použít mcrcon
užitečnost. Syntaxe je následující, musíte zadat hostitele, port rcon, heslo rcon a použít -t
přepínač, který povolí mcrcon
terminálový režim:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
>
Chcete-li přistupovat ke konzole Minecraft ze vzdáleného umístění, ujistěte se, že port rcon není blokován.
Pokud se pravidelně připojujete ke konzoli Minecraft, můžete místo psaní tohoto dlouhého příkazu vytvořit bash alias.