Repository navigation
Releases: HilthonTT/OpenChess
Release list
OpenChess v1.0.2
Download
| Asset | What it is |
|---|---|
openchess-<version>-<platform> |
The game, a standalone binary — no Bun needed |
openchess-server-<version>-<platform> |
The API, configured from the variables in .env.example |
Local 1v1 and --fen / --pgn analysis work offline. Everything that needs an
account talks to the API at API_URL (default http://localhost:3000/api).
On macOS, clear the quarantine flag once: xattr -d com.apple.quarantine openchess.
Full Changelog: v1.0.1...v1.0.2
OpenChess v1.0.1
Download
| Asset | What it is |
|---|---|
openchess-<version>-<platform> |
The game, a standalone binary — no Bun needed |
openchess-server-<version>-<platform> |
The API, configured from the variables in .env.example |
Local 1v1 and --fen / --pgn analysis work offline. Everything that needs an
account talks to the API at API_URL (default http://localhost:3000/api).
On macOS, clear the quarantine flag once: xattr -d com.apple.quarantine openchess.
Full Changelog: v1.0.0...v1.0.1
OpenChess v1.0.0
Chess, in your terminal. The first release of OpenChess: a TUI chess game with a full progression system behind it — play locally or against the engine, earn XP and coins, unlock achievements, climb the leaderboard, and spend your winnings on titles, all without leaving the terminal.
Download
Standalone binaries — no Bun or Node needed.
| Platform | Game | API server |
|---|---|---|
| Linux x64 | openchess-v1.0.0-linux-x64.tar.gz |
openchess-server-v1.0.0-linux-x64.tar.gz |
| Linux arm64 | openchess-v1.0.0-linux-arm64.tar.gz |
openchess-server-v1.0.0-linux-arm64.tar.gz |
| macOS Apple Silicon | openchess-v1.0.0-darwin-arm64.tar.gz |
openchess-server-v1.0.0-darwin-arm64.tar.gz |
| macOS Intel | openchess-v1.0.0-darwin-x64.tar.gz |
openchess-server-v1.0.0-darwin-x64.tar.gz |
| Windows x64 | openchess-v1.0.0-windows-x64.zip |
openchess-server-v1.0.0-windows-x64.zip |
tar -xzf openchess-v1.0.0-linux-x64.tar.gz
./openchess # the menu
./openchess --help # every screen and flagOn macOS, clear the quarantine flag once: xattr -d com.apple.quarantine openchess.
Checksums are in SHA256SUMS.txt.
What works without a server
There is no public server yet, so out of the box you get:
- Local 1v1 — two players, one keyboard, no account
- Analysis —
openchess --fen "<fen>"oropenchess --pgn game.pgn: eval bar, accuracy per side, a verdict per ply, opening names, PGN in and out. The engine runs locally. - Themes and piece sets — 30+ themes, and
--pieces lettersfor fonts without chess figurines
Everything with an account — online play, server AI games, puzzles, progression — talks to the API at API_URL (default http://localhost:3000/api).
Hosting the API yourself
openchess-server is the whole HTTP API as one binary. Configure it with the variables in default.env.example (attached) — PostgreSQL, Clerk and Polar are required; Upstash Redis, Sentry and Inngest are optional — and apply the migrations from a checkout with bun run db:migrate:deploy (and bun run db:seed for the catalogs). Then point the game at it:
API_URL=https://your-host/api ./openchessWhat's in it
| Play vs AI | Six named bots, each with its own style and opening repertoire, with bullet, blitz and rapid clocks |
| Online 1v1 | Matchmaking queue, live move stream, Elo, draw offers, takebacks by consent, and set chat phrases |
| Premoves | Queue your reply while their clock runs, online and against the bots |
| Challenges & friends | Challenge someone by name or short code, rematches, friend requests and presence |
| Puzzles | Tactics trainer on its own Elo ladder: daily puzzle, streaks, hints, motif training, Puzzle Rush and themed collections |
| Watch | Spectate any game in progress, with a gallery chat the players can't see |
| Openings & repertoire | An explorer over the engine's book, and spaced-repetition drills for the lines you keep |
| Chess960 | Shuffled back rank, with castling that works from wherever the pieces land |
| Progression | XP, coins, leaderboards, achievements, daily streaks, stats, and a store for titles |
| Quality of life | ctrl+k to jump to any screen, y / shift+y to copy FEN / PGN over SSH, an optional terminal bell |
All the rules are enforced: castling, en passant, promotion, checkmate, stalemate, the fifty-move rule, threefold repetition and insufficient material.
Building from source
Needs Bun 1.3+. See the README for setup, and CONTRIBUTING.md to get involved.
MIT licensed.