<!-- title: 《server-survival》怪是DDoS，塔是你的架构 -->
<!-- domain: games -->
<!-- repo: pshenok/server-survival -->

凌晨一点，流量洪峰到了。你的CDN稳稳接住静态请求，缓存命中率亮得发光，然后一条红色的恶意流量从没接防火墙的空档里漏了进去——声誉-5，安全漏洞一次扣$50。屏幕上弹出一个小徽章，写着这条请求的死因。你揉揉眼睛改架构，把防火墙挪到最前排，抬头看见下一波RPS正在×1.3。

这是 server-survival，一个把云计算架构做成塔防的浏览器游戏。开源，零安装，点开链接就玩，6.4k星，而且昨天还在更新。

## 仓库档案

- **仓库**：pshenok/server-survival
- **Star**：6.4k（据GitHub页面，2026-10）
- **语言**：JavaScript（原生ES Modules）+ Three.js + Tailwind CSS
- **License**：README未标注（据仓库页面）
- **作者**：pshenok，个人账号起步的项目；贡献流程工程化完整，ESLint+Vitest+CI一应俱全
- **更新**：近几天仍在提交，姊妹作《Datacenter Survival》已经上线
- **部署**：GitHub Pages直接伺服仓库，无构建步骤

## 这游戏是什么

一句话：**你是云架构师，塔是CDN和数据库，怪是流量洪峰和DDoS。**

三种模式撑起整个游戏：Survival是核心的无限生存，流量越来越猛，看你能撑几分钟；Campaign是25个手工关卡、5个章节（基础→优化→防御精通→生产就绪→AI浪潮），每关教一个架构概念，配好预设图、目标和赛后复盘；Sandbox是自由实验室，预算随便给，流量随便调，没有Game Over，26种服务随便造。

```mermaid
flowchart TD
    A["七色流量涌入<br/>静态 · 读 · 写 · 上传 · 搜索 · AI推理 · 恶意"] --> B["请求沿你画的线路游走"]
    B --> C{"架构接得住吗？"}
    C -->|"接得住"| D["赚钱 + 加声誉 + 涨分<br/>缓存命中还有20%奖励"]
    C -->|"接不住"| E["每次失败声誉-1<br/>DDoS漏进来一次-5，再赔$50"]
    C -->|"被限流"| F["API网关温柔拒绝<br/>只扣-0.2，体面"]
    D --> G["扩建26种服务<br/>GPU集群每分钟烧$60"]
    E --> H["读失败徽章复盘<br/>徽章直接写明死因"]
    F --> G
    G --> I["下一波更猛<br/>RPS里程碑×1.3到×4.0<br/>40秒换流量结构 · 45秒一波DDoS"]
    H --> I
    I --> A
```

七种流量各有颜色、各有去处、各有价码：静态文件$0.50送CDN，数据库读$0.80，写$1.20，上传$1.50最肥，搜索$1.20但权重最高，AI推理$0.50要走推理网关进GPU集群，恶意流量$0——拦住加10分，漏进来掉声誉还赔钱。你的活儿就是用26种服务（五个标签页：入口层、计算、数据、异步、运维）搭一张网，让每一滴流量都落到该去的地方。

塔防玩家会心一笑：这不就是选炮塔、摆位置、看波次吗？程序员会心一笑：这不就是我上班第一天接手的那个系统吗？

## 为什么上头

**1. 压力曲线永远不让你舒服。** RPS在时间里程碑上倍增，1分钟×1.3，10分钟×4.0；每40秒流量结构漂移一次（“API Heavy”突然变成“Read Heavy”）；每45秒一波DDoS，50%流量是恶意的；中间还随机插15-45秒一次的事件——成本飙升、容量骤降、整个区域宕机。塔防的经典心跳还在，但心跳的来源换成了“背压”，越懂云计算的人越知道下一秒有多疼。

**2. 失败徽章是最便宜的教学循环。** 每个被丢掉的请求会在节点上弹一个徽章，写明死因：没有路由、容量不足、打到只读副本、搜索引擎才认索引……你不是被Game Over羞辱，你是被一条条error log勾着去改架构。程序员看见报错信息会本能想修——这是刻在骨子里的条件反射，作者把debug的上头感原封不动搬进了游戏。

**3. 经营压力双向锁死。** 26种服务全都有每分钟维护费，GPU集群$60/分钟，修一次收成本15%，10分钟内维护成本还会翻倍。扩容太猛，破产（-$1000判负）；不扩容，声誉掉到0%判负。“不扩张等死，扩张找死”——放置经营游戏上头的老配方，配上的却是你做容量规划时的真实焦虑。

**4. 知识进度条替代收集欲。** 25关每关教一个概念：第一章教你怎么用CDN接住静态流量，第五章教GPU推理批处理——满批印钞、半批流血的利用率经济学，12/20/30秒的模型冷启动，6秒SLO过期就诚实丢弃，8kW电力墙决定GPU上限。第15关更绝，它先让你在没有监控的情况下盲飞一局，再告诉你Observability为什么是第一生产力。这个进度条本身就是毕业证。

**5. 病毒循环是内建的。** 分享面板把你的整张架构图编码进一个`?arch=`链接，谁点开谁就加载你的布局；PNG一键导出，天生适合发推；关卡有speedrun星级计时。晒高分截图是炫耀，晒一张漂亮的多区域容灾架构图是技术品味——后者的分享动机强得多。

