Android

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

How to get command blocks in minecraft

How to get command blocks in minecraft

สารบัญ:

Anonim

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

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

คำแนะนำเดียวกันนี้ใช้กับ Ubuntu 16.04 และการแจกจ่ายใด ๆ บน Ubuntu รวมถึง Linux Mint และ Elementary OS

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

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

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

sudo apt update sudo apt install git build-essential

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

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

ติดตั้งแพคเกจ OpenJRE 8 ที่ไม่มีหัวขาดโดยเรียกใช้:

sudo apt install openjdk-8-jre-headless

ตรวจสอบการติดตั้งโดยพิมพ์รุ่น java:

java -version

openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03) OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

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

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

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

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

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

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

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

ต่อไปเราต้องแก้ไขไฟล์ 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 manager อีกครั้ง:

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: enabled) Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 11262 (java) Tasks: 19 (limit: 2319) CGroup: /system.slice/minecraft.service `-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui

ขั้นสุดท้ายให้เปิดใช้งานบริการ Minecraft โดยอัตโนมัติเมื่อบูตเครื่อง:

sudo systemctl enable minecraft

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

หากเซิร์ฟเวอร์ของคุณได้รับการป้องกันด้วยไฟร์วอลล์และคุณต้องการเข้าถึงเซิร์ฟเวอร์ 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 บนระบบ Ubuntu 18.04 เรียบร้อยแล้วและตั้งค่าการสำรองข้อมูลรายวัน

Java minecraft อูบุนตู