LiRu-Bot 0.4.0
LiRu-Bot (Lichess Rust Bot) — a bridge between the Lichess Bot API
and chess engines. Coupled with clrsrc v1.3.0: this release pairs the engine's search and
mate/endgame correctness work with a round of robustness and connectivity hardening on the bot
side — all of the bot fixes had already been running on the live bot.
Engine — clrsrc v1.3.0
A pure search/correctness release; the network is unchanged from v0.3.0. Highlights:
singular extensions disabled, reworked mate / tablebase-win score banding (tablebase wins get
their own band; mate N means a genuine mate), mate-before-50-move-rule priority, an NNUE
loader guard (clear error instead of an out-of-bounds panic on a foreign-bucket net),
opening-book hygiene, and a default-on conversion-time floor so clearly won endgames get
converted instead of drifting toward a repetition draw.
Bot — robustness & connectivity hardening
- Stream-idle watchdog (60 s): a half-open connection resubscribes in seconds instead of
hanging ~12 min for the OS TCP keep-alive. - Stream-open & connect timeouts: a socket that accepts but never responds can't wedge the
reconnect loop (an established stream's body is not limited). - Non-JSON error-body tolerance: a challenge endpoint returning HTML (load balancer on
5xx/429) no longer aborts the request path. - Game-task panic isolation: a panicking game is caught as a normal per-game error instead
of leaking its concurrency slot and idling the bot. - Accept/gameStart race guard: under
concurrency: 1, two challenges processed before
either game starts can't both be accepted. - Threefold-repetition counting fix: repetitions are counted per move, not per event.
- Experience-overlay self-heal: a torn trailing record from an interrupted write is
truncated to the last aligned boundary before appending. - Config hardening: env-only token support and a restart-safe daily game counter.
Downloads (Windows x86-64)
| Asset | Description | License |
|---|---|---|
liru-bot-0.4.0-windows-x86_64.exe |
Default subprocess build — engine-agnostic, talks UCI to any engine you configure. | pure AGPL-3.0 |
liru-bot-clrsrc-0.4.0-windows-x86_64.exe |
Embedded build — the clrsrc engine linked in-process for an authoritative wall-clock search deadline. Turnkey clrsrc bot. | combined work (see below) |
Both are portable builds (no target-cpu=native); they run on any x86-64 CPU.
Running
- Copy
config.yml.example→config.ymland set your Lichessbot:playtoken. liru-bot-0.4.0-windows-x86_64.exe: pointengine:at your UCI engine (e.g. the
self-contained clrsrc 1.3.0 binary).
liru-bot-clrsrc-0.4.0-windows-x86_64.exe: no external engine needed — supply the NNUE
networkclrsrc_v32_seed_b.nnue(from the
clrsrc v1.3.0 release) viaEvalFile.liru-bot-0.4.0-windows-x86_64.exe --config config.yml
License / Corresponding Source (AGPL §6 / §13)
LiRu-Bot is AGPL-3.0-or-later, a modified derivative of lichess-bot
(© lichess-bot-devs and contributors). The default subprocess binary is a pure AGPL-3.0
artifact; its Corresponding Source is this repository at tag v0.4.0.
liru-bot-clrsrc-0.4.0-windows-x86_64.exe is a combined work (AGPLv3 §13 / GPLv3 §13):
LiRu-Bot (AGPL-3.0) + clrsrc (GPL-3.0). Each part keeps its own license. Corresponding Source
for this binary is both:
- LiRu-Bot @
v0.4.0: this repository, tagv0.4.0 - clrsrc @
v1.3.0: https://github.com/clrsrc/clrsrc/releases/tag/v1.3.0 (commitcf243fe)
Operating the embedded binary as a network service triggers the AGPL §13 obligation to offer
the Corresponding Source of the whole to its users.
Credits
Derived from lichess-bot by the
lichess-bot-devs and contributors (AGPL-3.0). Embedded engine:
clrsrc (GPL-3.0).