MCS-MCSManager/README_TH.md

21 KiB


นี่คืออะไร?

MCSManager Panel (ย่อ: MCSM Panel) เป็นแผงควบคุมเว็บที่ทันสมัย เรียบง่าย รองรับผู้ใช้หลายคน รองรับสถาปัตยกรรมแบบกระจาย และติดตั้งได้รวดเร็วสำหรับเซิร์ฟเวอร์เกม Minecraft และ Steam

MCSManager ได้รับความนิยมในชุมชนเกม Minecraft และ Steam ช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องแบบรวมศูนย์ ช่วยให้คุณสร้างเซิร์ฟเวอร์เกมบนโฮสต์ใดก็ได้ และให้ระบบสิทธิ์ผู้ใช้หลายคนที่ปลอดภัยและเชื่อถือได้ ซึ่งสามารถช่วยให้คุณจัดการเซิร์ฟเวอร์หลายเครื่องได้อย่างง่ายดาย ได้ให้การสนับสนุนซอฟต์แวร์ที่ดีต่อผู้ดูแลระบบ เจ้าหน้าที่ปฏิบัติการ และนักพัฒนารายบุคคลของเซิร์ฟเวอร์เกม Minecraft, Terraria และ Steam

ยังเหมาะสำหรับกิจกรรมเชิงพาณิชย์ใดๆ เช่น ผู้ให้บริการ IDC สำหรับการขายเซิร์ฟเวอร์ส่วนตัว เป็นต้น บริษัทขนาดเล็กและขนาดกลางหลายแห่งได้ใช้แผงนี้เป็นซอฟต์แวร์จัดการและขายแล้ว และรองรับภาษาของหลายประเทศ

1 terminal 3 4

คุณสมบัติ

  1. ใช้ตลาดแอปพลิเคชันเพื่อติดตั้งเซิร์ฟเวอร์เกม Minecraft หรือ Steam ได้อย่างง่ายดายด้วยการคลิกเดียว
  2. เข้ากันได้กับเซิร์ฟเวอร์เกม Steam ส่วนใหญ่ เช่น Palworld, Squad, Project Zomboid และ Terraria เป็นต้น
  3. อินเทอร์เฟซเว็บรองรับเลย์เอาต์การ์ดแบบลากและวางเพื่อสร้างเลย์เอาต์อินเทอร์เฟซที่คุณต้องการ
  4. รองรับภาพทั้งหมดใน Docker Hub รองรับผู้ใช้หลายคน รองรับบริการขายอินสแตนซ์เชิงพาณิชย์
  5. รองรับสถาปัตยกรรมแบบกระจาย อินเทอร์เฟซเว็บหนึ่งตัวสามารถจัดการเครื่องหลายเครื่องพร้อมกันได้
  6. สแต็กเทคโนโลยีที่เรียบง่าย คุณเพียงแค่ต้องเชี่ยวชาญ TypeScript เพื่อทำการพัฒนา MCSManager ทั้งหมดให้เสร็จสิ้น!
  7. อื่นๆ...

สภาพแวดล้อมการทำงาน

แผงควบคุมสามารถทำงานบนแพลตฟอร์ม 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


ความเข้ากันได้ของเบราว์เซอร์

  • รองรับเบราว์เซอร์หลักสมัยใหม่เช่น Chrome Firefox Safari Opera
  • ได้ละทิ้งการสนับสนุนเบราว์เซอร์ IE

รายงานข้อบกพร่อง

ยินดีต้อนรับการรายงานปัญหาที่พบ เราจะแก้ไขอย่างรวดเร็ว

หากคุณพบช่องโหว่ด้านความปลอดภัยที่ร้ายแรงซึ่งไม่สะดวกในการเผยแพร่ต่อสาธารณะ กรุณาส่งอีเมลไปที่: support@mcsmanager.com หลังจากแก้ไขปัญหาด้านความปลอดภัยแล้ว ชื่อของผู้ค้นพบจะถูกแนบในโค้ด


ผู้มีส่วนร่วม

อันดับผู้มีส่วนร่วม

ใบอนุญาต

โปรเจ็กต์นี้ได้รับอนุญาตภายใต้ Apache License 2.0

Copyright ©2025 MCSManager.