Crates.io | fishnet |
lib.rs | fishnet |
version | 2.9.4 |
source | src |
created_at | 2020-11-21 10:53:24.282332 |
updated_at | 2024-09-07 09:32:16.96073 |
description | Distributed Stockfish analysis for lichess.org |
homepage | |
repository | https://github.com/lichess-org/fishnet |
max_upload_size | |
id | 314652 |
size | 2,552,632 |
Request your personal fishnet key: https://lichess.org/get-fishnet
Install and run the fishnet client.
Download standalone binary
Select the binary for your platform from the latest release and run it.
# After download:
mv fishnet-x86_64-unknown-linux-musl fishnet
chmod +x fishnet
./fishnet --auto-update
Useful commands
./fishnet configure # Rerun config dialog
./fishnet systemd --auto-update # Print a .service file
./fishnet --help # List commands and options
Other installation methods: From source, Docker, Kubernetes, OpenShift
Pick an update strategy.
Automatic updates
Run with --auto-update
as recommended above.
Subscribe to release announcements
With a GitHub account, you can watch this repository (can be set to release announcements only). See the top right corner on this page.
Watch @arex explain fishnet.
fishnet uses Stockfish (hence the name) and Fairy-Stockfish for chess variants.
Available for | 64-bit Intel and AMD | ARMv8 / Silicon |
---|---|---|
Linux | x86_64-unknown-linux-musl |
aarch64-unknown-linux-musl |
Windows | x86_64-pc-windows-gnu.exe |
|
macOS | x86_64-apple-darwin |
aarch64-apple-darwin |
FreeBSD | build from source |
Almost all processors will be able to meet the requirement of ~2 meganodes in 6 seconds. Clients on the faster end will automatically be assigned analysis jobs that have humans waiting for the result (the user queue, as opposed to the system queue for slower clients).
Your client may remain idle if fishnet estimates that another client would be able to complete the next batch more quickly, or if the client has been configured to join the queue only if a backlog is building up. By standing by, you're still contributing to reliability by providing redundancy, and also to the potential maximum throughput in case requests peak.
Feel free to turn your client on and off at any time. By default, the client will try to finish any batches it has already started. On immediate shutdown, the client tries to inform Lichess that batches should be reassigned. If even that fails, Lichess will reassign the batches after a timeout.
No, Stockfish is a classical alpha-beta engine. The neural network evaluation of Stockfish NNUE works efficiently on CPUs.
The key allows us to trace provided analysis back to your Lichess account. You can use a single key to run multiple instances.
You do not need to request a key (nor our permission) to run private instances.
To the best of our knowledge. All engine input is carefully validated.
Note that you implicitly trust the authors and the GitHub and Amazon S3
infrastructure when running with --auto-update
. You can mitigate this by
running fishnet as an unprivileged user.
cargo-crev
is used to review the
trustworthiness of dependencies.
cargo-auditable
is used to embed dependency meta data into binaries.
No, sorry, not publicly. It would incentivize gaming the metrics.
There is currently no ready-made solution, but an API for monitoring the job queue status is provided.
See protocol.md for details.
Also supports SSLKEYLOGFILE
for inspection at runtime.
fishnet is licensed under the GPLv3+. See LICENSE.txt or ./fishnet license
for the full license text.