Minecraft

Minecraft on Centos7


minecraft.net

Minecraft este unul dintre cele mai populare jocuri din toate timpurile. Este un joc video cu sandbox despre plasarea blocurilor și aventuri. In acest tutorial, vom parcurge pasii necesari pentru instalarea si configurarea Minecraft Server pe CentOS 7. Vom folosi Systemd pentru a rula serverul Minecraft și utilitarul mcrcon pentru conectarea la instanta care ruleaza. De asemenea, va voi arata cum să programati copiile de rezerva automate ale serverului utilizand Cron.

Conditii prealabile:

Utilizatorul la care sunteti conectat trebuie să aiba privilegii sudo pentru a putea instala pachete. Instalati pachetele necesare pentru a construi instrumentul mcrcon:

Ce este mcrcon aici

# sudo yum install gitsudo

# sudo yum group install "Development Tools"

Instalarea Java Runtime Environment

Minecraft necesita Java 8 sau o versiune ulterioara. Deoarece serverul Minecraft nu are nevoie de o interfata grafica pentru utilizator, vom instala versiunea openjdk. Aceasta versiune este mai potrivita pentru aplicatiile de server, deoarece are mai putine dependente și foloseste mai putine resurse de sistem.

Instalarea Java este destul de simpla, pur și simplu rulati:

# sudo yum install java-1.8.0-openjdk-headless

Verificati instalarea copiind textul de mai jos Java:

# java -version

Asa trebuie sa apara:

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)

Crearea utilizatorului Minecraft:

Rularea serviciilor ca Minecraft sub utilizatorul root nu este recomandata din motive de securitate.

Vom crea un nou utilizator de sistem și grupam Minecraft cu directorul principal / opt / minecraft care va rula serverul Minecraft:

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

Nu vom seta o parola pentru acest utilizator. Aceasta este o buna practica de securitate, deoarece acest utilizator nu se va putea conecta prin SSH. Pentru a trece la utilizatorul Minecraft va trebui sa va conectati la server ca root sau utilizator cu privilegii sudo.

Instalarea Minecraft pe CentOS:

Inainte de a incepe cu procesul de instalare, asigurati-va ca treceti la utilizatorul Minecraft:

# su minecraft

Creati trei directoare noi în directorul principal al utilizatorului utilizand următoarea comanda:

# mkdir -p ~/{backups,tools,server}
Backups Directorul va stoca backup-ul serverului. Ulterior, puteti sincroniza acest director cu serverul dvs. de rezerva la distanta.

Tools Directorul va stoca mcrconclientul și script-ul de backup.

Server Directorul va conține serverul real Minecraft și date.

Vom descărca codul sursa din GitHub și vom construi mcrconbinarul.

Incepeți prin mutarea în ~ / toolsdirector și clonați Tiiffi / mcrcondepozitul din GitHub folosind următoarea comandă:

# cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git

Odata clonat depozitul, navigați la directorul său:

# cd ~/tools/mcrcon



Construiti mcrconutilitarul utilizand compilatorul GCC :

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

După finalizare, testati-l tastand:

# ./mcrcon -h

Iesirea va arata asa:

Ieșirea va arata cam asa:

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/

Descarcarea Minecraft Server

Exista mai multe moduri de server Minecraft, cum ar fi Craftbukkit sau Spigot, care va permit să adaugați caracteristici (plugin-uri) pe serverul dvs. și sa personalizați și sa modificați in continuare setarile serverului. In acest tutorial, vom instala cel mai recent server oficial Minecraft de vanilie Mojang.

Fișierul de arhivă Java (JAR) al celui mai recent server Minecraft este disponibil pentru descărcare de pe pagina de descărcare Minecraft .

La momentul scrierii, ultima versiune este 1.16.4. Inainte de a continua cu pasul urmator, ar trebui să verificati pagina de descarcare pentru o noua versiune.

Rulati următoarea wget comanda pentru a descarca fișierul jar Minecraft in ~/serverdirector.

#wgethttps://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server

Configurarea serverului Minecraft

