nokit
Self-hosted web admin panel for CS2 dedicated servers, built as a single Go binary with an embedded React frontend and SQLite for persistence.
What it does
nokit is a self-hosted admin panel for Counter-Strike 2 dedicated servers. You get an RCON console, a server switcher, live server stats, and player management — all in a browser UI instead of a terminal. Servers are either local (volume-mounted, full feature set) or remote (RCON-only), and you declare which on the add-server form. Auth is session-based with bcrypt credentials stored via environment variables.
Stack
The backend is plain Go using net/http — no framework, by choice. State lives in SQLite via a store package that replaced an earlier config.yaml approach once servers became dynamic. The frontend is React with TypeScript, Vite, Tailwind v4, and shadcn/ui, bundled and embedded into the binary at build time so there’s a single artifact to deploy. RCON communication is handled server-side so credentials never touch the client.
Why
I run a CS2 server at home and got tired of SSH-ing in every time I needed to change a map or kick someone. I also wanted a contained Go project to actually learn the stdlib properly rather than leaning on a framework. The name is a CS term — defusing a bomb without a kit. Riskier, but it works.