Android

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

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

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

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

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

ผู้ใช้ที่คุณเข้าสู่ระบบเนื่องจากต้องมีสิทธิ์ sudo

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

sudo apt update sudo apt install git build-essential

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

Minecraft ต้องการ Java 8 ที่จะติดตั้งบนระบบ

เราจะติดตั้ง JRE รุ่นหัวขาด รุ่นนี้เหมาะสำหรับเซิร์ฟเวอร์แอปพลิเคชันมากขึ้นเนื่องจากมีการพึ่งพาน้อยลงและใช้ทรัพยากรระบบน้อยลง:

sudo apt install openjdk-8-jre-headless

ตรวจสอบการติดตั้งโดยเรียกใช้:

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)

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

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

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

ผู้ใช้จะไม่มีรหัสผ่าน นี่เป็นแนวปฏิบัติด้านความปลอดภัยที่ดีเนื่องจากผู้ใช้รายนี้จะไม่สามารถเข้าสู่ระบบผ่าน SSH

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

ก่อนเริ่มต้นด้วยกระบวนการติดตั้งตรวจสอบให้แน่ใจว่าคุณเปลี่ยนเป็นผู้ใช้ 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 -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

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

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

nano ~/server/server.properties

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

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

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

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

การสร้างไฟล์หน่วย 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 sudo systemctl enable minecraft

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

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

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

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

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

หากต้องการอนุญาตการรับส่งข้อมูลบนพอร์ต Minecraft เริ่มต้น 25565 พิมพ์คำสั่งต่อไปนี้:

sudo ufw allow 25565/tcp

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

ในส่วนนี้เราจะสร้างเชลล์สคริปต์สำรองและ 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

ถัดไปสร้างงาน cron ที่จะทำงานวันละครั้งโดยอัตโนมัติในเวลาที่กำหนด

เปิดไฟล์ crontab โดยพิมพ์:

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 จากสถานที่ห่างไกลตรวจสอบให้แน่ใจว่าพอร์ต rcon ไม่ได้ถูกบล็อก

ข้อสรุป

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

Java minecraft debian