Quick deployment, distributed, multi-user, modern management panel for Minecraft and Steam game servers / 一键安装,分布式架构,多用户销售,现代化的 Minecraft 和 Steam 游戏服务器管理面板 https://mcsmanager.com
Find a file
Yumao 744f07c727
Merge pull request #1888 from MCSManager/yumao/fix-bug-1126
Fix scheduled task delay issues & strengthen time checks & optimize code.
2025-11-27 11:12:30 +08:00
.github chore: change split release file name 2025-11-07 18:01:07 +08:00
.vscode feat(dev): Add VSCode Extensions Recommendations 2025-11-09 06:14:26 +08:00
common fix: missing argument of type InstanceConfig 2025-11-15 20:24:25 +08:00
daemon feat: Update error messages and placeholders for scheduled tasks in multiple languages 2025-11-27 11:09:27 +08:00
dockerfile fix: alpine build need wget 2024-10-30 16:52:25 +08:00
frontend feat: Update error messages and placeholders for scheduled tasks in multiple languages 2025-11-27 11:09:27 +08:00
languages feat: Update error messages and placeholders for scheduled tasks in multiple languages 2025-11-27 11:09:27 +08:00
panel Merge pull request #1875 from h5mcbox/master 2025-11-22 21:57:23 +08:00
prod-scripts fix: windows bat variable set 2025-11-07 18:16:25 +08:00
scripts feat: update translate text from DeepSeek 2025-09-28 18:06:08 +08:00
.dockerignore try build docker image 2024-10-12 16:38:48 +08:00
.gitignore feat: base auto translate script 2025-09-28 17:18:59 +08:00
.npmrc Fix: i18next scanner config 2023-09-06 11:32:08 +08:00
.prettierignore Refactor: language file 2022-09-24 10:28:12 +08:00
.prettierrc.json Feat: change file permission 2022-08-11 14:06:42 +08:00
build.bat Refine zh_CN/TW.json and update bat 2025-03-05 23:16:17 +08:00
build.sh chore: build.sh add "npm install" 2024-09-30 11:09:50 +08:00
DEVELOPMENT.md docs: remove outdated development environment documentation and update links in README files 2025-11-19 17:58:23 +08:00
DEVELOPMENT_ZH.md docs: remove outdated development environment documentation and update links in README files 2025-11-19 17:58:23 +08:00
example.docker-compose.yml feat: daemon embedded java runtime 2024-10-21 12:05:01 +08:00
i18-scanner.config.js Feat: add new languages 2024-05-06 16:05:40 +08:00
install-dependents.bat dev: Updated Dependencies & Dependency Installation 2025-09-23 12:01:34 +02:00
install-dependents.sh Changed install-dependents.sh 2025-06-20 13:02:41 +08:00
lib-urls.txt chore: use github auto latest download 2025-09-02 17:14:51 +08:00
LICENSE Correct:Effective Apache 2 2025-02-26 09:39:39 +08:00
npm-dev-macos.sh Add concurrently 2025-06-20 15:21:49 -04:00
npm-dev-windows.bat Add concurrently 2025-06-20 15:21:49 -04:00
package-lock.json feat: Add async-mutex dependency, optimize instance purchase and renewal logic, and enhance error handling 2025-07-09 20:58:01 +08:00
package.json Merge branch 'master' into feat/pro-version 2025-07-27 15:28:54 +08:00
README.md docs: streamline development section in README by removing outdated setup instructions 2025-11-19 18:13:23 +08:00
README_DE.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_ES.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_FR.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_JP.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_PTBR.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_RU.md docs: update README files to include instructions for downloading dependency files for terminal emulation and file compression features 2025-11-17 11:11:54 +08:00
README_TH.md docs: update README files to include contributor section and improve project descriptions 2025-11-19 18:05:05 +08:00
README_TW.md docs: update README files to include contributor section and improve project descriptions 2025-11-19 18:05:05 +08:00
README_ZH.md docs: update README files to include contributor section and improve project descriptions 2025-11-19 18:05:05 +08:00
SECURITY.md Update: readme.md files 2024-04-18 14:46:19 +08:00


What is this?

MCSManager Panel (or simply MCSM Panel) is a fast-deploying, distributed, multi-user, and modern web-based management panel for Minecraft, Steam, and other game servers.

MCSManager has gained popularity within the Minecraft and Steam gaming communities. It enables you to manage multiple physical or virtual servers from a single platform, and offers a secure, reliable, and granular multi-user permission system. The MCSM Panel continues to support server administrators, operators, and independent developers, managing servers like Minecraft, Terraria, and other Steam-based games for them.

MCSM also has commercial applications in mind, such as private server hosting and sales by IDC service providers. Several small and medium-sized enterprises already use the panel as a combined server management and sales platform. In addition, it supports multi-language environments, making it accessible to users across different countries and regions.

terminal market 1 3

Features

  1. One-click deployment of Minecraft or Steam game servers via the built-in application marketplace.
  2. Compatible with most Steam-based game servers, including Palworld, Squad, Project Zomboid, Terraria, and more.
  3. Customizable web interface with drag-and-drop card layout to build your ideal dashboard.
  4. Full Docker Hub image support, with built-in multi-user access and support for commercial instance hosting services.
  5. Distributed architecture, managing multiple machines from a single web panel.
  6. Lightweight technology stack. The entire project can be developed and maintained with TypeScript alone.
  7. ...and much more.