**6. AI Wave踩在时代点上。** 2026年最后五章教的全是推理服务：批处理怎么摊薄固定成本、网关怎么给 warming 的GPU排队、老请求过期为什么比慢更好。这些词每个程序员最近都被轰炸过，在游戏里亲手把它们搭一遍，然后截图转发——“我终于搞懂SLO了”比任何教程都有传播力。

## 技术拆解

**零构建是它的传播杠杆。** 原生ES modules，`src/`下是一张显式的模块图：`sim/`（模拟）、`core/`、`ui/`、`campaign/`、`persistence/`、`input/`，没有bundler。GitHub Pages直接伺服仓库原文档，clone下来`python3 -m http.server 8000`就能跑（原生ESM走CORS，双击index.html只会看到空壳，这点README特意交代了）。没有`npm install`的地狱，fork成本几乎为零——想魔改的人打开目录就能动手，这是它能滚到6.4k星的隐形推手。

**模拟与表现分离，数值全表驱动。** `sim/`是纯逻辑，README敢把全部价目表直接列出来——每种请求的钱/分/声誉、每种服务的成本/容量/维护费，一张表讲完游戏经济。这说明数值配置外置，不是散落在代码里的魔法数字。想换皮改平衡，改表就行，这对想二创的人是明牌邀请。

**Three.js只负责“体面”，不负责炫技。** 等距视角和俯视角一键切换，没有一张贴图资源依赖，所谓特效就是七色请求粒子沿线路流动。教育游戏的画面诉求是“可读性”而不是“震撼”——堵在哪里、漏在哪里，一眼看见就赢了。

**两个可以直接抄走的组件。** 一是`persistence/`存档模块加上`?arch=`的URL状态编码——把整个搭建状态塞进一条链接，任何搭建类游戏都用得上；二是“失败徽章”教学循环——把报错信息变成游戏反馈UI，成本极低，教学效果拔群。

**工程化完整度在游戏仓库里罕见。** ESLint全量检查、Vitest测试套件、CI跑在每个PR上，CONTRIBUTING.md写清流程。一个浏览器游戏配这套家当，说明作者把它当产品养，不是当demo扔。

## 变现观察

仓库本身**零变现痕迹**：免费、无账号、无广告位、无内购，GitHub Pages托管成本约等于零，社区运营靠一个Discord。它是纯粹的“作品引流”打法。

但选品极其聪明，后路全留好了：

- **受众是开发者和云计算学习者**——互联网广告单价最高的人群之一，对B端更值钱。
- **云计算认证培训是成熟付费市场**，“玩着学会架构”的游戏天然是课程漏斗的前置内容。教育小游戏→付费教程的路径早被跑通，前端CSS教学游戏家族就是先例：游戏白送，交互式课程收费。
- **姊妹作已经上线**。Datacenter Survival教物理层：电力链、散热、PUE。逻辑层一个游戏、物理层一个游戏，这是“教学游戏矩阵”的品类打法，不是碰运气。
- **云厂商是天然金主**。一个教人理解CDN、自动扩容、多区域容灾价值的游戏，对云厂商来说就是最好的科普广告位——赞助、联名关卡、品牌服务皮肤，全是现成路径。

这类游戏的真实变现天花板不在游戏内，而在它把你标记为“懂这个领域教育的人”——课程、企业内训、出书、咨询，全是后端收入。

## 给我的灵感

**1. 换一个垂直行业，公式原样搬。** 塔防+硬知识教学的骨架完全可复用：K8s版（pod是塔，故障注入是怪，HPA是扩容机制）、5G基站版（用户是流量，拥塞是怪）、React组件树版（props往下灌，状态堵在中间层）。MVP一两周：抄他的数据驱动价格表加粒子流，把26种服务换成你行业的26个概念。变现走B端——企业培训和认证课程导流，单价远高于C端广告。

**2. 中文+本土云厂版，直接fork。** 把26个服务替换成国内云厂商对应产品（对象存储、函数计算、API网关……），面向考云认证的中文人群。汉化加换皮两三周。变现路径：认证课程分销、云厂商返佣、招聘导流。6.4k星已经证明需求存在，中文供给几乎空白，窗口就在这儿。

**3. 哪怕不做游戏，也偷走`?arch=`这一招。** 任何“玩家搭建东西”的游戏——牌组构筑、地图编辑、工厂布局——都可以把状态编码进URL加PNG导出，两天工作量，换来玩家自发的零成本传播。分享落地页挂个广告位或关注按钮，流量自己长。

## 上手

- **仓库**：https://github.com/pshenok/server-survival
- **在线玩**：README的PLAY NOW徽章直通在线版，GitHub Pages托管，无需安装无需注册
- **本地跑**：`git clone`后`python3 -m http.server 8000`，浏览器打开localhost:8000（必须起服务，file://打不开）
- **姊妹作**：Datacenter Survival（数据中心的物理层版本：电力、散热、PUE），入口在README顶部

他没发明塔防，也没发明云计算——他把两个东西焊在一起，6.4k星只是结果。你的行业里也总有一群人每天在跟某种“流量洪峰”搏斗，把它做成塔防，那就是你的server-survival。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
