TopGit
GitHub Repo Review

Server Survival: a tower-defense cloud architecture game

pshenok/server-survival
STopGit review image for pshenok/server-survival
Review by Topgit.dev for pshenok/server-survival, with GitHub repository stats and README context.
Quick verdict

Server Survival is a free, browser-based tower-defense game teaching cloud architecture by making you build and defend infrastructure patterns — auto-scaling, circuit breaking, multi-region failover — against rising traffic. Reach for it if you learn scaling by watching a system break rather than reading about it; skip it if you need content mapped to an AWS or Azure certification exam, not a vendor-neutral mental model.

Stars
★ 6.3k
Forks
⑂ 705
Language
JavaScript
License
MIT
Topic
Frontend
Updated
Aug 2026
Homepage
GitHub

What is Server Survival?

As a Cloud Architect, players in Server Survival, an interactive 3D simulation game, are tasked with connecting services such as a Load Balancer, NoSQL DB, and CDN on a canvas controlled by a toolbar to ensure continuous traffic flow. It runs in the browser via Three.js, with three modes — Survival, Campaign, and Sandbox — sharing the same 26 services. Tower-defense framing turns ideas like queue-depth scaling and circuit breaking into things you watch fail live.

Key Cloud Architecture Concepts Taught

  • Observability — placing a Monitoring node turns on a live metrics dashboard (RPS, error rate, latency); campaign level 15 deliberately withholds it first so you feel what flying blind is like.
  • Auto-scaling with cold start — Compute fleets scale out once utilization crosses 70% and back in below 30%, but new instances need warm-up time, and Container Clusters warm up even slower.
  • Queue-depth scaling — a queue-fed fleet scales on backlog pressure, not just CPU, so a growing queue triggers scale-out on its own.
  • Circuit breaking and retries — an overloaded downstream trips a breaker once its rolling error rate hits 50%, and traffic gets retried with backoff.
  • Multi-region failover — GeoDNS splits traffic across regional stacks, and region-outage events show why a single region is never enough.
  • GPU inference economics — the GPU Cluster batches inference requests into one job, so a full batch is profitable while a half-fed GPU just burns its $60/min upkeep.
  • Power as a hard constraint — the grid caps out at 8 kW, each GPU draws 6 kW, and a Substation adds another 6 kW, so capacity runs out in watts before it runs out in dollars.
  • For failure reasons, badges are provided; each time a request is dropped, a badge appears on the node responsible for the drop, specifying the actual cause (no route, over capacity, read-only replica, and so on).
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history

Game Modes: Learn, Survive, Experiment

  • Survival mode for open-ended pressure-testing: traffic accelerates on a timer (×1.3 at 1 minute up to ×4.0 at 10 minutes) while DDoS spikes and random events keep forcing you to adapt an existing build.
  • Campaign mode for structured, level-by-level learning: 25 levels across five chapters move from a first server and CDN through observability, auto-scaling, multi-region failover, and GPU inference, each with a pre-built starting architecture and a debrief.
  • Sandbox mode for testing one idea in isolation: set any starting budget, dial traffic mix across all seven traffic types, and turn upkeep off entirely, with no game-over to interrupt experimenting with the full set of 26 services.
  • Sharing a build with someone else: the share panel exports a PNG of your diagram or a URL with the architecture encoded in an `?arch=` parameter, so anyone who opens the link gets it pre-loaded.

Getting Started with Server Survival

Server Survival needs no installation to actually play: clone the repository, open index.html directly in a modern browser, and the game loads — there's no build step, since the same static files are what GitHub Pages serves live. The objective is to survive as long as possible while managing Budget ($), Reputation (%), and Service Health; the game ends if Reputation hits 0% or you go bankrupt at $-1000. If you want to touch the code instead, run `npm install` once and then `npm run check`, which lints with ESLint and runs the Vitest suite — that tooling is only for contributors, not for playing.

Strengths

  • Failure-reason badges name the actual cause of every dropped request (no route, over capacity, read-only replica...), turning a game-over into a debugging lesson instead of just a loss.
  • Campaign mode's 25 levels are structured one lesson at a time, with a pre-built starting architecture, objectives, and a debrief — you're not staring at a blank canvas guessing what to build.
  • Sandbox removes game-over entirely, letting you dial traffic mix, budget, and RPS independently to test one mechanic, like GPU batching economics, without Survival mode's pressure.
  • No build step to just play it — clone and open index.html — while contributors still get a real toolchain (ESLint, Vitest) if they want to touch the code.
  • It's MIT-licensed behind it, so the code is genuinely open to read, fork, or extend, not just free to play.

