Android

Jak zainstalować serwer Minecraft na Debianie 9

Tworzenie serwera Minecraft na VPS

Tworzenie serwera Minecraft na VPS

Spisu treści:

Anonim

Minecraft to jedna z najpopularniejszych gier wszechczasów. Jest to gra wideo typu sandbox o budowaniu różnych struktur i przygodach.

W tym samouczku wyjaśniono, jak zainstalować i skonfigurować serwer Minecraft w systemie Debian 9. Użyjemy Systemd do uruchomienia serwera Minecraft i narzędzia mcrcon do połączenia z działającą instancją. Pokażemy Ci również, jak utworzyć cronjob, który będzie wykonywać regularne kopie zapasowe serwera.

Wymagania wstępne

Zalogowany użytkownik musi mieć uprawnienia sudo.

Zainstaluj pakiety wymagane do zbudowania narzędzia mcrcon :

sudo apt update sudo apt install git build-essential

Instalowanie środowiska wykonawczego programów Java

Minecraft wymaga zainstalowania Java 8 w systemie.

Zainstalujemy bezgłową wersję środowiska JRE. Ta wersja jest bardziej odpowiednia dla aplikacji serwerowych, ponieważ ma mniej zależności i zużywa mniej zasobów systemowych:

sudo apt install openjdk-8-jre-headless

Sprawdź instalację, uruchamiając:

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)

Tworzenie użytkownika Minecraft

Następnym krokiem jest utworzenie nowego użytkownika systemu i grupy z katalogiem /opt/minecraft który będzie uruchamiał serwer Minecraft. Aby to zrobić, uruchom następujące polecenie:

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

Użytkownik nie będzie miał hasła. Jest to dobra praktyka bezpieczeństwa, ponieważ ten użytkownik nie będzie mógł zalogować się przez SSH.

Instalowanie Minecraft na Debianie

Przed rozpoczęciem procesu instalacji upewnij się, że przełączasz się na użytkownika minecraft .

sudo su - minecraft

Utwórz trzy nowe katalogi w katalogu osobistym użytkownika:

mkdir -p ~/{backups, tools, server}

  • Katalog backups przechowuje kopię zapasową serwera. Możesz później zsynchronizować ten katalog ze zdalnym serwerem kopii zapasowej. Katalog tools będzie przechowywać klienta mcrcon i skrypt kopii zapasowej. Katalog server będzie zawierał rzeczywisty serwer Minecraft i jego dane.

Pobieranie i kompilowanie mcrcon

RCON to protokół, który pozwala łączyć się z serwerami Minecraft i wykonywać polecenia. mcron to klient RCON zbudowany w C.

mcrcon kod źródłowy z GitHub i budujemy mcrcon binarny mcrcon .

Zacznij od przejścia do katalogu ~/tools i Tiiffi/mcrcon repozytorium Tiiffi/mcrcon z GitHub przy użyciu następującego polecenia:

cd ~/tools && git clone

Przejdź do katalogu repozytorium:

cd ~/tools/mcrcon

Rozpocznij kompilację narzędzia mcrcon , uruchamiając:

gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

Po zakończeniu możesz go przetestować, wpisując:

./mcrcon -h

Dane wyjściowe będą wyglądać mniej więcej tak:

Usage: mcrcon…… 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

Pobieranie serwera Minecraft

Istnieje kilka modów serwera Minecraft, takich jak Craftbukkit lub Spigot, które pozwalają dodawać funkcje (wtyczki) na serwerze oraz dodatkowo dostosowywać i poprawiać ustawienia serwera. W tym samouczku zainstalujemy najnowszy oficjalny waniliowy serwer Minecraft firmy Mojang.

Najnowszy plik archiwum Java (JAR) serwera Minecraft jest dostępny do pobrania ze strony pobierania Minecraft.

W chwili pisania tego tekstu najnowsza wersja to 1.14.1 . Przed przejściem do następnego kroku sprawdź stronę pobierania pod kątem nowej wersji.

Uruchom następującą komendę wget aby pobrać plik jar Minecraft z katalogu ~/server :

wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server

Konfigurowanie serwera Minecraft

Po zakończeniu pobierania przejdź do katalogu ~/server i uruchom serwer Minecraft:

cd ~/server java -Xmx1024M -Xms512M -jar server.jar nogui

Kiedy serwer jest uruchamiany po raz pierwszy, wykonuje pewne operacje i tworzy pliki server.properties i eula.txt i zatrzymuje się.

