|
|
||
|---|---|---|
| .github | ||
| .vscode | ||
| common | ||
| daemon | ||
| dockerfile | ||
| frontend | ||
| languages | ||
| panel | ||
| prod-scripts | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| build.bat | ||
| build.sh | ||
| DEVELOPMENT.md | ||
| DEVELOPMENT_ZH.md | ||
| example.docker-compose.yml | ||
| i18-scanner.config.js | ||
| install-dependents.bat | ||
| install-dependents.sh | ||
| lib-urls.txt | ||
| LICENSE | ||
| npm-dev-macos.sh | ||
| npm-dev-windows.bat | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| README_DE.md | ||
| README_ES.md | ||
| README_FR.md | ||
| README_JP.md | ||
| README_PTBR.md | ||
| README_RU.md | ||
| README_TH.md | ||
| README_TW.md | ||
| README_ZH.md | ||
| SECURITY.md | ||
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.
Features
- One-click deployment of
MinecraftorSteamgame servers via the built-in application marketplace. - Compatible with most
Steam-based game servers, includingPalworld,Squad,Project Zomboid,Terraria, and more. - Customizable web interface with drag-and-drop card layout to build your ideal dashboard.
- Full Docker Hub image support, with built-in multi-user access and support for commercial instance hosting services.
- Distributed architecture, managing multiple machines from a single web panel.
- Lightweight technology stack. The entire project can be developed and maintained with TypeScript alone.
- ...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, you’ll need to use tools likescreenortmux.
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 (
daemondirectory) - Web backend (
paneldirectory) - Web frontend (
frontenddirectory)
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:
ChromeFirefoxSafariOpera
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 we’ll 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
License
This project is licensed under the Apache License 2.0.
© 2025 MCSManager. All rights reserved.