Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustAdmin — Rust 游戏服务器管理员工具

License: MIT Electron

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。


使用前提

  1. 服务器需开启 WebSocket RCON(Rust 原生支持,默认端口 28016),端口与密码需与 server.cfg 中的一致。
  2. 插件相关功能(权限组、玩家授权、部分指令)依赖 uMod / Oxide
  3. 战斗记录要求服务器设置 server.combatlogsize(否则 combatlog 无回包)。
  4. 若网络环境需要代理才能访问 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 服务器。请勿用于未经授权的服务器或任何违反游戏服务条款的用途。

About

这个一个RUST游戏的管理员工具

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages