Help provide compute power.
Run the MaxPV fishnet client and contribute to deep chess analysis. Your machine pulls work from the queue and runs Stockfish.
Security: download Stockfish from the official source; fishnet comes from our fork.
Checklist (2 minutes)
- Stockfish 18 installed (path known).
- MaxPV fishnet binary downloaded from the fork.
- PC registered, `fishnet.ini` next to the binary.
Why contribute?
Analysis on MaxPV.org runs through a Fishnet-compatible queue. The client you use here is derived from the official Lichess fishnet client : we maintain a separate fork that talks to the MaxPV fishnet server (kenneth-venken/fishnet). The protocol stays aligned with the upstream fishnet protocol; for background see also the original fishnet documentation.
You need a stable internet connection, a machine you may keep running (optionally 24/7), Stockfish 18 , the MaxPV fishnet binary (see step 2), and a personal key (registration required).
You run software at your own risk. Download Stockfish from the official source; the fishnet build is on GitHub Releases for the fork (see step 2).
Step-by-step
Follow in order. It is set up for a quick start, with clear safety/limits.
Download and install Stockfish 18
The engine must be available to the client (exact wiring via CLI or build: see
fishnet --helpfor your MaxPV build). Install version 18 and note the path to the executable.Download the MaxPV fishnet client
Use the binary from our fork , not the default Lichess release. Prebuilds are on GitHub: kenneth-venken/fishnet — Releases. Below are direct downloads of the latest release (filenames
fishnet.exe/fishnet-linux).- Windows — fishnet.exe
5,3 MB (v0.1)
- Linux — fishnet-linux
5,6 MB (v0.1)
Place the file somewhere on disk; avoid spaces in the path or quote the path correctly where needed.
- Windows — fishnet.exe
Register your PC and download fishnet.ini
Your fishnet key ties your contribution to your MaxPV account. On the keys page you register your PC and download
fishnet.ini.Important: place
fishnet.iniin the same folder as the fishnet executable (e.g.fishnet.exe). By default the client readsfishnet.inifrom the working directory unless you pass another path with--conf.Settings live in
fishnet.iniin the working directory unless you pass another path with--conf. The MaxPV client only reads certain keys from the section[Fishnet](capital F). The Stockfish path is separate: a lowercase lineengine = …outside[Fishnet]— and that scan always usesfishnet.iniin the current working directory, not the path from--conf. Command-line options override INI values where applicable.INI keys
Key Required? Meaning Key Yes (to run) Your MaxPV/fishnet API key. Endpoint No Base URL of the MaxPV fishnet server: https://fishnet.maxpv.org.Cores No Number of engine processes / logical cores: auto(n−1),all/max, or a number. For MaxPV: use Cores = 1— we run deep analysis and do not want multiple heavy engines in parallel.MemoryLimit No Upper bound on total RAM for all engines together, in MB (see explanation below). ThreadLimit No Upper bound on total threads across all engines (see explanation below). UserBacklog No short,long,0, or a duration (e.g.120s,2h).SystemBacklog No Same shape as UserBacklog. Outside
[Fishnet]: lineengine = path to stockfish(lowercaseengineonly), read fromfishnet.iniin the working directory.Options like MaxBackoff, cpu_priority, stats file, etc. are not in the INI — CLI only.
MemoryLimit
Unit: megabytes (MB), total for all Stockfish/Fairy-Stockfish instances. Fishnet first computes an automatic ceiling: 70% of physical RAM on the machine.
MemoryLimitis only an additional cap: you can only lower with it, never get more memory than that 70%. The maximum thread count is then derived from RAM at roughly 128 MB per thread (engine_mem_mb / 128), unless the CPU limit is lower.Practical: lower MemoryLimit if you want to leave RAM for other apps, or make fishnet less aggressive.
ThreadLimit
Unit: positive integer = maximum total threads across all engines. Fishnet first computes a maximum from CPU (logical cores minus 2, at least 1) and RAM (from effective engine memory: 70% RAM, optionally capped by
MemoryLimit, divided by 128 MB per thread). The smaller of those two is the automatic maximum. ThreadLimit may only lower it further (if > 0). 0 is not used as a cap in code; use a positive number for a real limit.Practical: useful to tame fishnet on a shared machine or for heat/power without necessarily tweaking Cores.
Example
[Fishnet] Key = your_key Endpoint = https://fishnet.maxpv.org Cores = 1 MemoryLimit = 2048 ThreadLimit = 6 engine = C:\path\to\stockfish.exe
In short: MemoryLimit caps total RAM budget (not above 70% physical RAM); ThreadLimit caps threads on top of what CPU and that RAM budget allow. For MaxPV: keep Cores = 1.
Start the client
Windows: start from the folder where the binary and
fishnet.inilive (PowerShell or double-click, depending on the build).Linux:
chmod +x fishnetand for example./fishnet. Extra options (including--conf) are documented infishnet --help.With a valid key and endpoint the client should fetch work. If it stays idle, the queue may be empty.
Credits
We want to give something back to contributors, e.g. credits for deeper analysis or queue priority. Exact rules are still being defined : measurement and distribution will follow once backend rules are fixed.
No hard promises on amounts or ratios until then.
Troubleshooting
- Check that Stockfish is reachable and the path matches your build.
- Invalid or missing key — verify via /keys.
- Firewall: outbound HTTPS to
https://fishnet.maxpv.orgmust be allowed. - Linux: execute permission on the fishnet binary.
Legal (short)
Participation is voluntary. No uptime or payment guarantee; you can stop whenever you want.
