当前项目由两个模块组成:
PlayerAuditPaper:主控插件PlayerAuditNode:附属子服插件
其中真正承载浏览器面板与审计数据中心的是 PlayerAuditPaper。
审计系统会保存敏感信息,例如:
- 玩家聊天记录
- 后台管理指令
- 子服联通状态
- 处罚状态与执行记录
因此设计原则是:
- 默认不暴露公网
- 浏览器面板优先走
HTTPS + WSS - 旧
HTTP接口仅作为兼容层保留 - 节点同步优先走加密
WSS
主控面板使用 web.token 控制访问:
- 浏览器端会先通过 WSS
AUTH消息完成鉴权 - 兼容
/api/*接口仍支持Authorization: Bearer <token>
建议:
- 永远不要把
web.token留空后再对外暴露端口 - 令牌长度至少 20 位,并混合大小写、数字和符号
保持主控配置接近默认值:
web:
host: 127.0.0.1
port: 8806
secure-port: 8807然后:
- 浏览器访问
HTTPS面板 - 浏览器业务数据走
WSS - 仅在本机或内网暴露端口
至少同时做到:
- 设置
web.token - 使用有效
keystore - 只暴露
secure-port - 在反向代理层附加额外鉴权(如 Basic Auth / IP 白名单)
主控面板安全通道依赖:
web.key-store-pathweb.key-store-passwordweb.key-store-type
如果证书配置不正确:
- 插件当前会记录警告
- 兼容 HTTP 仍可继续启动
- 但安全面板
HTTPS/WSS不会可用
因此生产环境必须确保:
- keystore 文件存在
- 密码正确
- 浏览器可信任该证书链
主控与子服之间的同步至少要保护两部分:
- 接入令牌
- 传输链路
建议:
- 优先使用主控
network.channel的WSS节点通道 PlayerAuditNode/ 旧子服模块中的主服 token 必须与主控保持一致- 如果仍保留旧 HTTP 回退链路,建议仅内网使用
请确保敏感登录类命令都出现在:
logging:
mask-commands:
- /login
- /register
- /reg
- /l这些命令在被记录时会被脱敏成类似 /login ***。
当前项目 release 同时发布两个 jar:
PlayerAuditPaper-1.1.0.jarPlayerAuditNode-1.0.0.jar
部署时请注意角色分离:
- 不要把
PlayerAuditNode当成浏览器主控面板使用 - 不要把
PlayerAuditPaper当成纯子服中继器使用