Android

วิธีการติดตั้งเซิร์ฟเวอร์ minecraft บน centos 7

How to get command blocks in minecraft

How to get command blocks in minecraft

สารบัญ:

Anonim

Minecraft เป็นเกมที่ได้รับความนิยมมากที่สุดตลอดกาล มันเป็นวิดีโอเกมแซนด์บ็อกซ์เกี่ยวกับการวางบล็อคและออกไปผจญภัย

ในบทช่วยสอนนี้เราจะทำตามขั้นตอนที่จำเป็นในการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ Minecraft บน CentOS 7 เราจะใช้ Systemd เพื่อเรียกใช้เซิร์ฟเวอร์ Minecraft และยูทิลิตี้ mcrcon สำหรับเชื่อมต่อกับอินสแตนซ์ที่กำลังทำงานอยู่ นอกจากนี้เราจะแสดงวิธีกำหนดเวลาการสำรองข้อมูลเซิร์ฟเวอร์อัตโนมัติโดยใช้งาน Cron

ข้อกำหนดเบื้องต้น

ผู้ใช้ที่คุณเข้าสู่ระบบต้องมีสิทธิ์ sudo เพื่อให้สามารถติดตั้งแพ็คเกจได้

ติดตั้งแพ็กเกจที่ต้องการเพื่อสร้างเครื่องมือ mcrcon :

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

การติดตั้ง Java Runtime Environment

Minecraft ต้องการ Java 8 หรือสูงกว่า เนื่องจากเซิร์ฟเวอร์ Minecraft ไม่ต้องการส่วนต่อประสานผู้ใช้แบบกราฟิกเราจะติดตั้ง openjdk เวอร์ชันที่ไม่มีหัว รุ่นนี้เหมาะสำหรับแอปพลิเคชันเซิร์ฟเวอร์มากกว่าเนื่องจากมีการพึ่งพาน้อยลงและใช้ทรัพยากรระบบน้อยลง

การติดตั้ง Java นั้นค่อนข้างง่ายเพียงแค่เรียกใช้:

sudo yum install java-1.8.0-openjdk-headless

ตรวจสอบการติดตั้งโดยพิมพ์รุ่น 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)

สร้างผู้ใช้ Minecraft

ไม่แนะนำให้ใช้บริการที่ทำงานภายใต้ Minecraft ภายใต้ผู้ใช้รูทด้วยเหตุผลด้านความปลอดภัย

เราจะสร้างผู้ใช้ระบบและ minecraft กลุ่มใหม่พร้อมโฮมไดเรกทอรี /opt/minecraft ที่จะใช้งานเซิร์ฟเวอร์ Minecraft:

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

เราจะไม่ตั้งรหัสผ่านสำหรับผู้ใช้รายนี้ นี่เป็นแนวปฏิบัติด้านความปลอดภัยที่ดีเนื่องจากผู้ใช้รายนี้จะไม่สามารถเข้าสู่ระบบผ่าน SSH ในการเปลี่ยนผู้ใช้ minecraft คุณจะต้องเข้าสู่ระบบเซิร์ฟเวอร์ในฐานะ root หรือผู้ใช้ที่มีสิทธิ์ sudo

การติดตั้ง Minecraft บน CentOS

ก่อนที่จะเริ่มต้นด้วยกระบวนการติดตั้งตรวจสอบให้แน่ใจว่าคุณเปลี่ยนเป็นผู้ใช้ minecraft :

sudo su - minecraft

สร้างสามไดเร็กทอรีใหม่ภายในโฮมไดเร็กทอรีของผู้ใช้โดยใช้คำสั่งต่อไปนี้:

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

  • ไดเรกทอรี backups จะจัดเก็บข้อมูลสำรองเซิร์ฟเวอร์ของคุณ คุณสามารถซิงโครไนซ์ไดเรกทอรีนี้ไปยังเซิร์ฟเวอร์สำรองข้อมูลระยะไกลได้ไดเรกทอรี tools จะเก็บไคลเอนต์ mcrcon และสคริปต์สำรองไดเรกทอรี server จะมีเซิร์ฟเวอร์ Minecraft และข้อมูลในตัว

