Squad Rain Ops Mini
Squad Rain Ops Mini 是一个面向《Squad》服务器服主管理场景的轻量化运维面板项目。
项目基于 .NET 6 开发,集成了 RCON、Web 管理后台、日志解析、权限系统、插件系统、VIP/CDK/积分管理、封禁同步和 FRP 内网穿透辅助能力,适合用于中小型服务器的日常运营和管理。
项目简介
本项目的目标是把服主日常常用的管理动作集中到一个统一后台中,减少频繁切换 RCON、配置文件、日志文件和脚本工具的成本。
系统支持首次安装向导、网页登录鉴权、角色权限分配、实时服务器状态查看、玩家管理、聊天记录、战局数据、插件扩展与部分配置文件在线编辑。
技术栈
- 后端:ASP.NET Core Web App (
.NET 6) - 数据存储:SQLite + SqlSugar
- 实时通信:SignalR
- 前端:原生 HTML + Bootstrap + Vue
- 服务器接入:Squad RCON
- 日志处理:本地
SquadGame.log实时解析
核心功能
1. 安装初始化与基础配置
系统支持首次运行初始化。
- 自动检测
SquadGame/ServerConfig/Rcon.cfg中的 RCON 配置。 - 首次配置 Web 管理账号、密码、RCON 地址、端口和密码。
- 自动检测 Web 端口占用,避免启动时直接冲突。
- 支持控制台命令查看与修改 RCON、Web 端口、登录信息。
适用场景:
- 首次部署新服管理面板。
- 迁移项目到另一台服务器时快速恢复。
- RCON 配置变更后的重新接入。
2. Web 管理后台
系统提供静态 Web 管理界面,并通过 Cookie 认证保护后台。
- 登录页、验证码接口、会话鉴权。
- 已初始化后自动屏蔽重复进入安装页。
- 未登录访问后台时自动重定向到登录页。
- 支持按角色和权限点控制页面与接口访问能力。
适用场景:
- 多管理员协作管理同一台 Squad 服务器。
- 将高风险操作限制给特定管理角色。
3. 用户、角色与权限系统
系统内置独立的后台账号体系,不依赖游戏内账号。
- 管理后台子账号的创建、启用、禁用、删除。
- 支持重置后台用户密码。
- 角色管理与权限点分配。
- 支持超级管理员与细粒度权限共存。
详细说明:
users.view/users.add/users.edit/users.delete这类权限用于约束后台账号管理。- 不同模块如玩家、聊天、地图、配置、封禁、VIP、积分、CDK 都有独立权限点。
- 可以为值班管理员只开放查询权限,为高级管理员开放执行和编辑权限。
4. 实时服务器状态监控
系统通过 RCON 轮询和缓存机制获取服务器状态。
- 实时获取服务器基础信息。
- 获取在线玩家、队伍、分队等信息。
- 支持设置 RCON 刷新频率。
- 支持通过 SignalR 向前端推送实时数据。
详细说明:
- 服务启动后会维护 RCON 长连接,并在断线后自动重连。
- 后台页面可以直接读取当前缓存,减少频繁直连带来的压力。
- 在线玩家的数据会结合数据库补全部分历史信息,例如累计游玩时长。
5. RCON 控制台与远程执行
系统既支持网页执行命令,也支持本地控制台直接输入命令。
- Web 端执行任意 RCON 命令。
- 本地控制台直接透传 RCON 指令到游戏服务器。
- 支持管理员踢人、警告、强制击杀、改图等高频动作。
详细说明:
AdminKick、AdminWarn、AdminForceKill等操作已封装为独立接口。- 改图接口限制为地图相关命令,避免误执行无关高风险指令。
- 当 RCON 未连接时会返回明确错误,便于排查。
6. 玩家管理
系统提供完整的玩家库与在线玩家辅助管理能力。
- 玩家列表分页查询。
- 按昵称、SteamID、EOSID 搜索玩家。
- 查看玩家详情。
- 查询玩家近 30 天会话记录。
- 查询玩家本局击杀/死亡明细。
- 查询玩家 TeamKill 历史记录。
- 查询同 IP 在线玩家,辅助识别多开或关联账号。
详细说明:
- 玩家数据来自实时日志解析、RCON 数据和数据库持久化。
- 可对指定玩家执行警告、踢出、封禁、强制击杀。
- 对活跃玩家的历史画像可用于管理判断和纠纷复盘。
7. 聊天记录与日志分析
系统会监听 SquadGame.log 并对聊天等数据进行解析。
- 实时接收 RCON 主动推送消息。
- 保存聊天记录到 SQLite。
- 查询最近聊天消息。
- 支持聊天历史分页和关键字搜索。
- 支持通过 SignalR 把实时聊天广播到前端。
详细说明:
- 系统会尝试解析玩家聊天并关联队伍、分队信息。
- 日志数据适合用于管理员巡查、纠纷核查和玩家行为分析。
- 后续还可在此基础上扩展敏感词、自动告警、行为审计等能力。
8. 封禁管理与封禁同步
系统内置封禁记录与同步机制。
- 查看封禁列表。
- 搜索封禁记录。
- 新增封禁并支持同步踢出在线玩家。
- 解除封禁。
- 手动触发封禁配置同步。
- 查看最近一次和下一次同步状态。
详细说明:
- 封禁逻辑不仅写入系统侧数据,也支持同步到
SquadGame/ServerConfig/Bans.cfg。 - 封禁同步由后台服务周期执行,保证配置文件和系统记录尽量一致。
- 手动同步适合大批量调整后立即下发。
9. VIP 管理
系统支持管理 VIP/SVIP 成员并同步到 Squad 服务器配置。
- 新增、编辑、删除 VIP 成员。
- 区分
VIP_RainOpsMini与SVIP_RainOpsMini分组。 - 手动同步 VIP 到
Admins.cfg。 - 后台服务定期检查 VIP 到期状态。
详细说明:
- VIP 数据独立存储,便于持续维护与导入导出。
- 同步后可以将服内配置与面板后台保持一致。
- 适用于赞助权益、活动奖励、长期服主管理名单维护。
10. 积分系统
系统包含基础积分管理功能。
- 查看积分列表。
- 按 SteamID 搜索。
- 修改玩家积分。
- 插件可直接调用积分服务发放或扣除积分。
详细说明:
- 积分记录持久化到数据库。
- 可与签到、红包、抽奖、刮刮乐等玩法插件联动。
- 适合构建服务器内的活跃度激励体系。
11. CDK 生成与兑换
系统支持生成和兑换礼包码。
- 批量生成 VIP/SVIP CDK。
- 按状态、类型、关键字查询 CDK。
- 删除指定 CDK。
- 对外开放兑换接口供玩家使用。
详细说明:
- 适合活动发码、赞助补偿、节日奖励等场景。
- 兑换结果会记录使用人、用途、状态等信息。
- 可与网页兑换页配合形成完整活动链路。
12. 地图与服务器配置文件管理
系统支持在线读取与保存 Squad 服务器配置文件。
- 列出
SquadGame/ServerConfig下的配置文件。 - 在线读取
.cfg/.txt/.ini文件内容。 - 在线保存配置文件。
- 支持改图、切图类管理动作。
详细说明:
- 可统一管理如
Admins.cfg、Bans.cfg、LayerRotation.cfg、MOTD.cfg等文件。 - 对文件名做了基础安全检查,防止路径穿越。
- 适用于日常快速热修配置而不必频繁远程桌面或 SSH 编辑。
13. 插件系统
项目内置插件扫描与注册机制,所有实现 IPlugin 的插件会自动加载。
- 自动扫描插件类型并注册到 DI。
- 支持普通插件与后台服务型插件。
- 支持查看插件列表。
- 支持动态更新插件配置。
- 支持重置插件配置。
详细说明:
- 插件配置集中存放在
PluginConfig目录。 - 插件可监听 RCON 消息、读写数据库、接入积分和聊天能力。
- 适合持续扩展服内自动化运营逻辑。
14. 内置插件功能说明
当前项目包含以下内置插件或扩展模块:
WelcomePlugin:玩家进入服务器时的欢迎消息或欢迎流程。TKAutoKickPlugin:针对 TeamKill 行为的自动惩罚或自动踢出。TicketQueryPlugin:阵营票数查询与票数管理辅助。TeamSwitchPlugin:队伍切换相关逻辑控制。TeamBalancePlugin:自动平衡阵营人数或强度。SquadCreationAnnouncePlugin:创建小队时自动播报或提示。ScratchCardPlugin:刮刮乐类活动玩法。RedPacketPlugin:红包玩法,通常用于活跃互动奖励。RedemptionPlugin:兑换类奖励逻辑。PersonalBuffPlugin:个人增益或临时效果配置。ManualSignInPlugin:手动签到玩法。LotteryPlugin:抽奖玩法。GameTimeQueryPlugin:玩家游戏时长查询与刷新。CdkRedeemPlugin:与 CDK 兑换流程联动。CallOpPlugin:玩家呼叫管理或值班人员提醒。BroadcastPlugin:定时或手动广播消息。AutoSignInPlugin:自动签到奖励。AfkKickPlugin:挂机玩家清理。
说明:
- 各插件的实际行为以源码和
PluginConfig/*.json配置为准。 - 部分插件偏向活动玩法,部分偏向秩序管理和自动化治理。
15. FRP 内网穿透辅助
项目集成了 FRP 管理能力,便于部分场景下的远程接入。
- 注册
FrpManager服务。 - 控制台支持
frp start、frp stop、frp restart。 - Web 端提供 FRP 相关 API。
- 项目中附带
FRP配置与 systemd 示例文件。
详细说明:
- FRP 不会在程序启动时自动运行,需要手动启动。
- 适合测试环境、异地维护或临时接入场景。
- 生产使用前建议结合实际网络策略评估安全性。
16. 在线状态与值班辅助
系统支持查看当前面板在线用户与值班状态。
- 显示当前在线管理面板用户。
- 显示在线 OB/观察员等状态信息。
- 便于管理协同与排班交接。
项目目录说明
Apis/ 模块化接口定义
Helpers/ RCON、日志、数据库、通用工具
Hubs/ SignalR Hub
Models/ 数据模型
Plugins/ 内置插件实现
PluginConfig/ 插件配置文件
Services/ 后台服务与业务服务
SquadGame/ServerConfig/ Squad 服务器配置目录
wwwroot/ 前端静态页面与资源
FRP/ FRP 相关文件
SteamTimeQuery/ 辅助查询子项目
运行说明
环境要求
- Windows 环境优先
.NET 6 SDK- 可访问的 Squad 服务器 RCON
- 本地或映射到项目目录下的
SquadGame日志与配置目录
启动步骤
- 安装
.NET 6 SDK - 进入项目目录
- 执行
dotnet restore - 执行
dotnet run - 浏览器访问控制台输出的 Web 地址
- 首次运行按向导完成初始化
常用控制台命令
help:查看帮助status:查看系统状态connect:手动连接 RCONConfig:查看当前配置setrcon:修改 RCON 配置setwebport:修改 Web 端口showlogin:查看登录信息resetlogin:重置登录信息frp start/frp stop/frp restart:控制 FRP
数据与配置说明
项目运行时会产生或使用以下数据文件:
rcon_config.json:RCON 与后台登录配置users.json:后台用户数据roles.json:角色权限数据vip_members.json:VIP 成员数据RainOps.db:业务数据库SquadGame/Saved/Logs/SquadGame.log:游戏日志
这些文件通常属于部署环境数据,不建议直接公开到代码仓库。
适用场景
- Squad 社区服日常值班与运营
- 小型到中型服务器的一体化管理后台
- 希望把 RCON、日志、配置、活动玩法统一管理的服主团队
- 需要二次开发 Squad 运维能力的开发者
后续可扩展方向
- 更完整的操作审计日志
- 更细的插件权限隔离
- 地图轮换可视化编辑
- 更完整的数据报表与趋势分析
- 多服务器统一管理
- 自动化告警与机器人通知集成
说明
本 README 基于当前项目代码结构、接口、页面文件和插件命名整理而成。
若某些插件行为经过配置调整,请以实际部署配置和源码实现为准。
许可说明
本项目采用自定义许可证:RainOps Mini Non-Commercial License v1.0。
你可以:
- 下载
- 学习
- 复制
- 修改
- 非商业场景下重新分发
你必须:
- 明确标注原始面板开发者为
虾仁 - 在 README、说明文档或明显界面位置保留开发者署名
- 修改后说明你做过变更
你不能:
- 将本项目或修改版用于商业用途
- 删除、隐藏或伪造原始开发者署名
如需商业授权,请联系原开发者 虾仁。