Navigati la ~/serverdirector și porniti serverul Minecraft:

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

Cand porniti serverul pentru prima data, executa unele operatii și creeaza server.properties AND eula.txt fisiere și se opreste.

[14:33:44] [main/ERROR]: Failed to load properties from file: server.properties
[14:33:45] [main/WARN]: Failed to load eula.txt
[14:33:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Va trebui să fiti de acord cu Minecraft EULA pentru a rula serverul. Deschideti eula.txt fisierul si schimbați eula=false in eula=true:

# nano ~/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 2019eula=true




Inchideti și salvati fisierul.

Apoi, deschideți server.properties fisierul, activati protocolul rcon și setati parola rcon: „parola dvs”

Gasiti urmatoarele randuri și actualizați-le valorile așa cum se arata mai jos:

         # ~ / server / server.properties
rcon.port=25575
rcon.password=strong-password
enable-rcon=true

In timp ce va aflati aici, puteti regla și proprietatile implicite ale serverului. Pentru mai multe informatii despre setarile posibile, vizitati pagina server.properties .

Crearea fisierului Systemd Unit 

Pentru a rula Minecraft ca serviciu, vom crea un nou fisier unitate Systemd. Reveniți la utilizatorul sudo tastând exit. Deschideti editorul de text și creati un fisier numit minecraft.serviceîn /etc/systemd/system/:

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

Lipiti urmatoarea configuratie:

[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

Modificati marcajele Xmx si in Xms functie de resursele serverului. Xmx Pavilion definește piscina maxima de alocare de memorie pentru o masina virtuala Java (JVM), in timp ce Xms defineste categoria initiala de alocare de memorie. De asemenea, asigurați-va ca utilizati rcon portul si parola dvs .

Salvati si inchideti fisierul si informati systemd ca am creat un nou fisier unitate:

# sudo systemctl daemon-reload

Acum puteți porni serverul Minecraft executând:

# sudo systemctl start minecraft

În momentul în care porniti serviciul, va genera mai multe fisiere de configurare și directoare, inclusiv lumea Minecraft.

Verificati starea serviciului cu următoarea comanda:

# 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

Activati serviciul Minecraft pentru a porni automat la momentul pornirii:

# sudo systemctl enable minecraft

Setari firewall:

Daca serverul dvs. este protejat de un firewall pentru a accesa serverul Minecraft din exteriorul retelei locale, trebuie să deschideti portul 25565:

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

# sudo firewall-cmd --reload
Configurarea copiilor de rezerva:

În această secțiune, vom crea un script de backup și cronjob pentru a face automat backup pentru serverul Minecraft.

Începeți prin trecerea la minecraftutilizator:

# sudo su – minecraft

Deschideti editorul de text și creati urmatorul fisier:

# nano /opt/minecraft/tools/backup.sh

Lipiti urmatoarea configuratie:

#!/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/serverrcon "save-on" 

## Delete older backupsfind /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

Faceti scriptul executabil prin emiterea urmatoarei chmod comenzi:

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

Deschideti fișierul crontab și creati cron job care va rula o data pe zi automat la o oră fixa:

# crontab –e

Vom rula scriptul de rezerva in fiecare zi la 23: 00h:

0 23 * * * /opt/minecraft/tools/backup.sh
Accesarea Consolei Minecraft

Pentru a accesa Minecraft Console puteti utiliza mcrcon utilitarul.

Sintaxa este urmatoarea, trebuie sa specificaai gazda, portul rcon, parola rcon și să utilizati -t comutatorul care activeaza mcrcon modul terminal:

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

Logged in. Type "Q" to quit!> 

Daca va conectati în mod regulat la consola Minecraft, in loc sa tastati aceasta comanda lunga, ar trebui să creati un alias bash .

Concluzie

Ati instalat cu succes serverul Minecraft pe sistemul dvs. CentOS 7 si ati configurat o copie de rezerva zilnica. Daca intampinați o problema sau aveti feedback, lasati un comentariu mai jos.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Translate »