Runtime Environment

The control panel runs on both Windows and Linux platforms. No database installation is required. Simply install the Node.js runtime and a few basic decompression utilities.

Requires Node.js 16.20.2 or higher. It is recommended to use the latest LTS version for best compatibility and stability.


Official Documentation

English: https://docs.mcsmanager.com/

Chinese: https://docs.mcsmanager.com/zh_cn/


Installation

Windows

For Windows systems, it comes as a ready-to-run integrated version - download and run it immediately.

Archive: https://download.mcsmanager.com/mcsmanager_windows_release.zip

Double-click start.bat to launch both the web panel and daemon process.


Linux

One-line command quick installation

sudo su -c "wget -qO- https://script.mcsmanager.com/setup.sh | bash"

Usage after installation

systemctl start mcsm-{web,daemon} # Start panel
systemctl stop mcsm-{web,daemon}  # Stop panel
  • Script only applies to Ubuntu/Centos/Debian/Archlinux
  • Panel code and runtime environment are automatically installed in the /opt/mcsmanager/ directory.

Linux Manual Installation

  • If the one-click installation method doesn't work, you can install MCSManager manually by following the steps below:
# Step 1: Navigate to the installation directory (create it if it doesn't exist)
cd /opt/

# Step 2: (Optional) Download and install Node.js if it's not already installed
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

# Add Node.js and npm to the system path
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

# Step 3: Prepare the MCSManager installation directory
mkdir /opt/mcsmanager/
cd /opt/mcsmanager/

# Step 4: Download the latest MCSManager release
wget https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz
tar -zxf mcsmanager_linux_release.tar.gz

# Step 5: Install dependencies
chmod 775 install.sh
./install.sh

# Step 6: Open two terminal windows or use screen/tmux

# In the first terminal: start the daemon
./start-daemon.sh

# In the second terminal: start the web service
./start-web.sh

# Step 7: Access the panel in your browser
# Replace <public IP> with your server's actual IP address
http://<public IP>:23333/

# The web interface will automatically detect and connect to the local daemon in most cases.

The above steps do not register the panel as a system service.
To keep it running in the background, youll need to use tools like screen or tmux.

If you prefer to run MCSManager as a system service, please refer to the official documentation for setup instructions.


Mac OS


# Step 1: Install Node.js (skip if already installed)
# It's recommended to use the latest LTS version
brew install node
node -v
npm -v

# Step 2: Download the latest release using curl
curl -L https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz -o mcsmanager_linux_release.tar.gz

# Step 3: Extract the downloaded archive
tar -zxf mcsmanager_linux_release.tar.gz

# Step 4: Enter the extracted directory
cd mcsmanager

# Step 5: Make the installer executable and run it
chmod 775 install.sh
./install.sh

# Step 6: Open two terminal windows or use screen/tmux to run services in parallel

# In the first terminal: start the daemon
./start-daemon.sh

# In the second terminal: start the web service
./start-web.sh

# Access the panel at: http://localhost:23333/
# The web interface will typically auto-detect and connect to the local daemon.

Docker Installation

Install the panel using docker-compose.yml, note that you need to modify all <CHANGE_ME_TO_INSTALL_PATH> in it to your actual installation directory.

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

Enable using docker-compose.

mkdir -p <CHANGE_ME_TO_INSTALL_PATH>
cd <CHANGE_ME_TO_INSTALL_PATH>
vim docker-compose.yml # Write the above docker-compose.yml content here
docker compose pull && docker compose up -d

Note: After Docker installation, the Web side may no longer be able to automatically connect to the Daemon.

At this point, if you enter the panel, you should see some errors because the Web side has not successfully connected to the daemon side, you need to create a new node to connect them together.


Contributing Code

Before contributing code to this project, please make sure to review the following:

  • Must read: Issue #599 Contribution Guidelines
  • Please maintain the existing code structure and formatting, do not apply unnecessary or excessive formatting changes.
  • All submitted code must follow internationalization (i18n) standards.

Development

Project Structure

The project comprises three core modules:

  • Daemon backend (daemon directory)
  • Web backend (panel directory)
  • Web frontend (frontend directory)

Web Backend Responsibilities:

  • User management
  • Node connectivity
  • Authentication and authorization
  • API services

Daemon Backend Responsibilities:

  • Process management for server instances
  • Docker container operations
  • File system management
  • Real-time terminal access

Web Frontend Responsibilities:

  • User interface implementation
  • Web backend integration
  • Direct node communication for optimized performance

Setting Up Development Environment

See: DEVELOPMENT.md


Browser Compatibility

MCSManager supports all major modern browsers, including:

  • Chrome
  • Firefox
  • Safari
  • Opera

Internet Explorer (IE) is no longer supported.


Bug Reports

We welcome all bug reports and feedback. Your contributions help us improve the project.

If you encounter any issues, please report them via the GitHub Issues page, and well address them as soon as possible.

For serious security vulnerabilities that should not be disclosed publicly, please contact us directly at: support@mcsmanager.com

Once resolved, we will credit the discoverer in the relevant code or release notes.


Contributors

Contribution Leaderboard

License

This project is licensed under the Apache License 2.0.

© 2025 MCSManager. All rights reserved.