server-survival README

The project's README from github.com/pshenok/server-survival. As one markdown file: README.md.

Server Survival

Gameplay Demo

Server Survival is an interactive 3D simulation game where you play as a Cloud Architect. Your mission is to build and scale a resilient cloud infrastructure to handle increasing traffic loads while fighting off DDoS attacks, managing your budget, and keeping your services healthy.

Learn cloud by playing:

PLAY NOW

🏭 New: Datacenter Survival — the sister game. This one teaches the logical layer of the cloud; that one teaches the physical layer it runs on: power chains, heat, cooling, PUE. Play it here.

Game Modes

What It Teaches

Every mechanic is a real cloud concept in miniature:

How to Play

Objective

Survive as long as possible! Manage your Budget ($), Reputation (%), and Service Health.

Traffic Types

Traffic Color Destination Reward Description
STATIC Green CDN / Storage $0.50 Static file requests (images, CSS, JS)
READ Blue Replica / NoSQL / SQL DB $0.80 Database read operations
WRITE Orange NoSQL / SQL DB / Warehouse $1.20 Database write operations
UPLOAD Yellow Storage / Warehouse $1.50 File uploads
SEARCH Cyan Search Engine / SQL DB $1.20 Search queries (Search Engine preferred, SQL DB fallback)
MALICIOUS Red Blocked by Firewall / Identity Provider $0 DDoS attacks — block them or bleed reputation!
INFERENCE Fuchsia GPU Cluster (via Inference Gateway) $0.50 AI generation requests — batched on GPUs, with per-request generation length

Infrastructure & Services

Build your architecture using the toolbar. All 26 services are organized into five category tabs — the same taxonomy as the table below. Each service has a cost, capacity, and per-minute upkeep:

Category Service Cost Capacity Upkeep Role
Front door GeoDNS $50 60 $4/min Front door for the whole site: splits traffic across independent regional stacks.
Front door CDN $60 50 $5/min Caches STATIC content at the edge (95% hit rate).
Front door Firewall $40 30 $4/min The first line of defense. Blocks malicious traffic.
Front door Identity Provider $55 20 $6/min Adds latency but catches session-based attacks a WAF misses.
Front door API Gateway $70 60 $8/min Rate limits traffic. Throttled requests lose less reputation than failures. Upgradeable T1–T3.
Front door Load Balancer $50 20 $6/min Distributes traffic to multiple Compute instances.
Compute Compute $60 4 $12/min Processes requests. Auto-scales into a fleet (with cold start). Upgradeable T1–T3.
Compute Serverless Function $45 30 $2/min + $0.03/req Auto-scales with traffic. Very low upkeep but pays per completed request — cheap when idle, expensive at high RPS.
Compute Container Cluster $120 12 $16/min Dense fixed capacity at a flat fee. Slow node-pool warmup on scale-out.
Compute GPU Cluster $300 8 $60/min Batches INFERENCE into one amortized job. Model cold-starts on placement and on every tier upgrade; draws 6 kW. Upgradeable T1–T3.
Compute Inference Gateway $70 10 (queue 20) $5/min Holds INFERENCE for warming/full GPUs, dispatches to the least-loaded one — and expires anything older than its 6s deadline.
Data Relational DB $150 8 $24/min Destination for READ/WRITE/SEARCH traffic. Upgradeable T1–T3.
Data NoSQL DB $80 15 $14/min Fast for READ/WRITE, but cannot handle SEARCH queries. Upgradeable T1–T3.
Data Memory Cache $60 30 $8/min Caches responses to reduce DB load. Upgradeable T1–T3.
Data File Storage $25 25 $5/min Destination for STATIC/UPLOAD traffic.
Data Search Engine $120 12 $16/min Specialized for SEARCH queries. 3× faster than SQL DB. Upgradeable T1–T3.
Data Read Replica $100 12 $12/min Offloads READ traffic from the master DB. Requires connection to a DB. Upgradeable T1–T3.
Data Data Warehouse $90 40 $8/min Stores analytics WRITEs cheaply and slowly. Cannot serve realtime READ.
Async Message Queue $45 50 (queue 200) $3/min Buffers requests during spikes. Prevents drops.
Async Pub/Sub Topic $65 30 $6/min Fan-out: one event becomes one delivery per subscriber.
Async Stream $90 40 (queue 200) $10/min High throughput, strictly ordered per partition. A stalled partition backs up its tail.
Async Dead-Letter Queue $55 25 $4/min Parks requests that finally failed, draining them back for a cost.
Async Scheduler $50 1 $5/min Injects its own scheduled batch-job bursts on a timer.
Async Notification $40 20 $4/min Terminal "send": success earns reputation, failures are silent.
Ops Monitoring $75 1 $8/min Unlocks the live metrics dashboard and alerts.
Ops Substation $150 1 $8/min +6 kW of grid capacity on the 8 kW base. GPUs draw 6 kW each and cannot be placed past the cap.

