Skip to content

Latest commit

 

History

History
298 lines (195 loc) · 17.3 KB

File metadata and controls

298 lines (195 loc) · 17.3 KB

นี่คืออะไร?

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 ล่าสุด


การติดตั้ง

Windows

ดาวน์โหลด: https://download.mcsmanager.com/mcsmanager_windows_release.zip

เริ่มแผง:

start.bat

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 ท้องถิ่นโดยอัตโนมัติ

การมีส่วนร่วมในโค้ด

  • ต้องอ่านก่อนมีส่วนร่วมในโค้ด: MCSManager#599

  • โค้ดต้องรักษารูปแบบที่มีอยู่ การจัดรูปแบบโค้ดที่มากเกินไปไม่ได้รับอนุญาต

  • โค้ดทั้งหมดต้องปฏิบัติตามมาตรฐานสากล


การพัฒนา

ส่วนนี้สำหรับนักพัฒนา หากคุณต้องการทำการพัฒนาระดับสองใน MCSManager หรือส่งการมีส่วนร่วมในโค้ด กรุณาอ่านเนื้อหาเหล่านี้อย่างระมัดระวัง:

จำเป็น

เราใช้ Visual Studio Code เพื่อพัฒนา MCSManager คุณต้องติดตั้งปลั๊กอินเหล่านี้:

  • การสนับสนุนการแสดงข้อความ i18n (I18n Ally)
  • การจัดรูปแบบโค้ด (Prettier)
  • Vue - Official
  • ESLint

ไฟล์การพึ่งพา

คุณต้องไปที่โปรเจ็กต์ PTY และ Zip-Tools เพื่อดาวน์โหลดไฟล์ไบนารีที่เหมาะกับระบบของคุณ เก็บไว้ในไดเรกทอรี daemon/lib (สร้างด้วยตนเองหากไม่มี) เพื่อให้แน่ใจว่าการทำงานปกติของ เทอร์มินัลจำลอง และ การแตกไฟล์

การทำงาน

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-2.0

Copyright ©2025 MCSManager.