: Failed to load properties from file: server.properties: Failed to load eula.txt: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Jak widać z powyższych danych wyjściowych, musisz zgodzić się na umowę licencyjną Minecraft, aby uruchomić serwer. Otwórz plik eula.txt i zmień 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

Zamknij i zapisz plik.

Następnie włącz protokół rcon i ustaw hasło rcon, edytując plik server.properties :

nano ~/server/server.properties

Znajdź następujące wiersze i zaktualizuj ich wartości, jak pokazano poniżej:

~ / server / server.properties

rcon.port=25575 rcon.password=strong-password enable-rcon=true Nie zapomnij zmienić strong-password na coś bardziej bezpiecznego. Jeśli nie chcesz łączyć się z serwerem Minecraft ze zdalnych lokalizacji, upewnij się, że port rcon jest zablokowany przez zaporę.

Możesz także dostosować domyślne właściwości serwera. Aby uzyskać więcej informacji o możliwych ustawieniach, odwiedź stronę server.properties.

Tworzenie pliku jednostki systemowej

Wróć do użytkownika sudo, wpisując polecenie exit .

Otwórz edytor tekstu i utwórz plik o nazwie minecraft.service w /etc/systemd/system/ :

sudo nano /etc/systemd/system/minecraft.service

Wklej następującą konfigurację:

/etc/systemd/system/minecraft.service

Description=Minecraft Server After=network.target 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 WantedBy=multi-user.target

Zmodyfikuj flagi Xmx i Xms zgodnie z zasobami serwera. Flaga Xmx określa maksymalną pulę alokacji pamięci dla maszyny wirtualnej Java (JVM), a Xms określa początkową pulę alokacji pamięci. Upewnij się także, że używasz poprawnego portu rcon i hasła.

Zapisz i zamknij plik i powiadom systemd, że utworzyliśmy nowy plik jednostki:

sudo systemctl daemon-reload

Uruchom i włącz serwer Minecraft, wykonując:

sudo systemctl start minecraft sudo systemctl enable minecraft

Przy pierwszym uruchomieniu usługa wygeneruje kilka plików konfiguracyjnych i katalogów, w tym świat Minecraft.

Sprawdź status usługi za pomocą następującego polecenia:

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

Dostosowywanie zapory ogniowej

Jeśli twój serwer jest chroniony zaporą ogniową i chcesz uzyskać dostęp do serwera Minecraft z zewnątrz sieci lokalnej, musisz otworzyć port 25565 .

Aby zezwolić na ruch na domyślnym porcie 25565 Minecraft, wpisz następujące polecenie:

sudo ufw allow 25565/tcp

Konfigurowanie kopii zapasowych

W tej sekcji utworzymy skrypt powłoki kopii zapasowej i cronjob, aby automatycznie wykonać kopię zapasową serwera Minecraft.

Zacznij od przejścia do użytkownika minecraft :

sudo su - minecraft

Otwórz edytor tekstu i utwórz następujący plik:

nano /opt/minecraft/tools/backup.sh

Wklej następującą konfigurację:

/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_%R).tar.gz /opt/minecraft/server rcon "save-on" ## Delete older backups find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

Zapisz plik i włącz wykonywanie skryptu, wydając następującą komendę chmod :

chmod +x /opt/minecraft/tools/backup.sh

Następnie utwórz zadanie cron, które będzie uruchamiane raz dziennie automatycznie o ustalonej godzinie.

Otwórz plik crontab, wpisując:

crontab -e

Aby uruchomić skrypt tworzenia kopii zapasowej codziennie o 23:00, wklej następujący wiersz:

0 23 * * * /opt/minecraft/tools/backup.sh

Dostęp do konsoli Minecraft

Aby uzyskać dostęp do konsoli Minecraft, możesz użyć narzędzia mcrcon . Składnia jest następująca: musisz podać host, port rcon, hasło rcon i użyć przełącznika -t który włącza tryb terminala mcrcon :

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t

Logged in. Type "Q" to quit! >

Aby uzyskać dostęp do konsoli Minecraft ze zdalnej lokalizacji, upewnij się, że port rcon nie jest zablokowany.

Wniosek

Pomyślnie zainstalowałeś serwer Minecraft w systemie Debian 9 i skonfigurowałeś codzienną kopię zapasową.

java Minecraft Debian