Your PC is the party member.
Kernelmon is a terminal creature battler where your real hardware becomes the fighter. The game scans your CPU, GPU, RAM, storage, and chassis, turns that into stats and archetypes, and throws your machine into loud ASCII battles against AI opponents or your friends.
- Node.js 20+
- npm
- A terminal with ANSI color support (Windows Terminal + PowerShell recommended)
Grab the repo and install everything in one shot:
git clone https://github.com/trigga6006/Kernelmon.git
cd Kernelmon
npm installnpm run playThat's it. The full game launches — solo modes, AI battles, rogue mode, and more. No server needed for solo play.
Multiplayer works out of the box. The game connects to a shared relay server automatically.
Host a match:
- Run
npm run play - Choose HOST GAME → ONLINE
- Send the room code to your friend
Your friend joins:
- Run
npm run play - Choose JOIN BATTLE
- Enter the room code
- Fight.
Both players need an internet connection. That's the only requirement.
Don't need multiplayer? These work offline:
npm run play # full game menu
npm run demo # quick AI battleProgression is stored locally in .kernelmon/ — credits, inventory, parts, builds, and battle history. Each player keeps their own save.
Want to run your own relay instead of using the default? The relay is a zero-dependency Node server that brokers room codes and turn exchange between two players.
Run it locally:
cd relay
npm install
npm startPoint the game at it:
# PowerShell
$env:KERNELMON_RELAY_URL="http://127.0.0.1:8080"
npm run play# Bash / macOS / Linux
export KERNELMON_RELAY_URL="http://127.0.0.1:8080"
npm run playDeploy to Fly.io:
cd relay
fly auth login
fly launch # pick a name like yourname-kernelmon-relay
fly deployYour relay URL will be https://YOUR_APP_NAME.fly.dev. Set KERNELMON_RELAY_URL to that URL on every player's machine.
Match won't connect?
- Make sure both players have an internet connection
- If self-hosting: both players must use the exact same relay URL
- If self-hosting: check
https://YOUR_APP_NAME.fly.dev/healthreturns OK - Make sure
KERNELMON_RELAY_URLis set before launching the game
If your CPU was a bruiser, your GPU was a spell school, your NVMe drive affected initiative, and your friend's workstation could challenge yours in a dramatic terminal boss fight, this is that game.