Limitations of the Simulation

  • No mobile or touch support is documented — controls are mouse, keyboard, and camera-drag only, so this isn't something you'd play on a phone.
  • The economic model is arcade-simplified: real cloud pricing involves reserved instances, spot pricing, and per-region cost variance that this game's flat per-service upkeep numbers don't attempt to model.
  • Campaign mode tops out at 25 levels across 5 chapters; once you finish The AI Wave chapter, there's no stated ongoing content beyond returning to Sandbox for practice.
  • It teaches the logical/software layer of cloud architecture only — the README points you to the separate Datacenter Survival project for physical-layer concepts like power chains, heat, and cooling, so you need both games for the full picture.

Alternatives for Cloud Learning

Datacenter Survival — the same author's sister game, which the README points to for the physical layer of cloud infrastructure (power chains, heat, cooling, PUE) that this game doesn't cover.AWS Cloud Quest — AWS's own 3D role-playing game for learning cloud fundamentals, tied specifically to AWS services and certification paths rather than vendor-neutral concepts.system-design-primer — a text-and-diagram GitHub resource covering the same scaling and architecture trade-offs, for people who'd rather read case studies than play a tower-defense game.

Frequently Asked Questions

Is Server Survival free to play?

Server Survival is free to play — it runs in the browser with no account or purchase required, served straight from GitHub Pages.

What cloud services can I simulate in Server Survival?

Server Survival includes 26 services across five categories — Front Door (GeoDNS, CDN, Firewall, Identity Provider, API Gateway, Load Balancer), Compute (Compute, Serverless Function, Container Cluster, GPU Cluster, Inference Gateway), Data, Async, and Ops — each with its own cost, capacity, and upkeep.

Can I share my custom architectures from Server Survival?

Server Survival's share panel exports a build two ways: a PNG image of the diagram to post anywhere, or a shareable URL with the architecture encoded in an `?arch=` parameter that loads it pre-built for whoever opens the link.

What is the tech stack used for Server Survival?

Server Survival runs on vanilla JavaScript with native ES modules and no bundler, renders its 3D scenes with Three.js, and styles its glassmorphism UI with Tailwind CSS — GitHub Pages serves the code raw with no build step.

How does Server Survival differ from Datacenter Survival?

Server Survival teaches the logical layer of cloud infrastructure — services, traffic routing, scaling — while Datacenter Survival, the same author's sister game, covers the physical layer underneath: power chains, heat, cooling, and PUE.

Is Server Survival open source and can I contribute?

Server Survival is MIT-licensed and open source on GitHub; contributors run `npm install` once and `npm run check`, which runs ESLint plus the full Vitest suite (593 tests), and the same check runs in CI on every pull request.

The problem it solves

Most ways to learn cloud architecture are either a wall of vendor documentation or a certification course that tests memorized service names, and neither shows you what happens three minutes after you under-provision a Compute fleet. Server Survival turns that consequence into gameplay: a queue backs up, a circuit breaker trips, reputation drains, and you watch it happen instead of reading a diagram that explains it after the fact.

Who should try it — and who should skip

Try Server Survival if you're a developer or student who wants scaling concepts — auto-scaling thresholds, circuit breaking, multi-region failover, GPU batching economics — to click through as consequences instead of definitions; the debrief at the end of each campaign level makes it usable for self-study, and free browser access means trying one level costs nothing. Skip it if you need something mapped to an actual certification exam or a specific cloud vendor's console, since none of the 26 services here are AWS, GCP, or Azure services by name — they're generic stand-ins for the concepts.

Related repositories

Source & attribution

Based on the pshenok/server-survival GitHub repository (github.com/pshenok/server-survival) — README and repo metadata as published by the maintainer.

GitHub data · last synced Aug 6, 2026Reviewed by Henry
Back to TopGit

Still deciding about server-survival?

One click hands the question to an AI along with this page — see what it says about server-survival.

GitHub