项目介绍

Minecraft 服务器管理系统

本文章主要讲解部署教程,如果需要看功能使用教程请跳转到此文章:

基于 RuoYi-Vue 框架开发的 Minecraft 服务器管理系统,提供白名单管理、OP管理、玩家管理等功能。

功能特性

1. 服务器管理

  • 多服务器统一管理
  • 服务器状态监控
  • 实时在线玩家查看
  • RCON 远程控制
  • 服务器指令管理
  • 在线Web终端

2. 白名单管理

  • 白名单申请与审核
  • 在线/离线账号支持
  • 自动验证正版账号
  • 邮件通知功能
  • IP 限流保护

3. 玩家管理

  • 玩家信息统计
  • 游戏时长记录
  • 历史名称记录
  • 玩家行为追踪
  • 地理位置统计
  • 封禁管理

4. 管理员功能

  • OP 权限管理
  • 封禁系统
  • 指令执行记录
  • 操作日志记录
  • 数据统计报表

5. 定时指令

  • 定时指令执行
  • 定时指令记录
  • 定时指令统计

6. 机器人管理

  • 白名单管理系统
  • 封禁管理系统
  • 查询系统
  • 权限系统(待完善)
  • 远程发送指令

系统部署

环境要求

  • JDK 1.8
  • Maven 3.2+
  • MySQL 5.7+
  • Redis 5.0+
  • Node.js 16

初始化数据库

数据库下载

建议所有用户下载MySQL 8.0.41 版本

Linux:使用包管理器安装,例如 Ubuntu:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
sudo apt update
sudo apt install mysql-server

管理工具下载

Navicat

链接:https://pan.quark.cn/s/5525867247a6

使用方法,点击Connection,选则MySQL
image.png
image.png

随后输入主机地址和密码,如果是本地部署就默认localhost即可,如果是服务器就填写你服务器的地址和root密码

创建数据库

右键刚刚添加的数据库,选则New Databasse

image.png

image.png

创建名为 minecraft_manager 的数据库,编码格式选则utf8mb4

导入SQL

把GitHub项目根目录的SQL文件夹内所有都导入到数据库中

image.png

image.png

Redis下载:

示例:
Linux(Ubuntu):

sudo apt install redis-server
sudo systemctl enable redis

运行服务

后端服务

以上做好之后就可以尝试运行Jar包服务了,必须使用Java 1.8版本!
这里推荐直接在GitHub Release下载最新发行版本。

下载地址:https://github.com/pilgrimage233/Minecraft-Rcon-Manage/releases

下载之后在当前目录进入cmd,Linux同理 使用 java -jar 最新版本jar包名称 运行

比如: java -jar endless-manager-2.4.1.jar -Xmx1024M

这里的 -Xmx1024M 命令指的是给这个项目运行的内存最大分配为1024M也就是1G,这里推荐根据当前运行的服务器配置自行决定,最小512M,过低可能导致运行卡顿等情况

修改配置文件

项目第一次运行是百分百报错,这是正常情况,项目第一次运行后会在项目的根目录生成config文件夹,我们需要修改以下内容:

application.yml

# 开发环境配置
server:
  # 服务器的HTTP端口,默认为8080
  port: 8080

# Spring配置
spring:
  # redis 配置,如果是本地就填写 **127.0.0.1** 密码如果未设置可以为空. 
  redis:
   # 地址
   host: 127.0.0.1
   # 端口,默认为6379
   port: 6379
   # 数据库索引
   database: 0
   # 密码
   password: redis_x8Qzrh

# 邮件服务配置
email:
  # 是否启用邮件服务
  enable: true
  # 邮件服务提供商类型:aliyun, qq, 163, gmail, outlook等
  type: aliyun
  # 发件人邮箱账号
  account: test@endmc.cc
  # 发件人邮箱密码或授权码
  password: 123456
  # 发件人显示名称
  senderName: "Minecraft Server"
  # 自定义SMTP服务器配置(可选)如果你的邮箱不为上面提供的服务类型,则需要自定义SMTP地址
  # smtpHost: smtp.example.com
  # smtpPort: 465
  # ssl: true

whitelist:
  easyauth: true
  # ip限流,每个IP可以申请的次数上限.
  iplimit: 3
  # 管理员通知邮箱地址,更改为你自己的即可.
  email: 2873336923@qq.com

application-druid.yml

