阶段0冻结规格 + V0.1~V0.5 接口签名设计全部完成,进入实施编码阶段。页面展示的概念、架构与交互流程不代表最终版本。功能可能随时调整、重构或移除。

PROJECT N° 05 · STEAM · GODOT 4 · DESIGN COMPLETE

零号告警 校园安全中心 Steam 网络安全学习游戏

玩家扮演学校网络安全中心负责老师,从告警到报告,完成一次完整的校园安全事件分析。

GAME SPEC 阶段0~V0.5 设计完成
类型
网络安全学习游戏
引擎
Godot 4.x MonoC# 11
平台
Windows · Steam
时长
首发 30~60 分钟
语言
简体中文
模式
单机 · 离线可运行
状态
设计完成 · 进入编码

游戏概念

§ 01

不是输入固定答案的题库,而是一次完整的事件响应

玩家扮演学校网络安全中心负责老师,处理教务处、科研处、实验室和网络运维部门发生的虚构安全事件。游戏不把网络安全简化成"输入固定答案",而是让玩家从告警、证据、时间线、系统权限和业务影响出发,完成一次完整事件分析。

核心技术方案:Godot 4 引擎内部实现虚拟文件、虚拟网络、虚拟账号、虚拟服务和脚本解释器。核心逻辑用纯 C# 类实现,不依赖 Godot 节点,便于单元测试。玩家可以自由输入命令和脚本,但所有 I/O 都由游戏沙箱接管。Steam 安装后即可运行,不要求 Docker,不连接真实网络,不执行玩家电脑上的真实程序。

面向没有强制先修基础、但对信息安全感兴趣的本专科生。试玩版完成后,玩家应能解释"发现—确认—取证—研判—遏制—恢复—复盘"的基本流程,区分日志、文件元数据、哈希、编码、加密,并完成包含事件摘要、证据、影响、处置和整改建议的基础报告。

soc@campus · CRT TERMINAL
// 校园安全中心 · 虚拟终端
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 分钟,核心流程从校园探索开始,经过告警接收、证据收集、终端操作、调查处置,最终影响剧情走向并生成事件报告与方向分析。

STEP 01

校园探索

在虚拟校园中移动,与 NPC 对话,了解部门职责和权限关系。

STEP 02

接收告警

教务系统异地登录、异常 HTTP 请求、服务异常退出等安全告警到达。

STEP 03

收集证据

调阅日志、复制文件、计算哈希,在虚拟终端中建立初步时间线。

STEP 04

操作终端

自由输入命令和脚本,探索虚拟文件、账号、服务和网络。

STEP 05

调查与处置

冻结账号、隔离设备、发送整改通知,或向校领导请示重大处置。

STEP 06

影响剧情

错误通过证据缺失、业务中断、部门关系和校领导信任变化体现。

STEP 07

事件报告

完成包含事件摘要、证据、影响、处置和整改建议的基础报告。

STEP 08

复盘与方向分析

展示标准攻击路径、遗漏证据、决定后果和方向推荐报告。

CORE STATE VARIABLES

evidence_integrity
证据完整度 · 0~100
incident_severity
事件严重度 · 1~5
department_cooperation
部门配合度 · 0~100
leadership_trust
校领导信任 · 0~100
business_impact
业务影响 · 0~100
report_completeness
报告完整度 · 0~100
current_branch
当前剧情分支
current_checkpoint
当前回溯点

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.*

L1 · 运行时层 · RUNTIME SYS 主导 · 最高风险 · 优先稳定
Core M01

案件生命周期、全局事件总线、时间线容器、分支状态中央协调者。所有模块的地基。

纯 C# 类 + CaseRuntimeNode (Node) · Godot 信号封装为 IEventBus 接口 · StateManager 8 状态变量
VirtualWorld M02

虚拟文件系统、虚拟网络、虚拟账号、虚拟服务与进程的统一模拟。沙箱的实体。

纯 C# 类 · Dictionary/List 内存结构 · System.Text.Json 序列化 · 禁止真实 IO/Socket/Process
Terminal M03

词法解析、命令执行、脚本 VM、终端 UI。玩家与虚拟世界交互的唯一入口。

手写 Tokenizer + 递归下降 Parser · 树遍历解释器 · Godot Control (RichTextLabel + LineEdit) · CRT 风格
L2 · 玩法层 · GAMEPLAY GAME + DESIGN 主导 · 依赖运行时层稳定
Story M04

校园探索、NPC 对话、任务流转、通知。把"事件"讲成"故事",引导玩家走向调查节点。

JSON 数据驱动对话树 · Godot 3D 场景 + Area3D 交互 · 任务状态机 · Godot 信号通知
Investigation M05

证据库、时间线整理、事件报告生成、标准复盘。玩家"研判—遏制—复盘"成果的承载。

纯 C# 类 EvidenceRepository · TimelineBuilder · 模板填充报告生成器 · Godot Control 调查板
Assessment M06

行为信号采集、方向评分、兴趣/掌握度分离、方向报告生成。学习反馈核心,产品差异化关键。

Core 事件总线订阅 · 加权规则引擎 (25/20/20/20/15) · 13 字段 DirectionReport · 结局前隐藏
L3 · 平台层 · PLATFORM SYS 主导 · V0.4 ~ V0.5 接入
Save M07

本地存档、版本迁移、回溯持久化。支撑"错误可恢复"的体验。

版本化 JSON (schema 版本号) · 世界快照 + 增量状态 · 白名单反序列化 · 5 回溯点 (CP0~CP4)
Steam M08

云存档、成就、发行接口。Steam Cloud 只做文件同步,不做通用后端。

