Banshee
An unofficial, code-level tour of the Banshee zombs.io client — what it is, how its pieces fit together, and the actual source behind every feature.
Banshee is a heavily modified zombs.io
client — a self-hosted "localhost" build of the game with a huge userscript-style overlay bolted on top, plus two
companion Node.js servers that let it run bots that stay logged in around the clock. It began as a personal script
by Lolol (lolol__) in May 2024 and was substantially expanded by
Sirr0m (5irr0m) in May 2026, growing the core script to roughly
4,876 lines with over a thousand custom textures spread across the map's four biomes
(Winter, Savannah, Ocean, and Summer).
This site is a code tour, not a user manual — every page pairs a feature with the real source that implements it, drawn directly from Banshee's own files. If you haven't read it yet, the architecture page is the best starting point: it explains how the four pieces below talk to each other before diving into any one of them.
The four pieces of Banshee
The modified client
client.html + script.js — a self-hosted copy of the zombs.io game client with a
~4,900-line overlay script (window.ban) that adds a settings menu, automation toggles, a
chat-command interpreter, and the in-browser multibox system.
Localhost server
zombsLocalhost.js — a small Express app on port 80 that serves the modded client, proxies the
live zombs.io leaderboard, and hands out the texture manifest and the WASM anti-bot module.
Session Saver
zombsSessions.js — a ~2,500-line WebSocket server (port 8090) that runs fully headless,
persistent bots ("Sessions") which keep a base alive and farming even when no browser is open, and relays
control commands from the client.
Socket Server
zombsSockets.js — a small WebSocket server (port 8100) that hosts a pool of WASM modules used
to solve the game's anti-bot "blend field" challenge on behalf of in-browser multibox alts.
How the pieces relate, at a glance
Banshee actually gives you two separate ways to run extra characters, and the vocabulary matters:
-
Sockets / Alts — extra characters spawned inside your browser tab via the
Altclass (L or!alts). They share your screen, are controlled live, and rely on the Socket Server to solve the anti-bot challenge for each one. -
Sessions — fully headless bots hosted by the Session Saver on a remote
machine. They keep running whether or not your browser is open, and the client merely attaches to
one and relays chat-prefixed commands (
!ab/!!ab, …) to it over its own WebSocket connection.
See Multibox (Sockets / Alts) and Session Saver for the full breakdown of each, including the actual relay/command code.
Reading this documentation
Each page below focuses on one part of the system and shows the code that drives it:
- How Banshee Is Built — the three Node processes, the WebSocket protocol, the binary codec, and the WASM anti-bot solver.
- The In-Game Script —
script.js's settings menu, toggle system, render tab, and core automations (auto-heal, auto-bow, auto-aim, wall bounce, player trick, AHRC harvesting, base building/upgrading, …). - Multibox (Sockets / Alts) — the in-browser
Altclass: connecting, entering the world, and its own copy of the bot tick loop. - Chat Commands — the
!/!!command interpreter, with real implementations of standout commands like!record,!arb, and the wall/harvester-spam placers. - Keybinds & Toggles — the full
onKeyDownswitch that drives socket control, building actions, and menu toggles. - Localhost Server — the small Express app that serves everything.
- Session Saver — the headless bot host: the
Botclass, its tick loop, auto-reconnect/break-in/refill logic, and the state-sync protocol that lets the browser "attach" to a running session. - Socket Server — the small WASM-module pool that solves the anti-bot challenge for browser-side alts.
- Feature Reference — every homepage menu control and Settings-menu toggle from the manual ([13] + [92]), sorted by panel/tab, each with its code.
- Command Reference — every
!/!!chat command from the manual ([68] + [112]), sorted by purpose, each with its code and how it works.
Provenance: everything quoted on this site is taken verbatim from Banshee's own source
(banshee/client.html, banshee/public/script.js, banshee/zombsLocalhost.js,
banshee/zombsSessions.js, banshee/zombsSockets.js) and cross-referenced against
BansheeFunctions.txt, the script's own internal feature manual. Where the underlying zombs.io
mechanics matter (waves, buildings, RPC names, the binary protocol), this site leans on the
zombscontext reference pack written for automation work against the base game.