# Every command is actually parsed: in SysAdmin Crisis, tab completion and man pages both work

> An offline night-shift simulation solved with a gamified Unix command set; one game engine runs the web and mobile versions at once.

- What it does today: Has the player resolve seven incident types on a night shift through twenty-nine commands in a gamified Unix syntax (real flags, tab completion and `man` included); the web (PWA) and mobile (iOS/Android) versions share the same game engine. Playable in the browser at sysadmincrisis.com.
- Form: Web, Mobile
- State: Halted
- Started: 2026-09-08
- Left Labs: 2026-09-23
- Technologies: TypeScript, Next.js, React, Expo, React Native, Zustand
- Tags: #games, #terminal, #simulation, #offline
- Website: https://sysadmincrisis.com
- Source: https://muhammetsafak.com/labs/sysadmincrisis-lab/
- Language: en-US
- Author: Muhammet Şafak

---
I did not want SysAdmin Crisis's command line to stay a surface: every
command you type is actually parsed and produces a real effect in the
simulated world — a night shift only feels tense when the syntax underneath
it is not just decoration, it actually works.

## Unix syntax, real parsing

The syntax is a gamified Unix — the common flags of the real commands are
also accepted. `top` really reads the server load, `logs` really lists the
incident history, `block_ip` really cuts off an attack source; there are
twenty-nine commands in total, tab completion works, and `man <command>`
opens a built-in manual. The shift is built on seven incident types
(starting with a DDoS attack and running through six more scenarios); the
tutorial introduces two of them — a memory leak and a DDoS — at a slowed
pace, using the same commands.

## One engine, two platforms

The web (a Next.js-based PWA) and mobile (Expo) versions share the same game
engine; on mobile the terminal screen is not a web page embedded in a
WebView; it is drawn with native components. The ten-night campaign mode,
with its rising load and reputation-to-budget loop, runs on that same shared
engine; endless mode and its difficulty options are built on top of the same
core. At the end of a shift the run is summed up with a letter grade
(S/A/B/C) and a local top-ten list is kept; an unfinished run also stays
local, exportable and importable, in a versioned save format.

## Development discipline is tied to the code chain

Some things are not left to code review alone: on every push, dependency
audit, lint, type-check, the test suite, coverage, the mobile test suite and
the web build all run automatically in CI. The end-to-end suite and the
accessibility audit run outside CI, in the developer's own environment —
the accessibility audit is kept free of serious or critical findings.

## Zero data collection is enforced in code

No accounts, no analytics, no ads — the game makes no network request while
playing, aside from the initial page load and the web version's service
worker update. That is not a privacy paragraph; it is a constraint tied to
the build chain: `fetch`/`XMLHttpRequest` use inside the game packages is
blocked by lint rules, and analytics or ad clients leaking into a dependency
are caught by a separate dependency-audit script.

The record sits here as halted: it was prepared for release as v1.0.0 and
is playable today at sysadmincrisis.com, but no further development is
happening on it.