GodotSteam 插件 / Steamworks SDK P/Invoke · SteamPipe 发布 · 版本号/时间戳冲突检测 · 断网可运行
L4 · 数据层 · DATA DESIGN 主导 · 贯穿全程 · 数据驱动扩展
Content M09

案件、节点、服务、证据、剧情配置、工具书页面、评分规则的数据定义与加载。数据驱动扩展的落点。

版本化 JSON / Godot Resource · ICaseContentLoader 加载与校验 · 18 字段内容卡 · 新增案件不改核心运行时

依赖方向:Core 是地基,被全部模块依赖。VirtualWorld 依赖 Core,被 Terminal / Investigation / Story / Save 依赖。运行时层不稳时不要大规模铺内容,否则返工成本高。分层建议确保高优模块先行稳定,玩法层在运行时层就绪后并行填充。

五大技术方向

§ 05 · 5 DIRECTIONS

取证为主线,穿插 Web、密码学、逆向和 Pwn 短任务。每个任务必须有:明确目标、初始线索、可选知识卡、至少三种合理解法、错误后果、最终证据和方向标签。结局前隐藏方向分数,结局后生成推荐报告。

DIR 01

取证 / 杂项

使用日志、文件、压缩包、时间戳、哈希和网络摘要建立事件时间线。

ls find stat grep sha256sum timeline
DIR 02

Web

比较正常与异常登录请求,识别遗留调试接口,理解认证与暴露面风险。

curl grep access.log jwc.campus.local
DIR 03

密码学

区分 Base64、十六进制和真实加密;使用哈希确认文件修改;寻找密钥线索。

base64 xxd sha256sum tar unzip
DIR 04

逆向

分析虚拟程序的文件类型、结构、字符串、配置和行为,与日志关联。不在真实系统运行。

file strings stat cat
DIR 05

Pwn

使用虚拟内存和服务模拟器,模拟输入缓冲区、栈、寄存器和服务崩溃。不加载真实二进制。

connect netstat ps script VM

评分来源:剧情选择 25%、证据类型 20%、命令策略 20%、实验过程 20%、最终报告 15%。系统分开记录"兴趣倾向"和"当前掌握程度",不把不会做题简单解释成没有兴趣。

随身工具书

§ 06 · HANDBOOK

不是答案弹窗,而是老师随身携带的手册

玩家角色是网络安全中心负责老师,因此提示设计为《校园网络安全事件处理手册》。工具书从游戏开始就放在物品栏中,可在校园探索、对话、终端和调查板界面随时打开。

工具书不会自动弹出,不打断调查,不扣分,不改变剧情,也不会降低方向兴趣倾向。查阅工具书视为正常学习行为。结局报告可展示玩家使用过的知识页。

事件响应流程

发现、确认、取证、研判、遏制、恢复、复盘

基础概念

IP、域名、HTTP、日志、哈希、编码、加密、权限

终端速查

命令格式、参数、管道、重定向、虚拟路径

证据保全

复制、哈希、时间线、原始文件、操作记录

方向卡片

取证、Web、密码学、逆向、Pwn 的问题类型

校园通讯录

部门职责、联系人、审批权限、整改流程

TIER 1
方向

方向提示

说明应该关注哪一类证据,不给答案。例如:"注意 HTTP 请求中的异常路径。"

TIER 2
方法

方法提示

建议查看的节点、文件或命令类型,并给出安全示例。例如:"尝试 grep access.log 中的 /api/debug 路径。"

TIER 3
示例

局部示例

展示一小段输出或字段解释,但不替玩家完成整条攻击链。例如:"POST /api/debug/exec 返回 200,说明调试接口未被关闭。"

版本路线图

§ 07 · ROADMAP

阶段0前置冻结 + V0.1~V0.5 全部接口签名设计已完成,正进入实施编码阶段。从技术原型到正式发行分 7 个版本阶段,首发约 38 人周团队总量,4 人全职并行约 9~11 周日历时间。首发不投入公共排行榜、多人匹配和后台画像统计。

V0.1
Core 运行时 · 虚拟文件系统 · 终端引擎 · 沙箱安全 · 取证原型 · 安全测试
设计完成
V0.2
Story 模块 · 校园探索 · HTTP 模拟 · Web/密码学 · 工具书 · 新手引导
设计完成
V0.3
脚本 VM · 沙箱加固 · 逆向分析 · Pwn 模拟 · 多解法 · 审计日志
设计完成
V0.4
分支管理 · 回溯系统 · 调查报告 · 行为评估 · 方向分类 · 三级提示 · 结局判定
设计完成
V0.5
存档系统 · Steam Cloud · 冲突处理 · SteamPipe · 兑换码 · Demo 打包 · 商店页
设计完成
V1.0
第一章成品 + 三类结局 + 正式发行
实施中
V1.x
移动、云、恶意代码和更多校园事件
规划中

Steam Cloud 用于同步小型存档、回溯点和方向报告,不作为通用数据库或后端服务器。内容更新通过 SteamPipe 发布补丁和后续章节。已安装内容在断网时仍可运行,恢复联网后再同步存档和更新。

概念
验证阶段

零号告警阶段0冻结规格 + V0.1~V0.5 全部接口签名设计已完成,正进入实施编码阶段。引擎采用 Godot 4.x (Mono) + C#,核心逻辑与引擎无关。首发不要求 Docker,不连接真实网络,不执行玩家电脑上的真实程序。

商业模式采用低价买断制,避免广告、抽奖和强制内购破坏学习体验。学校或网络安全中心可通过合作渠道为在校生发放游戏兑换码。