การดาวน์โหลดและรวบรวม mcrcon

RCON เป็นโปรโตคอลที่ช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ Minecraft และรันคำสั่ง mcron เป็นไคลเอนต์ RCON สร้างขึ้นใน C.

เราจะดาวน์โหลดซอร์สโค้ดจาก GitHub และสร้างไบนารี mcrcon

เริ่มต้นด้วยการย้ายไปยังไดเร็กทอรี ~/tools และโคลนที่เก็บ Tiiffi/mcrcon จาก GitHub โดยใช้คำสั่งต่อไปนี้:

cd ~/tools && git clone

เมื่อโคลนที่เก็บแล้วให้ไปที่ไดเรกทอรี:

cd ~/tools/mcrcon

สร้างยูทิลิตี้ mcrcon โดยใช้คอมไพเลอร์ GCC:

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

เมื่อเสร็จแล้วให้ทดสอบโดยพิมพ์:

./mcrcon -h

ผลลัพธ์จะมีลักษณะดังนี้:

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

กำลังดาวน์โหลดเซิร์ฟเวอร์ Minecraft

มี mods เซิร์ฟเวอร์ Minecraft หลายตัวเช่น Craftbukkit หรือ Spigot ที่ให้คุณเพิ่มฟีเจอร์ (ปลั๊กอิน) บนเซิร์ฟเวอร์ของคุณและปรับแต่งเพิ่มเติมและปรับแต่งการตั้งค่าเซิร์ฟเวอร์ ในบทช่วยสอนนี้เราจะติดตั้งเซิร์ฟเวอร์ Minecraft วนิลาอย่างเป็นทางการของ Mojang ล่าสุด

ไฟล์เก็บถาวร Java (JAR) เซิร์ฟเวอร์ Minecraft ล่าสุดพร้อมให้ดาวน์โหลดได้จากหน้าดาวน์โหลด Minecraft

ในขณะที่เขียนเวอร์ชันล่าสุดคือ 1.14.1 ก่อนดำเนินการในขั้นตอนต่อไปคุณควรตรวจสอบหน้าดาวน์โหลดสำหรับเวอร์ชันใหม่

รันคำสั่ง wget ต่อไปนี้เพื่อดาวน์โหลดไฟล์ Minecraft jar ในไดเร็กทอรี ~/server :

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

การกำหนดค่าเซิร์ฟเวอร์ Minecraft

นำทางไปยังไดเรกทอรี ~/server และเริ่มเซิร์ฟเวอร์ Minecraft:

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

เมื่อคุณเริ่มเซิร์ฟเวอร์เป็นครั้งแรกจะมีการดำเนินการบางอย่างและสร้างไฟล์ server.properties และไฟล์ eula.txt และหยุด

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

คุณจะต้องยอมรับ Minecraft EULA เพื่อใช้งานเซิร์ฟเวอร์ เปิดไฟล์ eula.txt และเปลี่ยน eula=false eula=true :

nano ~/server/eula.txt ~ / เซิร์ฟเวอร์ / 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

ปิดและบันทึกไฟล์

ถัดไปเปิดไฟล์ server.properties เปิดใช้งานโปรโตคอล rcon และตั้งรหัสผ่าน rcon:

nano ~/server/server.properties

ค้นหาบรรทัดต่อไปนี้และอัปเดตค่าของพวกเขาดังแสดงด้านล่าง:

~ / เซิร์ฟเวอร์ / server.properties

rcon.port=25575 rcon.password=strong-password enable-rcon=true อย่าลืมเปลี่ยน strong-password เป็นสิ่งที่ปลอดภัยยิ่งขึ้น หากคุณไม่ต้องการเชื่อมต่อกับเซิร์ฟเวอร์ Minecraft จากสถานที่ห่างไกลตรวจสอบให้แน่ใจว่าพอร์ต rcon ของคุณถูกบล็อกโดยไฟร์วอลล์

