PROJECT N° 05 · STEAM · GODOT 4 · DESIGN COMPLETE
零号告警 校园安全中心 Steam 网络安全学习游戏
玩家扮演学校网络安全中心负责老师,从告警到报告,完成一次完整的校园安全事件分析。
游戏概念
§ 01不是输入固定答案的题库,而是一次完整的事件响应。
玩家扮演学校网络安全中心负责老师,处理教务处、科研处、实验室和网络运维部门发生的虚构安全事件。游戏不把网络安全简化成"输入固定答案",而是让玩家从告警、证据、时间线、系统权限和业务影响出发,完成一次完整事件分析。
核心技术方案:Godot 4 引擎内部实现虚拟文件、虚拟网络、虚拟账号、虚拟服务和脚本解释器。核心逻辑用纯 C# 类实现,不依赖 Godot 节点,便于单元测试。玩家可以自由输入命令和脚本,但所有 I/O 都由游戏沙箱接管。Steam 安装后即可运行,不要求 Docker,不连接真实网络,不执行玩家电脑上的真实程序。
面向没有强制先修基础、但对信息安全感兴趣的本专科生。试玩版完成后,玩家应能解释"发现—确认—取证—研判—遏制—恢复—复盘"的基本流程,区分日志、文件元数据、哈希、编码、加密,并完成包含事件摘要、证据、影响、处置和整改建议的基础报告。
// 校园安全中心 · 虚拟终端 soc@campus:~$ whoami security_center_teacher soc@campus:~$ ls /var/log/incident/ access.log auth.log system.log netflow.log soc@campus:~$ grep "22:1" access.log | head -5 22:10:33 192.168.1.105 POST /api/debug/console 22:11:02 192.168.1.105 GET /admin/users 22:12:45 192.168.1.105 POST /api/debug/exec soc@campus:~$ sha256sum evidence.tar.gz a3f5b8c2d1e4f6a7... evidence.tar.gz soc@campus:~$ timeline --build [+] 周一 22:10 教务系统异地登录 [+] 周一 22:18 异常 HTTP 请求 → 调试路径 [+] 周一 22:25 科研服务器新压缩包 [+] 周一 22:31 实验室服务异常退出 soc@campus:~$ isolate lab-test.campus.local [⚠] 确认隔离实验室测试机? (y/n) // rm -rf / 只删除虚拟校园文件 // 不会影响玩家电脑
核心玩法循环
§ 02 · 8 STEPS首发试玩版 30~60 分钟,核心流程从校园探索开始,经过告警接收、证据收集、终端操作、调查处置,最终影响剧情走向并生成事件报告与方向分析。
校园探索
在虚拟校园中移动,与 NPC 对话,了解部门职责和权限关系。
接收告警
教务系统异地登录、异常 HTTP 请求、服务异常退出等安全告警到达。
收集证据
调阅日志、复制文件、计算哈希,在虚拟终端中建立初步时间线。
操作终端
自由输入命令和脚本,探索虚拟文件、账号、服务和网络。
调查与处置
冻结账号、隔离设备、发送整改通知,或向校领导请示重大处置。
影响剧情
错误通过证据缺失、业务中断、部门关系和校领导信任变化体现。
事件报告
完成包含事件摘要、证据、影响、处置和整改建议的基础报告。
复盘与方向分析
展示标准攻击路径、遗漏证据、决定后果和方向推荐报告。
CORE STATE VARIABLES
THREE ENDING TYPES
精准隔离
证据完整,影响范围控制准确。玩家在正确的时间做出了正确的处置决定。
证据受损后恢复
玩家犯错后通过备份和替代线索恢复攻击链。事件最终控制,但复盘结果有瑕疵。
过度处置
过早全网隔离造成业务中断。事件最终控制,但校领导信任度和部门配合度显著下降。
玩家不能在错误发生时看到"答错"提示。错误通过证据缺失、业务中断、部门关系和校领导信任变化体现。案件结尾统一展示标准攻击路径、玩家遗漏的证据、决定造成的后果和替代措施。
虚拟校园沙箱
§ 03 · SAFETY BOUNDARY玩家可以自由探索,但所有 I/O 由游戏接管。
Godot 4 内部实现虚拟文件系统、虚拟网络、虚拟账号、虚拟服务和脚本解释器。终端支持命令组合、管道、重定向、变量、条件、循环、函数和脚本。核心逻辑用纯 C# 类实现,终端 UI 用 Godot Control 节点。
rm -rf / 只删除虚拟校园中的文件,可能降低 evidence_integrity,不会影响玩家电脑。所有操作写入案件审计日志。脚本设置 CPU 指令数、内存、虚拟磁盘和执行时间上限。
-
✓
自由输入命令和脚本 — 管道、重定向、变量、条件、循环、函数。
-
✓
探索虚拟校园网络 — 5 个节点:jwc、research、lab-test、netops、soc。
-
✓
数据驱动内容 — 案件、节点、服务、证据使用 JSON 定义,新增案件不需要修改核心运行时。
-
✓
回溯关键节点 — 案件开始、关键证据获得后、高风险处置前、向校领导请示前、结局生成前。
-
✗
访问真实文件系统 — 永久禁止。路径穿越必须失败。
-
✗
连接真实互联网 — 永久禁止。无真实网络套接字。
-
✗
调用真实 Shell 或进程 — 禁止 PowerShell、Bash、DLL/EXE 加载、Godot/Steam API。
-
✗
无限递归和资源耗尽 — 脚本有 CPU、内存、磁盘和时间上限。
模块架构
§ 04 · 9 MODULES · 4 LAYERS
基于 Godot 4 引擎特性,项目拆分为 9 个核心模块,按运行时层、玩法层、平台层、数据层四层组织。核心逻辑用纯 C# 类实现,不依赖 Godot 节点;仅生命周期管理和 UI 使用 Godot 节点系统。命名空间统一为 ZeroSignal.*。
案件生命周期、全局事件总线、时间线容器、分支状态中央协调者。所有模块的地基。
虚拟文件系统、虚拟网络、虚拟账号、虚拟服务与进程的统一模拟。沙箱的实体。
词法解析、命令执行、脚本 VM、终端 UI。玩家与虚拟世界交互的唯一入口。
校园探索、NPC 对话、任务流转、通知。把"事件"讲成"故事",引导玩家走向调查节点。
证据库、时间线整理、事件报告生成、标准复盘。玩家"研判—遏制—复盘"成果的承载。
行为信号采集、方向评分、兴趣/掌握度分离、方向报告生成。学习反馈核心,产品差异化关键。
本地存档、版本迁移、回溯持久化。支撑"错误可恢复"的体验。
云存档、成就、发行接口。Steam Cloud 只做文件同步,不做通用后端。
案件、节点、服务、证据、剧情配置、工具书页面、评分规则的数据定义与加载。数据驱动扩展的落点。
依赖方向:Core 是地基,被全部模块依赖。VirtualWorld 依赖 Core,被 Terminal / Investigation / Story / Save 依赖。运行时层不稳时不要大规模铺内容,否则返工成本高。分层建议确保高优模块先行稳定,玩法层在运行时层就绪后并行填充。
五大技术方向
§ 05 · 5 DIRECTIONS取证为主线,穿插 Web、密码学、逆向和 Pwn 短任务。每个任务必须有:明确目标、初始线索、可选知识卡、至少三种合理解法、错误后果、最终证据和方向标签。结局前隐藏方向分数,结局后生成推荐报告。
取证 / 杂项
使用日志、文件、压缩包、时间戳、哈希和网络摘要建立事件时间线。
Web
比较正常与异常登录请求,识别遗留调试接口,理解认证与暴露面风险。
密码学
区分 Base64、十六进制和真实加密;使用哈希确认文件修改;寻找密钥线索。
逆向
分析虚拟程序的文件类型、结构、字符串、配置和行为,与日志关联。不在真实系统运行。
Pwn
使用虚拟内存和服务模拟器,模拟输入缓冲区、栈、寄存器和服务崩溃。不加载真实二进制。
评分来源:剧情选择 25%、证据类型 20%、命令策略 20%、实验过程 20%、最终报告 15%。系统分开记录"兴趣倾向"和"当前掌握程度",不把不会做题简单解释成没有兴趣。
随身工具书
§ 06 · HANDBOOK不是答案弹窗,而是老师随身携带的手册。
玩家角色是网络安全中心负责老师,因此提示设计为《校园网络安全事件处理手册》。工具书从游戏开始就放在物品栏中,可在校园探索、对话、终端和调查板界面随时打开。
工具书不会自动弹出,不打断调查,不扣分,不改变剧情,也不会降低方向兴趣倾向。查阅工具书视为正常学习行为。结局报告可展示玩家使用过的知识页。
事件响应流程
发现、确认、取证、研判、遏制、恢复、复盘
基础概念
IP、域名、HTTP、日志、哈希、编码、加密、权限
终端速查
命令格式、参数、管道、重定向、虚拟路径
证据保全
复制、哈希、时间线、原始文件、操作记录
方向卡片
取证、Web、密码学、逆向、Pwn 的问题类型
校园通讯录
部门职责、联系人、审批权限、整改流程
方向
方向提示
说明应该关注哪一类证据,不给答案。例如:"注意 HTTP 请求中的异常路径。"
方法
方法提示
建议查看的节点、文件或命令类型,并给出安全示例。例如:"尝试 grep access.log 中的 /api/debug 路径。"
示例
局部示例
展示一小段输出或字段解释,但不替玩家完成整条攻击链。例如:"POST /api/debug/exec 返回 200,说明调试接口未被关闭。"
版本路线图
§ 07 · ROADMAP阶段0前置冻结 + V0.1~V0.5 全部接口签名设计已完成,正进入实施编码阶段。从技术原型到正式发行分 7 个版本阶段,首发约 38 人周团队总量,4 人全职并行约 9~11 周日历时间。首发不投入公共排行榜、多人匹配和后台画像统计。
Steam Cloud 用于同步小型存档、回溯点和方向报告,不作为通用数据库或后端服务器。内容更新通过 SteamPipe 发布补丁和后续章节。已安装内容在断网时仍可运行,恢复联网后再同步存档和更新。