21 KiB
นี่คืออะไร?
MCSManager Panel (ย่อ: MCSM Panel) เป็นแผงควบคุมเว็บที่ทันสมัย เรียบง่าย รองรับผู้ใช้หลายคน รองรับสถาปัตยกรรมแบบกระจาย และติดตั้งได้รวดเร็วสำหรับเซิร์ฟเวอร์เกม Minecraft และ Steam
MCSManager ได้รับความนิยมในชุมชนเกม Minecraft และ Steam ช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องแบบรวมศูนย์ ช่วยให้คุณสร้างเซิร์ฟเวอร์เกมบนโฮสต์ใดก็ได้ และให้ระบบสิทธิ์ผู้ใช้หลายคนที่ปลอดภัยและเชื่อถือได้ ซึ่งสามารถช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องได้อย่างง่ายดาย ได้ให้การสนับสนุนซอฟต์แวร์ที่ดีต่อผู้ดูแลระบบ เจ้าหน้าที่ปฏิบัติการ และนักพัฒนารายบุคคลของเซิร์ฟเวอร์เกม Minecraft, Terraria และ Steam
ยังเหมาะสำหรับกิจกรรมเชิงพาณิชย์ใดๆ เช่น ผู้ให้บริการ IDC สำหรับการขายเซิร์ฟเวอร์ส่วนตัว เป็นต้น บริษัทขนาดเล็กและขนาดกลางหลายแห่งได้ใช้แผงนี้เป็นซอฟต์แวร์จัดการและขายแล้ว และรองรับภาษาของหลายประเทศ
คุณสมบัติ
- ใช้ตลาดแอปพลิเคชันเพื่อติดตั้งเซิร์ฟเวอร์เกม
MinecraftหรือSteamได้อย่างง่ายดายด้วยการคลิกเดียว - เข้ากันได้กับเซิร์ฟเวอร์เกม
Steamส่วนใหญ่ เช่นPalworld,Squad,Project ZomboidและTerrariaเป็นต้น - อินเทอร์เฟซเว็บรองรับเลย์เอาต์การ์ดแบบลากและวางเพื่อสร้างเลย์เอาต์อินเทอร์เฟซที่คุณต้องการ
- รองรับภาพทั้งหมดใน
Docker Hubรองรับผู้ใช้หลายคน รองรับบริการขายอินสแตนซ์เชิงพาณิชย์ - รองรับสถาปัตยกรรมแบบกระจาย อินเทอร์เฟซเว็บหนึ่งตัวสามารถจัดการเครื่องหลายเครื่องพร้อมกันได้
- สแต็กเทคโนโลยีที่เรียบง่าย คุณเพียงแค่ต้องเชี่ยวชาญ TypeScript เพื่อทำการพัฒนา MCSManager ทั้งหมดให้เสร็จสิ้น!
- อื่นๆ...
สภาพแวดล้อมการทำงาน
แผงควบคุมสามารถทำงานบนแพลตฟอร์ม Windows และ Linux ไม่ต้องติดตั้งฐานข้อมูล คุณเพียงแค่ต้องติดตั้งสภาพแวดล้อม Node.js และคำสั่งสำหรับแตกไฟล์หลายคำสั่ง
ต้องใช้ Node.js 16.20.2 หรือสูงกว่า แนะนำให้ใช้เวอร์ชัน LTS ล่าสุด
เอกสารทางการ
ภาษาอังกฤษ: https://docs.mcsmanager.com/
ภาษาจีน: https://docs.mcsmanager.com/zh_cn/
การติดตั้ง
Windows
สำหรับระบบ Windows ได้รวมเป็นเวอร์ชันที่พร้อมใช้งาน - ดาวน์โหลดและรันได้ทันที:
ไฟล์บีบอัด: https://download.mcsmanager.com/mcsmanager_windows_release.zip
ดับเบิลคลิก start.bat เพื่อเปิดใช้งานทั้งแผงเว็บและกระบวนการ daemon
Linux
คำสั่งบรรทัดเดียวสำหรับการติดตั้งด่วน
sudo su -c "wget -qO- https://script.mcsmanager.com/setup.sh | bash"
การใช้งานหลังการติดตั้ง
systemctl start mcsm-{web,daemon} # เริ่มแผง
systemctl stop mcsm-{web,daemon} # หยุดแผง
- สคริปต์ใช้ได้เฉพาะ Ubuntu/Centos/Debian/Archlinux
- โค้ดแผงและสภาพแวดล้อมการทำงานจะถูกติดตั้งอัตโนมัติในไดเรกทอรี
/opt/mcsmanager/
การติดตั้ง Linux แบบใช้มือ
- หากการติดตั้งแบบคลิกเดียวไม่ทำงาน คุณสามารถลองขั้นตอนนี้สำหรับการติดตั้งแบบใช้มือ
# เปลี่ยนไปยังไดเรกทอรีการติดตั้ง หากไม่มีอยู่ กรุณาสร้างด้วย 'mkdir /opt/' ก่อน
cd /opt/
# ดาวน์โหลดสภาพแวดล้อมการทำงาน (Node.js) หากคุณมี Node.js 16+ ติดตั้งแล้ว กรุณาข้ามขั้นตอนนี้
wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz
# แตกไฟล์
tar -xvf node-v20.11.0-linux-x64.tar.xz
# เพิ่มโปรแกรมไปยังตัวแปรสภาพแวดล้อมของระบบ
ln -s /opt/node-v20.11.0-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v20.11.0-linux-x64/bin/npm /usr/bin/npm
# เตรียมไดเรกทอรีการติดตั้ง
mkdir /opt/mcsmanager/
cd /opt/mcsmanager/
# ดาวน์โหลด MCSManager
wget https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz
tar -zxf mcsmanager_linux_release.tar.gz
# ติดตั้งการพึ่งพา
chmod 775 install.sh
./install.sh
# กรุณาเปิดเทอร์มินัลสองตัวหรือ screen
# เริ่มโปรแกรม node ก่อน
./start-daemon.sh
# เริ่มบริการเว็บ (ในเทอร์มินัลที่สองหรือ screen)
./start-web.sh
# ไปที่ http://<IP สาธารณะ>:23333/ เพื่อดูแผง
# โดยทั่วไป แอปพลิเคชันเว็บจะสแกนและเชื่อมต่อกับ daemon ท้องถิ่นโดยอัตโนมัติ
วิธีการติดตั้งนี้ไม่ได้ลงทะเบียนแผงกับบริการระบบโดยอัตโนมัติ ดังนั้นคุณต้องใช้ซอฟต์แวร์ screen เพื่อจัดการ หากคุณต้องการให้บริการระบบจัดการ MCSManager กรุณาอ้างอิงเอกสาร
Mac OS
# ติดตั้ง Node.js ก่อน หากคุณมีติดตั้งแล้ว คุณสามารถข้ามขั้นตอนนี้ได้
# Node.js แนะนำให้ติดตั้งเวอร์ชัน LTS ล่าสุด
brew install node
node -v
npm -v
# ใช้ curl เพื่อดาวน์โหลดไฟล์
curl -L https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz -o mcsmanager_linux_release.tar.gz
# แตกไฟล์ (คำสั่งเดียวกับเดิม)
tar -zxf mcsmanager_linux_release.tar.gz
cd mcsmanager
# ติดตั้งการพึ่งพา
chmod 775 install.sh
./install.sh
# กรุณาเปิดเทอร์มินัลสองตัวหรือ screen
# เริ่มโปรแกรม node ก่อน
./start-daemon.sh
# เริ่มบริการเว็บ (ในเทอร์มินัลที่สองหรือ screen)
./start-web.sh
# ไปที่ http://localhost:23333/ เพื่อดูแผง
# โดยทั่วไป แอปพลิเคชันเว็บจะสแกนและเชื่อมต่อกับ daemon ท้องถิ่นโดยอัตโนมัติ
การติดตั้งผ่าน Docker
ติดตั้งแผงโดยใช้ docker-compose.yml โปรดทราบว่าคุณต้องแก้ไข <CHANGE_ME_TO_INSTALL_PATH> ทั้งหมดให้เป็นเส้นทางติดตั้งจริงของคุณ
services:
web:
image: githubyumao/mcsmanager-web:latest
ports:
- "23333:23333"
volumes:
- /etc/localtime:/etc/localtime:ro
- <CHANGE_ME_TO_INSTALL_PATH>/web/data:/opt/mcsmanager/web/data
- <CHANGE_ME_TO_INSTALL_PATH>/web/logs:/opt/mcsmanager/web/logs
daemon:
image: githubyumao/mcsmanager-daemon:latest
restart: unless-stopped
ports:
- "24444:24444"
environment:
- MCSM_DOCKER_WORKSPACE_PATH=<CHANGE_ME_TO_INSTALL_PATH>/daemon/data/InstanceData
volumes:
- /etc/localtime:/etc/localtime:ro
- <CHANGE_ME_TO_INSTALL_PATH>/daemon/data:/opt/mcsmanager/daemon/data
- <CHANGE_ME_TO_INSTALL_PATH>/daemon/logs:/opt/mcsmanager/daemon/logs
- /var/run/docker.sock:/var/run/docker.sock
เปิดใช้งานโดยใช้ docker-compose
mkdir -p <CHANGE_ME_TO_INSTALL_PATH>
cd <CHANGE_ME_TO_INSTALL_PATH>
vim docker-compose.yml # เขียนเนื้อหา docker-compose.yml ข้างต้นที่นี่
docker compose pull && docker compose up -d
หมายเหตุ: หลังจากการติดตั้ง Docker ด้าน Web อาจไม่สามารถเชื่อมต่อกับ Daemon โดยอัตโนมัติได้อีกต่อไป
ณ จุดนี้หากคุณเข้าสู่แผง คุณควรเห็นข้อผิดพลาดบางอย่างเนื่องจากด้าน Web ไม่สามารถเชื่อมต่อกับ daemon ได้สำเร็จ คุณต้องสร้างโหนดใหม่เพื่อเชื่อมต่อกัน
การมีส่วนร่วมในโค้ด
-
ต้องอ่านก่อนมีส่วนร่วมในโค้ด: https://github.com/MCSManager/MCSManager/issues/599
-
โค้ดต้องรักษารูปแบบที่มีอยู่ การจัดรูปแบบโค้ดที่มากเกินไปไม่ได้รับอนุญาต
-
โค้ดทั้งหมดต้องปฏิบัติตามมาตรฐานสากล
การพัฒนา
ส่วนนี้สำหรับนักพัฒนา หากคุณต้องการทำการพัฒนาระดับสองใน MCSManager หรือส่งการมีส่วนร่วมในโค้ด กรุณาอ่านเนื้อหาเหล่านี้อย่างระมัดระวัง:
จำเป็น
เราใช้ Visual Studio Code เพื่อพัฒนา MCSManager คุณต้องติดตั้งปลั๊กอินเหล่านี้:
- การสนับสนุนการแสดงข้อความ i18n (I18n Ally)
- การจัดรูปแบบโค้ด (Prettier)
- Vue - Official
- ESLint
ไฟล์การพึ่งพา
คุณต้องไปที่โปรเจ็กต์ PTY และ Zip-Tools เพื่อดาวน์โหลดไฟล์ไบนารีที่เหมาะกับระบบของคุณ เก็บไว้ในไดเรกทอรี daemon/lib (สร้างด้วยตนเองหากไม่มี) เพื่อให้แน่ใจว่าการทำงานปกติของ เทอร์มินัลจำลอง และ การแตกไฟล์
ดาวน์โหลดไฟล์การพึ่งพาสามไฟล์ เลือกตามสถาปัตยกรรมระบบของคุณ และตรวจสอบ Releases เพื่อหาไบนารีที่เหมาะกับระบบและสถาปัตยกรรมของคุณ
ตัวอย่างเช่น:
cd /opt/mcsmanager/daemon
mkdir lib && cd lib
# ห้องสมุดการพึ่งพาเทอร์มินัลจำลอง
wget https://github.com/MCSManager/PTY/releases/download/latest/pty_linux_x64
# ห้องสมุดการพึ่งพาสำหรับแตกและบีบอัดไฟล์
wget https://github.com/MCSManager/Zip-Tools/releases/download/latest/file_zip_linux_x64
# การสนับสนุนไฟล์บีบอัด 7z ดาวน์โหลดเสริม
wget https://github.com/MCSManager/Zip-Tools/releases/download/latest/7z_linux_x64
การทำงาน
git clone https://github.com/MCSManager/MCSManager.git
# MacOS
./install-dependents.sh
./npm-dev-macos.sh
# Windows
./install-dependents.bat
./npm-dev-windows.bat
การทำให้โค้ดเป็นสากล
เนื่องจากโปรเจ็กต์ปรับให้เข้ากับหลายภาษา strings และ comments ทั้งหมดในโค้ดยอมรับเฉพาะภาษาอังกฤษเท่านั้น ดังนั้นกรุณาอย่าเข้ารหัสข้อความที่ไม่ใช่ภาษาอังกฤษโดยตรงในโค้ด
ตัวอย่างเช่น คุณอาจเขียนสตริงใหม่ที่ต้องปรับให้เข้ากับหลายภาษา
import { $t } from "../i18n";
if (!checkName) {
const errorMsg = "Check Name Failed!" // อย่าทำแบบนี้!
const errorMsg = $t("TXT_CODE_MY_ERROR"); // ถูกต้อง!
}.
<script lang="ts" setup>
import { t } from "@/lang/i18n";
// ...
</script>
<template>
<!-- ... -->
<a-menu-item key="toNodesPage" @click="toNodesPage()">
<FormOutlined />
{{ t("TXT_CODE_NODE_INFO") }}
</a-menu-item>
</template>
กรุณาเพิ่มบรรทัดนี้ในไฟล์ภาษา เช่น: languages/en_US.json
ในนั้น en_US.json เป็นข้อบังคับที่ต้องเพิ่ม เป็นข้อความต้นฉบับสำหรับภาษาประเทศทั้งหมด ภาษาอื่นๆ สามารถแปลโดยอัตโนมัติโดยเราใช้ AI
{
//...
"TXT_CODE_MY_ERROR": "Check Name Failed!",
"TXT_CODE_NODE_INFO": "Jump to Node Page"
}
หากคุณติดตั้งปลั๊กอิน I18n Ally แล้ว $t("TXT_CODE_MY_ERROR") ของคุณควรแสดงข้อความภาษาอังกฤษ
หากข้อความแปลต้องพารามิเตอร์ อาจจะซับซ้อนเล็กน้อย เพราะ frontend และ backend ใช้ไลบรารี i18n ที่แตกต่างกัน ดังนั้นรูปแบบอาจจะแตกต่างกัน คุณต้องดูผ่านไฟล์เพื่อหาโค้ดที่คล้ายกันเพื่อเข้าใจ
คีย์ข้อความแปลทั้งหมดไม่สามารถซ้ำกันได้ ดังนั้นกรุณาพยายามใช้ชื่อที่ยาวกว่า!
การสร้างเวอร์ชันสภาพแวดล้อมการผลิต
./build.bat # Windows
./build.sh # MacOS
หลังจากสร้างเสร็จ คุณจะพบโค้ดสภาพแวดล้อมการผลิตในไดเรกทอรี production-code
ความเข้ากันได้ของเบราว์เซอร์
- รองรับเบราว์เซอร์หลักสมัยใหม่เช่น
ChromeFirefoxSafariOpera - ได้ละทิ้งการสนับสนุนเบราว์เซอร์
IE
รายงานข้อบกพร่อง
ยินดีต้อนรับการรายงานปัญหาที่พบ เราจะแก้ไขอย่างรวดเร็ว
หากคุณพบช่องโหว่ด้านความปลอดภัยที่ร้ายแรงซึ่งไม่สะดวกในการเผยแพร่ต่อสาธารณะ กรุณาส่งอีเมลไปที่: support@mcsmanager.com หลังจากแก้ไขปัญหาด้านความปลอดภัยแล้ว ชื่อของผู้ค้นพบจะถูกแนบในโค้ด
ผู้มีส่วนร่วม
ใบอนุญาต
โปรเจ็กต์นี้ได้รับอนุญาตภายใต้ Apache License 2.0
Copyright ©2025 MCSManager.