MCSManager/README.md

232 lines
7.4 KiB
Markdown
Raw Normal View History

2022-08-05 16:12:50 +08:00
<img src="https://public-link.oss-cn-shenzhen.aliyuncs.com/mcsm_picture/logo.png" alt="MCSManagerLogo.png" width="510px" />
2022-02-02 19:29:59 +08:00
<br />
2018-05-30 15:54:56 +08:00
2022-02-02 13:35:59 +08:00
[![Status](https://img.shields.io/badge/npm-v6.14.15-blue.svg)](https://www.npmjs.com/)
[![Status](https://img.shields.io/badge/node-v14.17.6-blue.svg)](https://nodejs.org/en/download/)
2022-08-18 10:41:16 +08:00
[![Status](https://img.shields.io/badge/License-Apache%202.0-red.svg)](https://github.com/MCSManager)
2018-05-30 15:54:56 +08:00
2022-09-01 16:25:48 +08:00
[Official Website](http://mcsmanager.com/) | [Team Homepage](https://github.com/MCSManager) | [Panel Project](https://github.com/MCSManager/MCSManager) | [UI Project](https://github.com/MCSManager/UI) | [Daemon project](https://github.com/MCSManager/Daemon)
2022-02-02 19:40:53 +08:00
2022-09-01 16:27:06 +08:00
[English](readme.md) | [简体中文](README_CN.md)
2020-01-07 15:46:20 +08:00
<br />
2018-12-02 11:11:30 +08:00
2022-02-02 13:35:59 +08:00
2022-09-01 16:27:06 +08:00
2022-09-01 16:25:48 +08:00
![Screenshot.png](https://mcsmanager.com/main.png)
2017-11-12 09:54:53 +08:00
2022-09-01 16:25:48 +08:00
![Screenshot.png](https://mcsmanager.com/main2.png)
2020-03-01 17:19:08 +08:00
2018-04-12 10:08:04 +08:00
<br />
2017-11-12 09:53:27 +08:00
2022-09-01 16:25:48 +08:00
## Environment
2022-02-02 13:35:59 +08:00
2022-09-01 16:25:48 +08:00
The control panel support Windows and Linux platforms, without database and any system configuration, just install the node environment to run quickly, it is a lightweight Minecraft server control panel.
2022-02-02 14:07:24 +08:00
2022-09-01 16:06:11 +08:00
Must be `Node 14.17.0` or above, it can run out of the box without database and any system configuration changes.
2019-10-25 21:30:06 +08:00
<br />
2022-09-01 16:28:06 +08:00
## Data directory
2019-10-25 21:30:06 +08:00
2022-09-01 16:06:11 +08:00
Configuration file: `data/SystemConfig/config.json`
2019-10-25 21:30:06 +08:00
2022-09-01 16:06:11 +08:00
User data files: `data/User/*.json`
2017-11-18 15:53:36 +08:00
2022-09-01 16:06:11 +08:00
Remote daemon configuration: `data/RemoteServiceConfig/*.json`
2020-03-12 13:38:29 +08:00
2022-02-02 14:07:24 +08:00
<br />
2020-03-12 13:38:29 +08:00
2022-09-01 16:25:48 +08:00
## Install
2021-11-10 17:22:13 +08:00
2022-09-01 16:25:48 +08:00
### Windows
2020-03-12 13:38:29 +08:00
2022-09-01 17:01:40 +08:00
For Windows, Just go to the official website to download and run (run with administrator privileges):
2017-12-11 17:19:01 +08:00
2022-09-01 17:01:40 +08:00
Official Website: [https://mcsmanager.com/](https://mcsmanager.com/)
2018-01-20 15:24:11 +08:00
2017-12-11 17:19:01 +08:00
2022-09-01 16:25:48 +08:00
### linux
2018-04-22 09:47:58 +08:00
2022-09-01 16:06:11 +08:00
**One line command to install quickly**
2019-01-15 14:33:47 +08:00
2017-11-18 15:53:36 +08:00
```bash
2022-09-01 16:25:48 +08:00
wget -qO- https://raw.githubusercontent.com/mcsmanager/Script/master/setup_en.sh | bash
2022-09-01 16:06:11 +08:00
````
2020-10-09 13:12:03 +08:00
2022-09-01 16:25:48 +08:00
- Script only works on AMD64 architecture Ubuntu/Centos/Debian/Archlinux
2022-09-01 16:06:11 +08:00
- After the execution is complete, use `systemctl start mcsm-{web,daemon}` to start the panel service.
- The panel code and runtime environment are automatically installed in the `/opt/mcsmanager/` directory.
2020-10-09 13:12:03 +08:00
2022-09-01 16:25:48 +08:00
**Manual installation**
2020-10-09 13:12:03 +08:00
2022-09-01 17:01:40 +08:00
- If the installation script does not work, you can try this step to install it manually.
2020-10-11 12:57:14 +08:00
2020-10-09 13:12:03 +08:00
```bash
2022-09-01 16:06:11 +08:00
# Switch to the installation directory, if there is no such directory, please execute mkdir /opt/
2020-10-09 13:12:03 +08:00
cd /opt/
2022-09-01 16:06:11 +08:00
# Download the runtime environment (if you have Node 14+, it can be ignored)
2022-09-01 16:56:51 +08:00
wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.gz
2022-09-01 16:06:11 +08:00
# unzip files
2022-02-02 14:07:24 +08:00
tar -zxvf node-v14.17.6-linux-x64.tar.gz
2022-09-01 16:06:11 +08:00
# link the program into the environment variable
2022-02-02 14:07:24 +08:00
ln -s /opt/node-v14.17.6-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v14.17.6-linux-x64/bin/npm /usr/bin/npm
2022-09-01 16:06:11 +08:00
# Prepare the installation directory
2022-02-02 14:07:24 +08:00
mkdir /opt/mcsmanager/
cd /opt/mcsmanager/
2022-09-01 16:25:48 +08:00
# Download the panel (Web) program
2022-02-02 14:07:24 +08:00
git clone https://github.com/MCSManager/MCSManager-Web-Production.git
2022-09-01 16:06:11 +08:00
# rename the folder and enter
2022-02-02 14:07:24 +08:00
mv MCSManager-Web-Production web
cd web
2022-09-01 16:06:11 +08:00
# install dependencies
2022-09-01 16:25:48 +08:00
npm install --production
2022-05-28 10:02:04 +08:00
cd /opt/mcsmanager/
2022-07-18 14:34:40 +08:00
2022-09-01 16:06:11 +08:00
# Download the Daemon program
2022-02-02 14:07:24 +08:00
git clone https://github.com/MCSManager/MCSManager-Daemon-Production.git
2022-09-01 16:06:11 +08:00
# rename the folder and enter
2022-02-02 14:07:24 +08:00
mv MCSManager-Daemon-Production daemon
cd daemon
2022-09-01 16:06:11 +08:00
# install dependencies
2022-09-01 16:25:48 +08:00
npm install --production
2021-10-23 12:25:41 +08:00
2022-09-01 16:06:11 +08:00
# Open two terminals or two terminal windows of Screen software
# Start the daemon first
2022-02-02 14:07:24 +08:00
cd /opt/mcsmanager/daemon
2022-09-01 16:06:11 +08:00
# start up
2022-02-02 14:07:24 +08:00
node app.js
2021-10-23 12:25:41 +08:00
2022-09-01 16:06:11 +08:00
# Then start the panel side process
2022-02-02 14:07:24 +08:00
cd /opt/mcsmanager/web
2022-09-01 16:06:11 +08:00
# start up
2022-02-02 14:07:24 +08:00
node app.js
2021-10-23 12:25:41 +08:00
2022-09-01 16:06:11 +08:00
# Visit http://localhost:23333/ to enter the panel.
# By default, the panel will automatically scan the daemon folder and automatically connect to the daemon.
````
2021-10-23 12:25:41 +08:00
2022-09-01 16:06:11 +08:00
- Note that this installation method does not automatically register the panel to the system service (Service), so it must be managed using the `screen` software.
2022-02-02 13:35:59 +08:00
<br />
2022-09-02 11:55:30 +08:00
## How to update
2022-02-02 19:29:59 +08:00
2022-09-01 16:06:11 +08:00
If you are upgrading from `9.X` to a later version, under `Linux` system, please go to `/opt/mcsmanager/web`, `/opt/mcsmanager/daemon` and execute `git pull` to update .
2022-02-02 19:29:59 +08:00
2022-09-01 16:06:11 +08:00
To update under the `Windows` system, please go to the official website to download the latest installation package and overwrite all files to take effect.
2022-02-02 19:29:59 +08:00
2022-09-01 16:06:11 +08:00
> Note, it is recommended to back up the `data` directory before updating.
2022-02-02 19:29:59 +08:00
<br />
2022-09-01 16:25:48 +08:00
## Projects
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
The entire software requires the cooperation of the three projects to run. The code you normally install is the product of compilation and integration.
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
[**Control panel side**](https://github.com/MCSManager/MCSManager)
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
- Role: Control Center
- Responsibilities: Responsible for providing the back-end interface of the front end of the web page, providing API interfaces, user data management, and communicating and authorizing the daemon.
2022-08-05 16:12:50 +08:00
2022-09-01 16:06:11 +08:00
[**Web Frontend**](https://github.com/MCSManager/UI)
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
- Role: User interface of the Control Center
- Responsibilities: Display data in the form of web pages, send requests, and have the ability to communicate with daemons. The final product of this project is pure static files.
2022-08-05 16:12:50 +08:00
2022-09-01 16:06:11 +08:00
[**Daemon**](https://github.com/MCSManager/Daemon)
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
- Role: Controlled
- Responsibility: Controls all instances of localhost, the actual manager of the real process, has the ability to communicate with any object.
2022-02-18 14:14:00 +08:00
<br />
2022-09-01 16:06:11 +08:00
## Build the development environment
2022-02-02 14:11:43 +08:00
2022-09-01 16:06:11 +08:00
This paragraph is intended for developers, normal users do not need to pay attention and do not need to do it.
2022-02-02 14:11:43 +08:00
2022-09-01 16:06:11 +08:00
After all projects are running in the development environment, development and preview can be carried out. Please be sure to follow the open source agreement.
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
**Control Panel (MCSManager)**
2022-02-02 14:11:43 +08:00
```bash
git clone https://github.com/MCSManager/MCSManager.git
2022-02-18 14:14:00 +08:00
cd MCSManager
npm install
2022-08-05 16:12:50 +08:00
npm run start
2022-09-01 16:06:11 +08:00
# By default, ts-node will be used to directly execute Typescript code
# run on port 23333 by default
````
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
**Web Frontend (UI)**
2022-02-18 14:14:00 +08:00
```bash
git clone https://github.com/MCSManager/UI.git
cd UI
npm install
npm run serve
2022-09-01 16:06:11 +08:00
# Visit http://localhost:8080/ to preview the interface
# All API requests will be automatically forwarded to port 23333
````
2022-02-18 14:14:00 +08:00
2022-09-01 16:06:11 +08:00
**Daemon**
2022-02-18 14:14:00 +08:00
```bash
2022-06-18 05:54:09 +08:00
git clone https://github.com/MCSManager/Daemon.git
2022-02-18 14:14:00 +08:00
cd Daemon
2022-02-02 14:11:43 +08:00
npm install
npm run start
2022-09-01 16:06:11 +08:00
# After running, please connect the daemon on the control panel side
# run on port 24444 by default
````
2022-02-02 14:11:43 +08:00
2022-02-02 19:29:59 +08:00
<br />
2022-09-01 16:25:48 +08:00
## Browser
2020-07-21 10:04:00 +08:00
2022-09-01 16:06:11 +08:00
- Support modern mainstream browsers such as `Chrome` `Firefox` `Safari` `Opera`.
- `IE` browser support has been dropped.
2018-04-12 09:54:06 +08:00
2018-04-12 10:08:04 +08:00
<br />
2022-09-02 14:06:05 +08:00
## Internationalization
2022-08-11 16:05:22 +08:00
2022-09-02 11:55:30 +08:00
MCSManager has supported English/Chinese, and has achieved full coverage of internationalization.
2022-08-11 16:05:22 +08:00
2022-09-02 11:55:30 +08:00
The MCSManager internationalization is done by [Lazy](https://github.com/LazyCreeper), [zijiren233](https://github.com/zijiren233) and [Unitwk](https://github.com/unitwk)
2022-08-11 16:05:22 +08:00
<br />
2022-09-02 11:55:30 +08:00
## Permissions
2018-05-30 11:36:22 +08:00
2022-09-01 16:06:11 +08:00
The control panel will detect whether the user is empty at runtime, and if it is empty, it will automatically create a default administrator account.
2018-05-30 11:36:22 +08:00
2022-09-01 16:06:11 +08:00
If you forget the administrator account, you can only backup the existing user profile folder and regenerate a new administrator account to overwrite.
2018-05-30 11:36:22 +08:00
2022-02-02 14:07:24 +08:00
<br />
2018-04-22 09:47:58 +08:00
2022-09-01 16:25:48 +08:00
## Contribute
2022-02-06 15:47:34 +08:00
2022-09-01 16:06:11 +08:00
If you find any problems during use, you can [submit an Issue](https://github.com/MCSManager/MCSManager/issues/new/choose) or submit a Pull Request after fork modification.
2022-02-06 15:47:34 +08:00
2022-09-01 16:06:11 +08:00
The code needs to keep the existing format, and no redundant code should be formatted. For details, please refer to [here](https://github.com/MCSManager/MCSManager/issues/544).
2022-02-06 15:47:34 +08:00
2022-02-06 15:48:10 +08:00
<br />
2022-09-02 11:55:30 +08:00
## Bug Report
2019-09-29 10:28:25 +08:00
2022-09-01 16:06:11 +08:00
Feedback on any problems found is welcome and must be fixed in time.
2022-09-01 16:06:11 +08:00
If you find a serious security vulnerability and it is inconvenient to publish it publicly, please send an email to: mcsmanager-dev@outlook.com.
2022-08-11 16:06:16 +08:00
2022-09-01 16:06:11 +08:00
The name of the bug discoverer will be appended to the code after the security issue is fixed.
2018-04-22 09:47:58 +08:00
2022-09-02 11:55:30 +08:00
<br />