Scoring & Economy

Action Money Score Reputation
Static Request +$0.50 +3 +0.1
DB Read +$0.80 +5 +0.1
DB Write +$1.20 +8 +0.1
File Upload +$1.50 +10 +0.1
Search Query +$1.20 +5 +0.1
Inference +$0.50 +15 +0.1
GPU Bad Answer - - -0.5
Cache Hit +20% reward - -
Attack Blocked -$1 (mitigation) +10 -
Request Failed - -half -1
Req. Throttled - - -0.2
Attack Leaked -$50 (breach) - -5

Upkeep & Cost Scaling

Survival Mode

The core experience - survive as long as possible against escalating traffic with constant intervention required:

Campaign Mode

25 levels across 5 chapters, each one a scenario built around a single lesson:

  1. Basics (levels 1-3) — your first server, storage, and edge caching with a CDN.
  2. Optimization (levels 4-10) — caching, queues, read scaling, search, NoSQL, rate limiting, serverless vs compute.
  3. Defense & Mastery (levels 11-14) — defense in depth, high availability, cost crunches, and Black Friday.
  4. Production Readiness (levels 15-20) — observability, auto-scaling, node failures, dead-letter queues, fan-out, and two-region failover.
  5. The AI Wave (levels 21-25) — GPU inference: model cold starts, batch-fill economics, SLO deadlines, the power wall, and a capstone that has to end in the black.

Levels come with pre-built starting architectures, primary and bonus objectives, speedrun stars, and a debrief tip. Later chapters throw forced outages — including a whole region going dark — at your build.

Sandbox Mode

A fully customizable testing environment for experimenting with any architecture:

Control Description
Budget Set any starting budget (slider 0-10K, or type any amount)
RPS Control traffic rate (0 = stopped, or type 100+ for stress tests)
Traffic Mix Adjust all 7 traffic type percentages independently
Burst Spawn instant bursts of specific traffic types
Upkeep Toggle Enable/disable service costs
Clear All Reset all services and restore budget

No game over in Sandbox - experiment freely!

Share Your Architecture

Built something you're proud of? The share panel exports your architecture two ways:

Controls

Strategy Tips

  1. Block Attacks First: Always place a Firewall immediately connected to the Internet. Malicious leaks destroy reputation fast (-5 per leak) and cost $50 per breach.
  2. Use CDN for Static Content: Connect Internet -> CDN -> Storage. The CDN handles 95% of static traffic cheaply!
  3. Watch Service Health: Damaged services have reduced capacity. Click to repair or enable Auto-Repair.
  4. Scale for Traffic Surges: RPS multiplies at milestones - prepare before ×2.0 at 3 minutes!
  5. Balance Income vs Upkeep: Start lean, scale as income grows. Over-provisioning leads to bankruptcy.
  6. Use Cache Wisely: Reduces database load significantly for READ requests.
  7. Buffer with Queue: Queue helps survive traffic burst events without dropping requests — and a queue-fed Compute fleet auto-scales on queue depth.
  8. React to Events: Watch the event bar - cost spikes mean hold off on purchases, traffic bursts mean ensure capacity.
  9. API Gateway for Graceful Degradation: Throttled requests only lose -0.2 reputation (vs -1.0 for failures). Great for surviving traffic spikes!
  10. Split DB Traffic with NoSQL: Route READ/WRITE to NoSQL (faster, cheaper) and keep the Relational DB for SEARCH queries only.
  11. Search Engine for SEARCH Storms: SEARCH is the heaviest traffic type (2.5x weight). A dedicated Search Engine processes it 3x faster than SQL DB.
  12. Read Replica for READ offloading: Under "API Heavy" or "Read Heavy" shifts, a Read Replica prevents your main DB from drowning in READ requests.
  13. Serverless Function = pay-per-use: Great for spiky traffic, but monitor finances — per-request cost ($0.03) adds up fast at high RPS.
  14. Place Monitoring early: The metrics dashboard shows error rates and latency before the failure badges start raining.
  15. Read the failure badges: Every dropped request tells you why it died — the badge is the lesson.

