mirror of
https://github.com/MCSManager/MCSManager.git
synced 2025-11-27 23:10:24 +08:00
376 lines
21 KiB
Markdown
376 lines
21 KiB
Markdown
<div align="center">
|
|
<a href="https://mcsmanager.com/" target="_blank">
|
|
<img src="https://public-link.oss-cn-shenzhen.aliyuncs.com/mcsm_picture/logo.png" alt="MCSManagerLogo.png" width="510px" />
|
|
</a>
|
|
|
|
<br />
|
|
<br />
|
|
|
|
[](https://github.com/MCSManager)
|
|
[](https://www.npmjs.com/)
|
|
[](https://nodejs.org/en/download/)
|
|
[](https://github.com/MCSManager)
|
|
|
|
<p align="center">
|
|
<a href="http://mcsmanager.com/"><img alt="Official Website" src="https://img.shields.io/badge/Site-Official Website-yellow"></a>
|
|
<a href="https://docs.mcsmanager.com/"><img alt="EnglishDocs" src="https://img.shields.io/badge/Docs-English Document-blue"></a>
|
|
<a href="https://discord.gg/BNpYMVX7Cd"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join Us-5866f4"></a>
|
|
|
|
</p>
|
|
|
|
<br />
|
|
|
|
[English](README.md) - [简体中文](README_ZH.md) - [繁體中文](README_TW.md) - [Deutsch](README_DE.md) - [Português BR](README_PTBR.md) -
|
|
[日本語](README_JP.md) - [Spanish](README_ES.md) - [Thai](README_TH.md)
|
|
|
|
</div>
|
|
|
|
<br />
|
|
|
|
## นี่คืออะไร?
|
|
|
|
**MCSManager Panel** (ย่อ: MCSM Panel) เป็นแผงควบคุมเว็บที่ทันสมัย เรียบง่าย รองรับผู้ใช้หลายคน รองรับสถาปัตยกรรมแบบกระจาย และติดตั้งได้รวดเร็วสำหรับเซิร์ฟเวอร์เกม Minecraft และ Steam
|
|
|
|
MCSManager ได้รับความนิยมในชุมชนเกม `Minecraft` และ `Steam` ช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องแบบรวมศูนย์ ช่วยให้คุณสร้างเซิร์ฟเวอร์เกมบนโฮสต์ใดก็ได้ และให้ระบบสิทธิ์ผู้ใช้หลายคนที่ปลอดภัยและเชื่อถือได้ ซึ่งสามารถช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องได้อย่างง่ายดาย ได้ให้การสนับสนุนซอฟต์แวร์ที่ดีต่อผู้ดูแลระบบ เจ้าหน้าที่ปฏิบัติการ และนักพัฒนารายบุคคลของเซิร์ฟเวอร์เกม `Minecraft`, `Terraria` และ `Steam`
|
|
|
|
ยังเหมาะสำหรับกิจกรรมเชิงพาณิชย์ใดๆ เช่น ผู้ให้บริการ IDC สำหรับการขายเซิร์ฟเวอร์ส่วนตัว เป็นต้น บริษัทขนาดเล็กและขนาดกลางหลายแห่งได้ใช้แผงนี้เป็นซอฟต์แวร์จัดการและขายแล้ว และรองรับภาษาของ**หลายประเทศ**
|
|
|
|
<img width="3164" height="2060" alt="1" src="https://github.com/user-attachments/assets/570d2447-66dc-4c0b-b2d2-4c3176b51d67" />
|
|
|
|
<img width="1871" height="1342" alt="terminal" src="https://github.com/user-attachments/assets/7f6ed988-e402-4347-94ee-a0469f6658da" />
|
|
|
|
<img width="3164" height="2060" alt="3" src="https://github.com/user-attachments/assets/2722cf9f-de9b-4630-b0ea-c00283791d8d" />
|
|
|
|
<img width="3164" height="2060" alt="4" src="https://github.com/user-attachments/assets/c7a3165c-466b-42c5-b75a-16ada603b1da" />
|
|
|
|
<br />
|
|
|
|
## คุณสมบัติ
|
|
|
|
1. ใช้ตลาดแอปพลิเคชันเพื่อติดตั้งเซิร์ฟเวอร์เกม `Minecraft` หรือ `Steam` ได้อย่างง่ายดายด้วยการคลิกเดียว
|
|
2. เข้ากันได้กับเซิร์ฟเวอร์เกม `Steam` ส่วนใหญ่ เช่น `Palworld`, `Squad`, `Project Zomboid` และ `Terraria` เป็นต้น
|
|
3. อินเทอร์เฟซเว็บรองรับเลย์เอาต์การ์ดแบบลากและวางเพื่อสร้างเลย์เอาต์อินเทอร์เฟซที่คุณต้องการ
|
|
4. รองรับภาพทั้งหมดใน `Docker Hub` รองรับผู้ใช้หลายคน รองรับบริการขายอินสแตนซ์เชิงพาณิชย์
|
|
5. รองรับสถาปัตยกรรมแบบกระจาย อินเทอร์เฟซเว็บหนึ่งตัวสามารถจัดการเครื่องหลายเครื่องพร้อมกันได้
|
|
6. สแต็กเทคโนโลยีที่เรียบง่าย คุณเพียงแค่ต้องเชี่ยวชาญ TypeScript เพื่อทำการพัฒนา MCSManager ทั้งหมดให้เสร็จสิ้น!
|
|
7. อื่นๆ...
|
|
|
|
<br />
|
|
|
|
## สภาพแวดล้อมการทำงาน
|
|
|
|
แผงควบคุมสามารถทำงานบนแพลตฟอร์ม `Windows` และ `Linux` ไม่ต้องติดตั้งฐานข้อมูล คุณเพียงแค่ต้องติดตั้งสภาพแวดล้อม `Node.js` และ**คำสั่งสำหรับแตกไฟล์**หลายคำสั่ง
|
|
|
|
ต้องใช้ [Node.js 16.20.2](https://nodejs.org/en) หรือสูงกว่า แนะนำให้ใช้เวอร์ชัน LTS ล่าสุด
|
|
|
|
<br />
|
|
|
|
## เอกสารทางการ
|
|
|
|
ภาษาอังกฤษ: https://docs.mcsmanager.com/
|
|
|
|
ภาษาจีน: https://docs.mcsmanager.com/zh_cn/
|
|
|
|
<br />
|
|
|
|
## การติดตั้ง
|
|
|
|
### Windows
|
|
|
|
**สำหรับระบบ Windows ได้รวมเป็นเวอร์ชันที่พร้อมใช้งาน - ดาวน์โหลดและรันได้ทันที:**
|
|
|
|
ไฟล์บีบอัด: https://download.mcsmanager.com/mcsmanager_windows_release.zip
|
|
|
|
ดับเบิลคลิก `start.bat` เพื่อเปิดใช้งานทั้งแผงเว็บและกระบวนการ daemon
|
|
|
|
<br />
|
|
|
|
### Linux
|
|
|
|
**คำสั่งบรรทัดเดียวสำหรับการติดตั้งด่วน**
|
|
|
|
```bash
|
|
sudo su -c "wget -qO- https://script.mcsmanager.com/setup.sh | bash"
|
|
```
|
|
|
|
**การใช้งานหลังการติดตั้ง**
|
|
|
|
```bash
|
|
systemctl start mcsm-{web,daemon} # เริ่มแผง
|
|
systemctl stop mcsm-{web,daemon} # หยุดแผง
|
|
```
|
|
|
|
- สคริปต์ใช้ได้เฉพาะ Ubuntu/Centos/Debian/Archlinux
|
|
- โค้ดแผงและสภาพแวดล้อมการทำงานจะถูกติดตั้งอัตโนมัติในไดเรกทอรี `/opt/mcsmanager/`
|
|
|
|
<br />
|
|
|
|
**การติดตั้ง Linux แบบใช้มือ**
|
|
|
|
- หากการติดตั้งแบบคลิกเดียวไม่ทำงาน คุณสามารถลองขั้นตอนนี้สำหรับการติดตั้งแบบใช้มือ
|
|
|
|
```bash
|
|
# เปลี่ยนไปยังไดเรกทอรีการติดตั้ง หากไม่มีอยู่ กรุณาสร้างด้วย '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 กรุณาอ้างอิงเอกสาร
|
|
|
|
<br />
|
|
|
|
### Mac OS
|
|
|
|
```bash
|
|
|
|
# ติดตั้ง 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 ท้องถิ่นโดยอัตโนมัติ
|
|
```
|
|
|
|
<br />
|
|
|
|
### การติดตั้งผ่าน Docker
|
|
|
|
ติดตั้งแผงโดยใช้ docker-compose.yml โปรดทราบว่าคุณต้องแก้ไข `<CHANGE_ME_TO_INSTALL_PATH>` ทั้งหมดให้เป็นเส้นทางติดตั้งจริงของคุณ
|
|
|
|
```yml
|
|
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
|
|
|
|
```bash
|
|
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 ได้สำเร็จ คุณต้องสร้างโหนดใหม่เพื่อเชื่อมต่อกัน
|
|
|
|
<br />
|
|
|
|
## การมีส่วนร่วมในโค้ด
|
|
|
|
- ต้องอ่านก่อนมีส่วนร่วมในโค้ด: https://github.com/MCSManager/MCSManager/issues/599
|
|
|
|
- โค้ดต้องรักษารูปแบบที่มีอยู่ การจัดรูปแบบโค้ดที่มากเกินไปไม่ได้รับอนุญาต
|
|
|
|
- โค้ดทั้งหมดต้องปฏิบัติตามมาตรฐานสากล
|
|
|
|
<br />
|
|
|
|
## การพัฒนา
|
|
|
|
**ส่วนนี้สำหรับนักพัฒนา** หากคุณต้องการทำการพัฒนาระดับสองใน MCSManager หรือส่งการมีส่วนร่วมในโค้ด กรุณาอ่านเนื้อหาเหล่านี้อย่างระมัดระวัง:
|
|
|
|
### จำเป็น
|
|
|
|
เราใช้ `Visual Studio Code` เพื่อพัฒนา MCSManager คุณต้อง**ติดตั้ง**ปลั๊กอินเหล่านี้:
|
|
|
|
- การสนับสนุนการแสดงข้อความ i18n (I18n Ally)
|
|
- การจัดรูปแบบโค้ด (Prettier)
|
|
- Vue - Official
|
|
- ESLint
|
|
|
|
### ไฟล์การพึ่งพา
|
|
|
|
คุณต้องไปที่โปรเจ็กต์ [PTY](https://github.com/MCSManager/PTY) และ [Zip-Tools](https://github.com/MCSManager/Zip-Tools) เพื่อดาวน์โหลดไฟล์ไบนารีที่เหมาะกับระบบของคุณ เก็บไว้ในไดเรกทอรี `daemon/lib` (สร้างด้วยตนเองหากไม่มี) เพื่อให้แน่ใจว่าการทำงานปกติของ `เทอร์มินัลจำลอง` และ `การแตกไฟล์`
|
|
|
|
ดาวน์โหลดไฟล์การพึ่งพาสามไฟล์ เลือกตามสถาปัตยกรรมระบบของคุณ และตรวจสอบ Releases เพื่อหาไบนารีที่เหมาะกับระบบและสถาปัตยกรรมของคุณ
|
|
|
|
ตัวอย่างเช่น:
|
|
|
|
```bash
|
|
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
|
|
```
|
|
|
|
### การทำงาน
|
|
|
|
```bash
|
|
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` ทั้งหมดในโค้ดยอมรับเฉพาะภาษาอังกฤษเท่านั้น ดังนั้นกรุณาอย่าเข้ารหัสข้อความที่ไม่ใช่ภาษาอังกฤษโดยตรงในโค้ด
|
|
|
|
ตัวอย่างเช่น คุณอาจเขียนสตริงใหม่ที่ต้องปรับให้เข้ากับหลายภาษา
|
|
|
|
```ts
|
|
import { $t } from "../i18n";
|
|
|
|
if (!checkName) {
|
|
const errorMsg = "Check Name Failed!" // อย่าทำแบบนี้!
|
|
const errorMsg = $t("TXT_CODE_MY_ERROR"); // ถูกต้อง!
|
|
}.
|
|
```
|
|
|
|
```html
|
|
<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
|
|
|
|
```json
|
|
{
|
|
//...
|
|
"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 ที่แตกต่างกัน ดังนั้นรูปแบบอาจจะแตกต่างกัน คุณต้องดูผ่านไฟล์เพื่อหาโค้ดที่คล้ายกันเพื่อเข้าใจ
|
|
|
|
คีย์ข้อความแปลทั้งหมดไม่สามารถซ้ำกันได้ ดังนั้นกรุณาพยายามใช้ชื่อที่ยาวกว่า!
|
|
|
|
<br />
|
|
|
|
### การสร้างเวอร์ชันสภาพแวดล้อมการผลิต
|
|
|
|
```bash
|
|
./build.bat # Windows
|
|
./build.sh # MacOS
|
|
```
|
|
|
|
หลังจากสร้างเสร็จ คุณจะพบโค้ดสภาพแวดล้อมการผลิตในไดเรกทอรี `production-code`
|
|
|
|
<br />
|
|
|
|
## ความเข้ากันได้ของเบราว์เซอร์
|
|
|
|
- รองรับเบราว์เซอร์หลักสมัยใหม่เช่น `Chrome` `Firefox` `Safari` `Opera`
|
|
- ได้ละทิ้งการสนับสนุนเบราว์เซอร์ `IE`
|
|
|
|
<br />
|
|
|
|
## รายงานข้อบกพร่อง
|
|
|
|
ยินดีต้อนรับการรายงานปัญหาที่พบ เราจะแก้ไขอย่างรวดเร็ว
|
|
|
|
หากคุณพบช่องโหว่ด้านความปลอดภัยที่ร้ายแรงซึ่งไม่สะดวกในการเผยแพร่ต่อสาธารณะ กรุณาส่งอีเมลไปที่: support@mcsmanager.com หลังจากแก้ไขปัญหาด้านความปลอดภัยแล้ว ชื่อของผู้ค้นพบจะถูกแนบในโค้ด
|
|
|
|
<br />
|
|
|
|
## ผู้มีส่วนร่วม
|
|
|
|
<a href="https://openomy.com/MCSManager/MCSManager" target="_blank" style="display: block; width: 100%;" align="center">
|
|
<img src="https://openomy.com/svg?repo=MCSManager/MCSManager&chart=bubble&latestMonth=12" target="_blank" alt="อันดับผู้มีส่วนร่วม" style="display: block; width: 100%;" />
|
|
</a>
|
|
|
|
## ใบอนุญาต
|
|
|
|
โปรเจ็กต์นี้ได้รับอนุญาตภายใต้ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
Copyright ©2025 MCSManager.
|