Rust 服主的一站式管理面板:在线玩家、控制台、聊天记录、封禁、战斗记录、权限组、服务器配置、管理员指令与物品发放,全部基于 WebSocket RCON 实时操作。
当前版本:1.3.0
| 模块 | 说明 |
|---|---|
| 服务器连接 | 支持 IP / IP:端口 / ws://IP:端口 / IP:端口/密码 等写法自动拆分;配置一键保存、原地更新、重启后自动回填 |
| 在线玩家 | 头像色块 + 名称/SteamID、城市归属地、延迟条、在线时长、TimeBan 与 Steam 封禁数;行内踢出/封禁、右键菜单;差量渲染(进入/离开/换位都有动效) |
| 控制台 | 按类型着色(命令/击杀/加入/错误/聊天)、分类计数、搜索、跟随与「N 条新日志」提示;日志自动落盘并可在重连后回看;⚡常用命令面板(内置 38 条 + 自定义 + 历史,Ctrl+K) |
| 聊天记录 | 频道筛选(全服/队伍/卡组/管理)带计数、按玩家筛选、连续发言分组、日期分隔、单条复制、导出;每 60 秒定时整理落盘(JSONL,30 天保留,8MB 轮转) |
| 封禁记录 | 服务器 banlist 与本地封禁库合并去重,来源徽章、临时封禁到期提示、解封/删除规则/打开主页 |
| 战斗记录 | 选人即查、结果二次筛选、血量变化可视化(剩余/扣血条)、导出 |
| 离线玩家 | 玩家掉线自动记录(名称/SteamID/IP/最后坐标/在线时长/服务器/下线时间),支持时间范围筛选与相对时间 |
| 权限组 | 组列表带成员/权限数徽章、组权限按插件前缀分组、一键复制全部权限、成员增删(17 位校验) |
| 玩家授权 | 在线/曾玩玩家选择、Oxide 权限目录按插件浏览与点击授予、自定义权限、经济操作 |
| 服务器配置 | 连接后自动读取 17 项 convar 并回填;主机名/介绍/Logo/标签/人数/组队/资源刷新/时间/昼夜时长/NPC/战斗记录全部可改,改完自动回读校验 |
| 管理员指令 | 119 条常用指令按 7 类分组、支持搜索与折叠、参数表单、危险指令二次确认、回车直接发送、输出栏标记成功/失败/超时 |
| 物品发放 | 1062 条官方物品目录(含中文名与图片)、分类计数、复制 shortname、批量数量、按玩家或全服发放、预设管理 |
| 其它 | 使用日志、Rust 官方动态(每小时自动获取 + 在线翻译)、左下角下次官方清档倒计时 |
到 Releases 下载 RustAdmin.zip,解压后直接运行 RustAdmin.exe。
首次运行会在程序同级目录生成配置与日志文件(见下方"本地数据")。
cd dev-app
npm install # 安装 Electron 30 与 ws
npm start # 开发运行
npm run start:debug # 带远程调试端口 9222(可用 DevTools)要求:Node.js 18+(开发时使用 Node 24 / npm 11 验证),Windows 10/11。
- 服务器需开启 WebSocket RCON(Rust 原生支持,默认端口
28016),端口与密码需与server.cfg中的一致。 - 插件相关功能(权限组、玩家授权、部分指令)依赖 uMod / Oxide。
- 战斗记录要求服务器设置
server.combatlogsize(否则combatlog无回包)。 - 若网络环境需要代理才能访问 Steam / Facepunch,程序会自动读取系统代理设置。
程序会在自身所在目录(源码运行时为 dev-app/)读写以下文件,均已在 .gitignore 中排除:
| 路径 | 内容 |
|---|---|
servers.json |
已保存的服务器(含 RCON 密码,请注意保密) |
ban_db.json / player_data.json / offline_players.json |
本地封禁规则、玩家标记备注、离线玩家记录 |
Logs/ |
控制台结构化日志(JSONL)与人读 txt 日志 |
ChatLogs/ |
聊天记录(JSONL)、导出文件 |
usage_log.json |
操作日志 |
dev_config.json |
开发者配置(QQ 机器人上报地址等) |
⚠️ 这些文件包含服务器地址、RCON 密码与玩家信息,请勿提交到公开仓库。
dev-app/
├─ main.js # 主进程:RCON/WS、IPC、文件持久化、自动保存定时器、新闻抓取与翻译
├─ preload.js # contextBridge 暴露的 rustAPI(仅白名单方法)
├─ pc/main.js # 入口转发
├─ renderer/
│ ├─ index.html # 界面结构
│ ├─ app.js # 渲染层逻辑(各面板、筛选、动效、事件委托)
│ ├─ style.css # 样式与动效(含 prefers-reduced-motion 兜底)
│ ├─ rustapi-web.js # Web/Capacitor 兜底实现(非 Electron 环境)
│ └─ rust_items.json # 官方物品目录(1062 条:中文名 / shortname / 图片 / 分类)
├─ assets/ # 图标(多尺寸 ico 与 png)
└─ build/ # 打包用图标
- 出站请求统一走 Electron
net(Chromium 网络栈),因此自动使用系统代理;此前用 Node 原生https直连在需要代理的网络里会静默超时。 - RCON 响应按
Identifier配对,避免把服务器广播(聊天等)当作命令回包。 - 控制台/聊天日志采用追加式 JSONL + 定时批量落盘(避免每条消息重写整个文件造成主进程卡顿)。
- 表格与列表尽量使用事件委托 +
data-*,不把玩家名等数据拼进内联onclick(名字含引号会导致按钮失效)。 - 列表动效基于数据签名判断,仅在数据真正变化时播放,避免刷新时闪烁。
感谢以下朋友对项目的帮助:
- TTOOBBTT — QQ
963073346 - QQ
834537945 - QQ
756137897
以及 Rust / uMod 社区的开源插件生态。
本项目采用 MIT License 开源。
免责声明:本工具仅用于管理你自己拥有或已获授权的 Rust 服务器。请勿用于未经授权的服务器或任何违反游戏服务条款的用途。