Tech Stack

Getting Started

To play, click PLAY NOW. No install, no build, no account.

To run your own copy — a fork, or a change you just made — serve the folder instead of opening the file. The game is native ES modules, and browsers fetch module scripts in CORS mode, so a file:// origin is blocked and double-clicking index.html gets you the UI shell over an empty canvas. Any static server works, and one is already on your machine:

git clone https://github.com/pshenok/server-survival.git
cd server-survival
python3 -m http.server 8000    # then open http://localhost:8000

For Contributors

There is still zero build step — the dev tooling is optional and for contributors only:

See CONTRIBUTING.md for the workflow.

Community

Join our Discord server to discuss strategies and share your high scores: Join Discord


Built with code and chaos.

server-survival (pshenok/server-survival)

Searching Database…

这是什么?Server Survival 是一款可交互的 3D 塔防风格游戏。你扮演云架构师,搭建并扩展云基础设施,以抵御不断增长的流量和 DDoS 攻击,同时学习真实的云架构概念。
这是游戏、模拟器还是教程?这是一款基于浏览器、使用 Three.js 制作的 3D 模拟游戏。你需要在地图上实时放置并连接基础设施节点,它不是文字教程,也不是绘图工具。
我该怎么开始玩?直接在浏览器中游玩。选择一种模式(Survival、Campaign 或 Sandbox),然后从工具栏开始放置服务。工具栏分为五个分类标签:Front Door、Compute、Data、Async、Ops。
玩这款游戏需要云账号或相关背景知识吗?不需要真实的云账号。这是一款独立游戏,通过游玩来讲解云概念;Campaign 模式会循序渐进地带你从基础学到进阶。
如果资金或声誉耗尽会怎样?如果你的声誉降至 0%,或预算破产到 $-1000,游戏就会结束。服务在高负载下也会性能下降,需要手动或自动修复才能保持健康。
这款游戏适合谁?适合任何想以动手实践、游戏化的方式学习云/系统架构概念(扩展、缓存、队列、故障转移)的人,包括开发者、学生和 DevOps 学习者。
它运行在什么平台上?它在网页浏览器中运行,是一款基于 Three.js 和 JavaScript 构建的 3D 游戏。
Survival、Campaign 和 Sandbox 模式有什么区别?Survival 是无尽模式,流量和 DDoS 攻击浪潮会不断升级;Campaign 包含 25 个循序渐进的关卡,每关讲解一个概念;Sandbox 是自由游玩的实验室,没有游戏结束,你可以完全掌控预算和流量组合。
我可以用多少种基础设施服务来搭建?共有 26 种服务,分为五个类别(Front Door、Compute、Data、Async、Ops),包括 CDN、负载均衡器、GPU 集群、消息队列和监控,每种服务都有各自的成本、容量和维护费用。
我可以分享自己搭建的架构吗?可以。分享面板可以把你的搭建导出为 PNG 图片,或生成可分享的 URL(?arch= 链接),任何人打开该链接都能加载你的完整架构。
这款游戏也会讲解 AI/GPU 基础设施吗?会的。最后一个战役章节('The AI Wave')以及 GPU 集群和推理网关服务,会讲解批处理经济性、模型冷启动、SLO 期限,以及为 AI 推理提供服务时的功耗限制。
Creator
pshenok
Size
14.8 MB
Stars
6.5K
Age
10mo
Commits · 90 Days