ขณะที่อยู่ที่นี่คุณสามารถปรับเปลี่ยนคุณสมบัติเริ่มต้นของเซิร์ฟเวอร์ได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าที่เป็นไปได้ไปที่หน้า server.properties

การสร้างไฟล์หน่วย Systemd

ในการเรียกใช้ Minecraft เป็นบริการเราจะสร้างไฟล์หน่วย Systemd ใหม่

สลับกลับไปยังผู้ใช้ sudo ของคุณโดยพิมพ์ exit

เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ชื่อ minecraft.service ใน /etc/systemd/system/ :

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

วางการกำหนดค่าต่อไปนี้:

/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

แก้ไขค่า Xmx และ Xms ตามทรัพยากรเซิร์ฟเวอร์ของคุณ แฟ Xmx กำหนดพูลการจัดสรรหน่วยความจำสูงสุดสำหรับ Java virtual machine (JVM) ในขณะที่ Xms กำหนด Xms การจัดสรรหน่วยความจำเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณใช้พอร์ต rcon และรหัสผ่านที่ถูกต้อง

บันทึกและปิดไฟล์และแจ้งให้ systemd ทราบว่าเราสร้างไฟล์หน่วยใหม่:

sudo systemctl daemon-reload

ตอนนี้คุณสามารถเริ่มเซิร์ฟเวอร์ Minecraft ได้โดยการดำเนินการ:

sudo systemctl start minecraft

เวลาที่คุณเริ่มใช้บริการจะสร้างไฟล์และไดเรกทอรีการกำหนดค่าต่างๆรวมถึงโลก Minecraft

ตรวจสอบสถานะบริการด้วยคำสั่งต่อไปนี้:

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

เปิดใช้งานบริการ Minecraft เพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูต:

sudo systemctl enable minecraft

การปรับไฟร์วอลล์

หากเซิร์ฟเวอร์ของคุณได้รับการป้องกันโดยไฟร์วอลล์เพื่อเข้าถึงเซิร์ฟเวอร์ Minecraft จากภายนอกเครือข่ายท้องถิ่นของคุณคุณต้องเปิดพอร์ต 25565 :

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

การกำหนดค่าการสำรองข้อมูล

ในส่วนนี้เราจะสร้างสคริปต์สำรองและ cronjob เพื่อสำรองเซิร์ฟเวอร์ Minecraft โดยอัตโนมัติ

เริ่มต้นด้วยการเปลี่ยนเป็นผู้ใช้ minecraft :

sudo su - minecraft

เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ต่อไปนี้:

nano /opt/minecraft/tools/backup.sh

วางการกำหนดค่าต่อไปนี้:

/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

ทำให้สคริปต์เรียกทำงานได้โดยใช้คำสั่ง chmod ต่อไปนี้:

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

เปิดไฟล์ crontab และสร้าง cronjob ที่จะทำงานหนึ่งครั้งต่อวันโดยอัตโนมัติตามเวลาที่กำหนด:

crontab -e

เราจะเรียกใช้สคริปต์สำรองทุกวันเวลา 23:00 น.:

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

เข้าถึง Minecraft Console

ในการเข้าถึง Minecraft Console คุณสามารถใช้ยูทิลิตี mcrcon

ไวยากรณ์มีดังนี้คุณต้องระบุโฮสต์, พอร์ต rcon, รหัสผ่าน rcon และใช้สวิตช์ -t ที่เปิดใช้งานโหมดเทอร์มินัล mcrcon :

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

Logged in. Type "Q" to quit! >

ข้อสรุป

คุณติดตั้งเซิร์ฟเวอร์ Minecraft บนระบบ CentOS 7 ของคุณเรียบร้อยแล้วและตั้งค่าการสำรองข้อมูลรายวัน

java minecraft centos