# 数据源配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    druid:
      # 主库数据源,这个地方只需要修改 **jdbc:mysql://127.0.0.1:3306** 其中 127.0.0.1是本地地址,如果你的数据库部署在其他服务器就填写其他服务器的地址,3306是数据库的默认端口号,如果安装的时候没有自定义就不需要修改.
      master:
        url: jdbc:mysql://127.0.0.1:3306/minecraft_manager?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
        # 数据库用户名
        username: root
        # 数据库密码,即安装时自定义的密码.
        password: 123456

以上两个配置文件修改完之后可以再次尝试启动 endless-manager.jar 后台服务,如果都配置正确后,此时服务就可以顺利启动.

前端服务

后台服务

此时需要下载Node.js 16 来构建后台管理系统,下载地址:


选则你要下载的 版本 系统 然后下载即可,安装一路下一步即可.
下载好之后CMD或者控制台输入

node -v

这时应该正确显示nodejs版本号为16,如果没有就重启一下系统.

构建 endless-ui

进入项目目录的endless-ui,在上方路径地址输入cmd
2025-03-21T06:51:33.png

npm install

这时是安装项目依赖,如果没问题就可以尝试

npm run dev

尝试启动项目,如果项目正常启动,就可以编译成静态HTML文件并上传服务器

npm build:prod
Nginx配置文件修改

不管是宝塔面板还是1panel,都可以修改网站的配置文件,这里以宝塔面板为例:
点击网站设置,配置文件
2025-03-21T06:57:53.png

    root /www/wwwroot/mc.endmc.cc;
    location / {
        root /www/wwwroot/mc.endmc.cc;  # 替换为前端打包文件的路径
        try_files $uri $uri/ /index.html;
    }

这里需要加入 location / 配置,如果不加入的话登陆界面刷新会404. 你只需要修改 root 路径改为你服务器部署的路径即可.

    location ^~/prod-api/ {
        proxy_set_header Host $http_host;
        
        # 设置真实客户端IP
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
        
        # 反向代理设置,设置你的后端服务地址和端口
        proxy_pass http://api.xxxxx.xx:8080/;
    }

接着在下面加入以上配置,需要修改的只有 proxy_pass 改为你自己的后端服务地址.

白名单前端申请服务

由于此项目是需要 Node.js 18 版本构建,考虑到很多人没有,或者不想再安装,这里推荐一个简单的方法.

Cloudflare Pages


注册账号,进入后台选则Workers和Pages,点击创建
2025-03-21T07:06:19.png

2025-03-21T07:07:06.png

这个地方有两个选项,你可以选则连接到自己的GitHub账号去全自动部署,也可以自行上传前端项目文件.
如果选则GitHub,你还需要fork以下项目到自己账户中:


如果你不想fork,也可以点击 download zip 下载项目压缩文件,并吧这个压缩文件上传到cloudflare pages
2025-03-21T07:09:42.png

注意:上传前请打开压缩文件,修改里面 .env 文件

2025-03-21T07:11:11.png
这里不管是fork到github还是手动上传都需要修改,地址为你的后台服务地址外加/prod-api
这里的后台服务地址是你上面构建并部署的 endless-ui
比如后台地址是:https://abc.edf.com 那么就在他的后面拼接一个 /prod-api
这个路径如果有问题,也可以直接填写后端的服务地址,比如 http://abc.edf.com:8080

部署示例:
2025-03-21T07:15:03.png

2025-03-21T07:15:45.png

确保以上内容和我一致,点击保存并部署

2025-03-21T07:17:19.png

这个时候就成功部署,这个时候需要绑定自己的域名
2025-03-21T07:18:14.png

2025-03-21T07:18:52.png
如果你的域名不在cloudflare,那么就选择CNAME记录

2025-03-21T07:19:35.png

这里就到你的域名DNS服务商那里添加CNAME解析就可以。如果你有域名我相信你一定明白怎么添加对吧?

验证和测试

​访问管理界面
打开 http://admin.minecraft.com,使用默认账号(admin/admin123)登录。

​测试功能
添加 Minecraft 服务器信息,确保 RCON 端口和密码正确。
提交白名单申请,检查邮件通知和数据库记录。

​常见问题处理
​后端启动失败:检查 MySQL/Redis 连接配置及服务状态。
​前端404错误:确认 Nginx 的 try_files 配置正确。
​邮件发送失败:检查 SMTP 设置及邮箱授权码。

最后修改:2025 年 04 月 10 日
如果觉得我的文章对你有用,请随意赞赏