Android

Jak zainstalować serwer Minecraft na Centos 7

How to Install a Minecraft Server on CentOS 7.6

How to Install a Minecraft Server on CentOS 7.6

Spisu treści:

Anonim

Minecraft to jedna z najpopularniejszych gier wszechczasów. Jest to gra wideo typu sandbox o układaniu klocków i przygodach.

W tym samouczku przeprowadzimy kroki niezbędne do zainstalowania i skonfigurowania serwera Minecraft na CentOS 7. Użyjemy Systemd do uruchomienia serwera Minecraft i narzędzia mcrcon do połączenia z działającą instancją. Pokażemy również, jak zaplanować automatyczne tworzenie kopii zapasowych serwera za pomocą zadania Cron.

Wymagania wstępne

Zalogowany użytkownik musi mieć uprawnienia sudo, aby móc instalować pakiety.

Zainstaluj pakiety wymagane do zbudowania narzędzia mcrcon :

sudo yum install git sudo yum group install "Development Tools"

Instalowanie środowiska wykonawczego programów Java

Minecraft wymaga Java 8 lub nowszej wersji. Ponieważ serwer Minecraft nie potrzebuje graficznego interfejsu użytkownika, zainstalujemy bezgłową wersję openjdk. Ta wersja jest bardziej odpowiednia dla aplikacji serwerowych, ponieważ ma mniej zależności i zużywa mniej zasobów systemowych.

Instalacja Java jest dość prosta, wystarczy uruchomić:

sudo yum install java-1.8.0-openjdk-headless

Sprawdź instalację, drukując wersję Java:

java -version

openjdk 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)

Tworzenie użytkownika Minecraft

Uruchamianie usług jako Minecraft jako użytkownik root nie jest zalecane ze względów bezpieczeństwa.

Stworzymy nowego użytkownika systemu i minecraft z katalogiem domowym /opt/minecraft który będzie obsługiwał serwer Minecraft:

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

Nie będziemy ustawiać hasła dla tego użytkownika. Jest to dobra praktyka bezpieczeństwa, ponieważ ten użytkownik nie będzie mógł zalogować się przez SSH. Aby przejść do użytkownika minecraft , musisz być zalogowany na serwerze jako użytkownik root lub użytkownik z uprawnieniami sudo.

Instalowanie Minecraft na CentOS

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

sudo su - minecraft

Utwórz trzy nowe katalogi w katalogu osobistym użytkownika za pomocą następującego polecenia:

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, używając następującej komendy:

cd ~/tools && git clone

Po sklonowaniu repozytorium przejdź do jego katalogu:

cd ~/tools/mcrcon

Zbuduj narzędzie mcrcon przy użyciu kompilatora GCC:

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

Po zakończeniu przetestuj, 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

Przejdź do katalogu ~/server i uruchom serwer Minecraft:

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

Po uruchomieniu serwera po raz pierwszy wykonuje on pewne operacje, 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.

Aby uruchomić serwer, musisz wyrazić zgodę na warunki umowy EU Minecraft. 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 otwórz plik server.properties , włącz protokół rcon i ustaw hasło rcon:

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ę.

W tym miejscu 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

Aby uruchomić Minecraft jako usługę, utworzymy nowy plik jednostki Systemd.

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

Teraz możesz uruchomić serwer Minecraft, wykonując:

sudo systemctl start 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: 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

Włącz usługę Minecraft, aby była automatycznie uruchamiana podczas uruchamiania:

sudo systemctl enable minecraft

Dostosowywanie zapory ogniowej

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

sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp sudo firewall-cmd --reload

Konfigurowanie kopii zapasowych

W tej sekcji utworzymy skrypt 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

Ustaw skrypt jako wykonywalny, wydając następującą komendę chmod :

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

Otwórz plik crontab i utwórz cronjob, który będzie uruchamiany raz dziennie automatycznie o ustalonej godzinie:

crontab -e

Uruchomimy skrypt kopii zapasowej codziennie o 23:00:

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! >

Wniosek

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

java minecraft centos