MCS-MCSManager/README_TH.md

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://img.shields.io/badge/Support%20Platform-Windows/Linux/Mac-green.svg)](https://github.com/MCSManager)
[![Status](https://img.shields.io/badge/NPM-v8.9.14-blue.svg)](https://www.npmjs.com/)
[![Status](https://img.shields.io/badge/Node-v16.20.2-blue.svg)](https://nodejs.org/en/download/)
[![Status](https://img.shields.io/badge/License-Apache%202.0-red.svg)](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.