ACKrobatics
The three-way handshake, as a side-scroller.
Open the connection, ride OPEN → PAYLOAD → CLOSE, dodge RST firewalls, filter Martian packets, and land the FIN gate before the RTO runs out.
a networking arcade game
Open the connection → route the payload → close cleanly.
SYN City turns the stuff of networking into an arcade run. You're a packet bouncing across a neon city — beating the retransmit timer, dodging firewalls, and completing handshakes, each level dramatizing a real protocol.

How it plays
Most levels work the same way: your packet waits on a pad, you build send power, and you let go to hop to the next one. Everything else — the timers, the scanners, the hazards — is a networking idea wearing an arcade costume.
Press and hold anywhere to charge the shot. The longer you hold, the farther the packet flies toward the next pad.
Let go to launch. Tilt off a pad's left or right edge to aim your hop backward or forward and recover a missed target.
The retransmit-timeout bar is always draining. Land the next pad before it empties, or the packet is retransmitted and you lose a life.
Hold STEALTH while queued under IDS or MITM sweeps so scanners can't see you, then slip through and reach the FIN gate.
The route
Each one unlocks the next and rebuilds a different corner of the stack — from the TCP handshake up through VPN tunnels, WAF defense and a stack overflow, to racing a lying clock and a finale played inside a live crontab. Here's what you're getting into.
The three-way handshake, as a side-scroller.
Open the connection, ride OPEN → PAYLOAD → CLOSE, dodge RST firewalls, filter Martian packets, and land the FIN gate before the RTO runs out.
Negotiate a handshake a MITM can't crack.
Advertise modern cipher suites, resist downgrade traps, wait for the certificate VERIFY gate, and complete ephemeral key exchange for Perfect Forward Secrecy — fall once and you lose PFS.
Climb the CAT5 to the switch port.
Follow the cable rope, jump the gaps RJ45 crimpers chomp into it, grab VLAN tags for checksum, and reach LINK UP before the establishment window closes — mind the ARP poisoners.
Six hops, two circuits, zero IPs leaked.
You're an onion packet in three layers of encryption. Fetch the descriptor, plant a secret at the rendezvous, send INTRODUCE1 — then re-wrap at guard relays and reach the hidden .onion service.
Climb the receive path to userspace.
The only vertical level. Ascend from the wire through NIC, driver, IP and TCP up to the app. Green STP ports forward; red ones drop you through. Deliver the payload with recv().
Restore a dead service under a 500 rain.
Hold to download the database backup, carry it across failing pads while 500 errors pour down, jump the I/O ERROR pads before they corrupt it, then import at the restore target.
Get the mail accepted, records and all.
Step through EHLO and STARTTLS, land a valid FQDN, collect floating SPF, DKIM and PTR record coins, then reach 250 QUEUED — while greylists, spambots and the spam filter try to bounce you.
You're the load balancer, not the packet.
A role reversal: drag two backend pads — one per thumb — so falling requests land safely. Round robin takes either; least-connections flips the target. Keep the connection alive to the keepalive.
Boss level. You're an open file handle.
Hold to float the FD up, release to sink. Shred crawls up the lane behind you, BOFH sysadmins hurl chmod/rm/tar from above, stale inodes need a STAT — only fsync() and close() commit you cleanly.
Stage it, commit it, push origin/syn.
Collect file coins, git add and commit them, fork at git branch, survive reverts and squashes, dodge git blame sentinels, jump conflict walls, then push — or it's git reset --hard HEAD.
A random TRUE/FALSE flips gravity.
Follow a bash script toward exit 0 while a boolean flips gravity whenever you're grounded — floor pads one moment, ceiling pads the next. ShellCheck sentinels flip with it; set -e is your RTO.
Time your hops across spinning logs.
No RTO here — just timing. Logfile pads orbit and swipe underfoot while copytruncate crawls in and compression sweeps the queue. Skip up to three bad spins in a row and reach rotate complete.
Pipe the malware to /dev/null.
A rail shooter. Hold and release a full-screen grep-sonar sweep to reveal hidden malware, then quick-tap finite /dev/null ammo to clear each match before the outbreak timer spreads out of control.
Escape the vim-vs-emacs maze.
Run through a scrolling maze. Roaming vim and emacs zealots chase pico home to SYN City. Steer at junctions and HOLD STOP to freeze — releasing scatters them into a clean lane.
Tail the suspect IP, keep your cover.
You're not the packet — you're following it. Shadow the suspect one or two pads back, never landing on its pad, stealthing under ctstate INVALID scans, until it reaches FIN with your cover intact.
A padless rush through the VPN tunnel.
Forward motion is automatic and ramps toward the exit. Hold to rise, release to sink, thread the mssfix/MTU squeeze, and keep tun0 off the walls so MITM probes stay blind until FIN.
Defend the origin at the edge for 60 seconds.
A padless stand at the edge, with traffic raining down from the Internet. Hold to close the WAF and block malicious riff-raff; release to open the gate and let clean GET/POST requests reach the origin. Survive the full RTO, then the availability and security ratios decide whether the origin held.
A vertical memory-corruption climber.
You are the overflow, climbing an unstable stack frame one mapped page at a time. Pages flicker, dangle and get reclaimed under you, ASLR sweeps rebase the upper stack sideways, INFO LEAK freezes the layout just long enough to read it, and a NOP SLED forgives a sloppy landing. The exploit only counts after RET→EIP and JMP ESP — then the payload pops a shell.
Your clock lies. The route keeps time.
A hidden clock skew wanders while you sit queued, and a hot clock drains the real RTO faster than a true one. Resync on stratum servers — centre a stratum-1 landing and it pays a TTL back — hop clean over lying falsetickers, and budget for LEAP SEC pads that swallow 2.2 seconds whole. The final approach narrows onto the smallest pads in SYN City.
The whole route is somebody's crontab.
Every pad is a job that is only solid while its schedule window is open; closed jobs dim to ghosts you fall straight through — or clear in one long hop. Watch the NEXT JOB timer, never park on a job about to exit (cron reaps finished jobs, and you with them), and when an admin opens crontab -e over the route, don't be sitting on a line when the editor saves.
No install, no account. It runs in any modern browser and installs as an app if you want it on your phone.
Play SYN City freeTip: on mobile, use “Add to Home Screen” to play offline.