GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Minecraft Server na Ubuntu 18.04

Minecraft je jednou z nejpopulárnějších her všech dob. Je to sandboxová videohra, která svým hráčům umožňuje prozkoumávat nekonečné světy a stavět vše od jednoduchých domů po velké mrakodrapy.

Tento tutoriál popisuje instalaci a konfiguraci serveru Minecraft na Ubuntu 18.04. 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ý provádí pravidelné zálohování serveru.

Stejné pokyny platí pro Ubuntu 16.04 a jakoukoli distribuci založenou na Ubuntu, včetně Linux Mint a Elementary OS.

Předpoklady #

Uživatel, pod kterým jste přihlášeni, musí mít oprávnění sudo, aby mohl instalovat balíčky.

Nainstalujte balíčky potřebné k sestavení mcrcon nástroj:

sudo apt updatesudo apt install git build-essential

Instalace Java Runtime Environment #

Minecraft vyžaduje Java 8 nebo vyšší. Protože Minecraft Server nepotřebuje grafické uživatelské rozhraní, 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ů.

Nainstalujte bezhlavý balíček OpenJRE 8 spuštěním:

sudo apt install openjdk-8-jre-headless

Ověřte instalaci vytištěním verze 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)

Vytváření uživatele Minecraftu #

Z bezpečnostních důvodů by Minecraft neměl být spuštěn pod uživatelem root. Vytvoříme nový systémový uživatel a skupinu s domovským adresářem /opt/minecraft na kterém bude spuštěn server Minecraft:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

Pro tohoto uživatele nebudeme nastavovat heslo. Toto je dobrý bezpečnostní postup, protože tento uživatel se nebude moci přihlásit přes SSH. Chcete-li přejít na minecraft musíte být přihlášeni k serveru jako root nebo uživatel s právy sudo.

Instalace Minecraftu na Ubuntu #

Před zahájením procesu instalace se ujistěte, že jste přepnuli na minecraft uživatel.

sudo su - minecraft

Spusťte následující příkaz k vytvoření tří nových adresářů 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ádat mcrcon 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

Po dokončení klonování se přepněte do adresáře úložiště:

cd ~/tools/mcrcon

Spusťte kompilaci mcrcon utility zadá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 této příručce 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 ~/serverjava -Xmx1024M -Xms512M -jar server.jar nogui

Když server spustíte poprvé, 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, musíme souhlasit s Minecraft EULA, abychom 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 musíme upravit server.properties soubor pro povolení protokolu rcon a nastavení hesla rcon. Otevřete soubor pomocí textového editoru:

nano ~/server/server.properties

Vyhledejte následující řádky a aktualizujte jejich hodnoty, jak je uvedeno níže:

~/server/server.properties
rcon.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.

Zde 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 #

Pro spuštění Minecraftu jako služby vytvoříme nový soubor jednotky Systemd.

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 znovu načtěte konfiguraci správce systému:

sudo systemctl daemon-reload

Nyní můžete spustit server Minecraft spuštěním:

sudo systemctl start 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: 11262 (java)
    Tasks: 19 (limit: 2319)
   CGroup: /system.slice/minecraft.service
           `-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui

Nakonec povolte automatické spuštění služby Minecraft při spouštění:

sudo systemctl enable minecraft

Ú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 spuště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!
> 

Při přístupu ke konzole Minecraft ze vzdáleného umístění se ujistěte, že port rcon není blokován.

Pokud se pravidelně připojujete ke konzoli Minecraft, místo psaní tohoto dlouhého příkazu byste měli vytvořit bash alias.


Ubuntu
  1. Jak nainstalovat Zimbru 8.6 na server Ubuntu 14.04

  2. Jak nainstalovat Minecraft Server na Ubuntu 18.04 LTS

  3. Jak nainstalovat Minecraft Server na Ubuntu 20.04 LTS

  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nainstalovat MariaDB na Ubuntu 20.04

  1. Jak vytvořit Minecraft Server na Ubuntu 20.04

  2. Jak nainstalovat VNC Server na Ubuntu 14.04

  3. Jak nainstalovat Spigot Minecraft Server na Ubuntu 20.04