概述
Structs Guild Stack 是一个 Docker Compose 应用,运行完整的公会节点,包含 PostgreSQL 索引、GRASS 实时事件、Web 应用、MCP 服务器和交易签名代理。它将原本需要 1-60 秒的 CLI 查询压缩至亚秒级响应。
核心用法
1. 基础部署:克隆仓库并固定版本标签后,以只读模式启动核心三服务(structsd 链节点 + structs-pg 数据库 + structs-grass 查询网关)
2. PostgreSQL 查询:通过 GRASS 容器执行高性能 SQL,处理玩家资源、舰队编成、袭击目标侦察、实时威胁检测等场景
3. 可选服务按需启用:NATS 消息流、MCP 服务器(端口 3000)、Web 仪表板、交易签名代理需单独审查后开启
显著优点
- 速度质变:星系级侦察从 30-60 秒降至 <1 秒,实现区块级实时轮询
- 复杂分析:支持武器/防御匹配、舰队编成分析等 CLI 无法完成的计算
- 模块化架构:只读核心最小化攻击面,高级功能显式 opt-in
- 生产级基础设施:持久化服务设计,支持快照恢复与增量同步
潜在缺点与局限性
- 资源消耗:~10 GB 磁盘,首次同步需数小时
- 维护负担:需持续运行 Docker 服务,存在持久化攻击面
- 数据模型复杂:
structs.grid为键值存储,非关系型列查询需多表 JOIN - 功能边界:PG 仅用于读取,交易提交仍需 CLI
适合人群
- 自动化代理开发者:需要实时游戏状态反馈的 AI 代理
- 高级玩家/公会分析师:执行大规模情报收集、战斗模拟、经济分析
- 基础设施工程师:能审计 Docker Compose 文件并管理密钥安全
常规风险
| 风险类别 | 具体描述 |
|---------|---------|
| 供应链风险 | 未固定版本标签时,`git pull` 可能静默替换运行代码;建议始终 `git checkout <tag>` |
| 网络暴露 | MCP 服务器若绑定 `0.0.0.0` 将开放本地工具 surface;必须覆盖为 `127.0.0.1:3000` |
| 密钥安全 | 交易签名代理默认未配置,但一旦启用即成为"远程消费 API";需使用独立低余额密钥 |
| 对抗性数据 | 玩家名称、头像、公会端点等 UGC 存入 PG 仍为不可信输入,需输入验证 |
| 资源耗尽 | 多代理并发 PoW 导致 CPU 争用;需错峰或降并行度 |
安全等级说明
- S 级:核心只读配置(
structsd+structs-pg+structs-grass)无签名能力、无外部监听端口 - 降级至 A 级 若启用 MCP 服务未绑定 localhost
- 降级至 C 级 若启用签名代理且未审计源码、未隔离密钥