Skip to content
Portada » News » How to Contribute Your Windows 10 PC to Stockfish Fishtest

How to Contribute Your Windows 10 PC to Stockfish Fishtest

Stockfish Fishtest

How to Contribute A Step-by-Step Guide

Introduction

Stockfish is a free and strong UCI chess engine that relies on volunteer computing for testing and improvement. The Stockfish developers use a system called Fishtest – a distributed testing framework – to evaluate changes to the engine by having computers around the world play games automatically. By donating your hardware (CPU power) and running a Fishtest “worker” on your Windows 10 computer, you can help test new Stockfish patches without any programming – the worker handles compiling and running games for you. In other words, no coding is required; once set up, your PC will quietly play chess games in the background using future and current Stockfish versions.

This guide walks you through the entire process – from creating a Fishtest account to installing and launching the worker on Windows 10, and even setting it up to start automatically on boot. We explain every step in detail, assuming no prior knowledge. By following these instructions, even a beginner can join the global effort to improve Stockfish. Key points are highlighted in bold, and step-by-step lists break down the process to make it easy to follow.

  • No coding required: You only need to install the Fishtest worker and provide your Fishtest username and password.
  • Idle CPU at work: The worker uses your spare CPU cores to play thousands of test games, helping developers validate changes.
  • Supports Stockfish development: Every game result you submit contributes to “certifying” new ideas, so your computer directly helps make Stockfish stronger.
  • Open-source project: Stockfish is open source (GPL-licensed), so your contribution goes to a community project you can trust and learn from.

Ultimately, this guide will enable you to turn your Windows 10 PC into a Stockfish testing machine, maximising your hardware’s value for the chess community. Let’s get started!

Creating a Fishtest Account and Getting Credentials

Before you can run a Fishtest worker, you need a Fishtest account. This account identifies you on the Fishtest server and is how your worker authenticates itself. Here’s how to create one:

  1. Sign up on the Fishtest website. Visit https://tests.stockfishchess.org/signup in your browser. Fill in the registration form with a unique username and a strong password. The official Fishtest documentation advises: “In case you have not done so already, get a new account/password registering on fishtest: tests.stockfishchess.org/signup.”. An email verification may be required; check your inbox and click any confirmation link.
  2. Log in to confirm your account. After registering, you will be redirected to the login page. Enter your new username and password to log in. You should then see your Fishtest dashboard (which shows any active tests and your contribution stats). If you can see that, your account is active.
  3. Save your credentials. Keep your username and password handy (you’ll need them when configuring the worker). If you ever forget them, you may need to reset the password via the Fishtest site.

Once you have an account, you are officially part of the Fishtest community. In future steps, the worker will ask for this username and password so it can report results under your account.

Preparing Your Windows 10 PC

Before installing the worker, prepare your PC as follows:

  • Use Windows 10 (64-bit): These instructions target Windows 10 (or 11). Ensure your system is up to date. A 64-bit Windows is recommended since Stockfish builds target 64-bit by default.
  • Check hardware resources: You should have a decent CPU (dual-core or better). Fishtest will use multiple cores. It is recommended to have at least 4 GB of RAM; the Fishtest server will not assign large (LTC) tests to machines under 4 GB. More RAM and cores mean more tests you can run, but any modern desktop is usually fine.
  • Administrator access: You will run some scripts as Administrator when installing, so make sure you can approve elevation prompts on Windows.
  • Good internet connection: The worker will download code and book files and upload results. A broadband connection is helpful but once running, the data usage is modest.
  • Install Python (if needed): The Fishtest worker is written in Python. If you plan to use the Windows installer (see below), Python will be installed automatically. Alternatively, you can download and install Python 3 from python.org or via the Microsoft Store. Ensure that python (or python3) is on your system PATH.
  • Install Git (optional): If you are a software developer or plan to explore the code yourself, installing Git can let you manually clone the Fishtest repository. However, the provided installer scripts will fetch everything needed, so Git is not strictly required for this guide.
  • Enable Long Paths (optional): Windows limits file paths to 260 characters by default. The Stockfish docs advise keeping the worker folder at a shallow location to avoid path issues. You may also enable long paths in Windows settings (Computer Configuration > Administrative Templates > System > Filesystem in the Group Policy Editor). However, for most users simply place the worker folder in a short path (e.g. C:\fishtest\worker) to avoid this problem.

Installing MSYS2 via Winget

Stockfish provides an automated installer that sets up MSYS2, a Unix-like environment on Windows. MSYS2 makes it easy to build and run the Fishtest worker with the needed tools (Python, GCC compiler, etc.). The recommended method on Windows 10 is to use Winget – the built-in Windows package manager – to install MSYS2. According to the official docs, “the setup installs MSYS2 in C:\msys64 using winget, the Microsoft Windows package manager already installed on up-to-date Windows 11/10.”. The installer script will handle downloading and updating packages.

Key Point: MSYS2 Explained

MSYS2 is essentially a mini-Linux environment for Windows. As Stockfish docs explain, “MSYS2 is a software distribution and building platform for Windows. It provides a Unix-like environment, a command line interface, and a software repository, making it easy to install software on Windows or build software on Windows with the GCC compiler.”.

This means after MSYS2 is installed, you’ll have tools similar to Linux (like bash, gcc, pacman package manager, and Python) on your Windows PC. The Fishtest worker will run inside this MSYS2 environment.

Installing the Fishtest Worker on Windows 10

Stockfish provides convenient installer scripts for Windows. We’ll first cover the Winget-based setup (for Windows 10/11), then mention an alternative Chocolatey method. Follow these steps carefully:

  1. Download the Winget installer archive. Go to the Stockfish Fishtest Wiki page or use this link (open in a browser): winget – fishtest worker setup archive (GitHub). This will download a ZIP file (about a few MB). Alternatively, on the official docs page Windows Subsystem for Linux | Stockfish Docs, click the “winget – fishtest worker setup archive” link.
  2. Unzip the downloaded file. Extract the contents of the ZIP into a folder of your choice (for example, C:\fishtest-installer). After unzipping, you should see files like 00_install_winget_msys2_admin.cmd, 02_install_worker.cmd, and perhaps others.
  3. Run MSYS2 installer script. Right-click on the file 00_install_winget_msys2_admin.cmd and select “Run as administrator”. This opens a command window. The script will install MSYS2 automatically via Winget into C:\msys64. Follow any on-screen prompts (if any). This step may take several minutes (8–20 minutes depending on Internet speed) as it downloads and installs the base system.
  4. Run the worker setup script. After MSYS2 is installed, find and double-click on 02_install_worker.cmd. A console window will appear, and you will be prompted to enter your Fishtest username, password, and the number of CPU cores you want to dedicate. Enter each when requested (type and press Enter). For example:
    • When asked “your fishtest username”, type the username you created and press Enter.
    • For “your fishtest password”, carefully type your password (it may not show on screen) and press Enter.
    • For “the number of CPU cores to be contributed”, enter a number. A safe strategy is to use one less than your total core count (leaving one core free for normal Windows use). For example, if you have a 4-core CPU, you might enter 3. Press Enter after typing the number.
    This step configures the worker. The script will download necessary packages (including Python and the Stockfish engine source) into the MSYS2 environment.
  5. Launch the Fishtest worker. After the previous script finishes, enter the newly created “worker” folder (it should be in the same directory where you ran the installer scripts). Inside, double-click fishtest.cmd. A new terminal window (MSYS2 MinGW shell) will open and start the Fishtest worker. You should see output indicating it’s connecting to the server. For example, lines mentioning “Downloading…” or “Starting fastchess” may appear. The worker will now automatically begin compiling Stockfish (with and without any patch) and playing games. The official instructions say to “enter the newly created ‘worker’ folder and double click on fishtest.cmd to start the fishtest worker.”. You only need to do this once; after the first run, a config file (fishtest.cfg) is created, and subsequent launches will remember your settings.

At this point, your Windows 10 machine is running a Fishtest worker! The console window is your worker’s log. It will periodically show new games being started and results being uploaded. You don’t need to interact with it; just leave it open and running as long as you want to contribute.

Alternative: Chocolatey Installer (Windows 10/8)

If for some reason Winget is not available on your Windows 10 system, Stockfish provides a similar installer bundle that uses Chocolatey (a third-party Windows package manager). The steps are nearly identical, with different filenames:

  1. Download the choco – fishtest worker setup archive.
  2. Unzip it.
  3. Right-click 00_install_choco_msys2_admin.cmdRun as administrator. This installs Chocolatey and MSYS2 in C:\tools\msys64.
  4. Double-click 02_install_worker.cmd, enter your Fishtest username, password, and CPU count when prompted.
  5. Go into the created “worker” folder and double-click fishtest.cmd to launch the worker.

The Chocolatey route is mainly for older Windows versions or users who already use Chocolatey. If Winget worked for you, you can safely skip this and stick with the Winget setup.

Running and Verifying the Fishtest Worker

With the worker script now installed, let it run and verify it’s working:

  • Observe the console output. In the MSYS2 shell window opened by fishtest.cmd, you should see lines like “Compiling Stockfish” or “Downloading fastchess”. This shows the worker is fetching the necessary files. After a few moments, it will start games.
  • Multiple threads: By default the worker uses 3 cores (as if you had run python3 worker.py). You specified the number of cores during setup, so it should be using that many threads. In the console, you might see something like “Launching FastChess with 3 threads” if 3 cores were chosen.
  • Automatic operation: Once running, the worker will continuously download new tests (engine code, books) from the server, run them, and upload results. This is all automatic. You do not need to manually start each batch. The worker handles everything until you stop it.
  • Confirm connectivity: The worker should say it connected to the Fishtest server. You might see lines showing “Received X test(s) from server”. This indicates it is communicating with tests.stockfishchess.org. If you see repeated attempts to connect or errors, check your internet connection and firewall settings (the worker uses HTTPS to tests.stockfishchess.org:443).

The official instructions note that to launch the worker you run a Python command:

“To launch the worker using the default parameters (e.g. using 3 CPU cores) simply open a console window in worker directory and run the following command: python3 worker.py”.

On Windows, fishtest.cmd essentially does this for you. It invokes the Python worker script with your saved username and password. The worker will ask for your credentials on its first run (if they weren’t supplied), but since the installer already collected them, it should start without asking.

Monitoring Progress

  • Fishtest Web Dashboard: You can monitor the overall test queue at tests.stockfishchess.org. Log in with your Fishtest account to see your user statistics. You’ll find sections like “Top Month” (your rank for the month), and details on your completed games. As Stockfish’s README points out, you can “donate your hardware resources by installing the Fishtest Worker and viewing the current tests on Fishtest.”. Checking the dashboard is a nice way to confirm your contributions are counting.
  • Console Status: The worker console shows when new games start and finish. You might see lines like “Game started” or “Uploading results”. If you leave the console window open, you can periodically glance at it to ensure no errors are occurring.
  • No user interaction needed: Aside from occasionally checking, the worker requires no further commands. It will keep running as long as the console is open or until it runs out of tasks (unlikely as there are always tests to run).

If Something Goes Wrong

  • Compilation errors: In rare cases, if the worker fails to compile Stockfish for Windows, it will display error messages. Make sure MSYS2 packages are updated (see maintenance section). You can also visit the Stockfish Discord or discussion forum for help. The Stockfish docs note that even non-programmers can help by running the worker, but developers are active on these channels to fix issues.
  • Internet issues: If the worker can’t reach the server (error messages about connection), verify your network. As a last resort, you can restart your router or use a different internet source.
  • Incorrect credentials: If you input the wrong password, the worker will complain. You’d need to rerun the setup script (02_install_worker.cmd) to correct it, or manually edit the fishtest.cfg file in the worker folder to set the right username/password.
  • Low resources: If your PC has less than 8 cores or less than 4 GB RAM, Fishtest may restrict which tests your machine gets. This is just a limitation (e.g. “machines with less than 8 cores do not run the SMP test”). Still, you can contribute something even with low-spec hardware, just fewer types of tests.

Automating Startup of the Worker on Windows

To make your contribution effortless, you can set the worker to start automatically whenever Windows boots or you log in. This way, the worker runs continually without you having to manually launch it each time. Here are two common methods:

  • Task Scheduler (recommended):
    1. Press Win+R, type taskschd.msc, and press Enter to open Task Scheduler.
    2. In the right pane, click “Create Basic Task…”. Give it a name like “Stockfish Fishtest Worker” and a description. Click Next.
    3. Trigger: Choose “When I log on” (or “When the computer starts”) and click Next.
    4. Action: Select “Start a program”. Click Next.
    5. Program/script: Browse to your fishtest.cmd file in the worker folder. For example, it might be C:\fishtest-installer\worker\fishtest.cmd. Select it. Leave “Add arguments” blank. Click Next.
    6. Finish: Review the summary and click Finish.
    Now, whenever you log in (or start up Windows), Task Scheduler will automatically open the Fishtest worker. You can also enable “Run with highest privileges” if prompted, but it usually isn’t necessary for normal worker operations.
  • Startup Folder (simple method):
    An alternative (less flexible) way is to place a shortcut in the Windows Startup folder:
    1. Press Win+R, type shell:startup, and press Enter. This opens the Startup folder.
    2. In this folder, right-click and choose New → Shortcut.
    3. For the location of the item, browse to the fishtest.cmd file or paste its full path. Give the shortcut a name.
    4. Click Finish.
    Any programs in the Startup folder will run when you log in. This method is simpler but gives less control over conditions; Task Scheduler is generally more reliable (for instance, it can run the task even if no user is logged on, if configured).

Once configured, your Fishtest worker will launch on its own each time you start your computer or log in. You won’t have to remember to run it manually, making your contribution truly set-and-forget. The worker console will appear on login; you can minimise it if you like. If you ever need to stop it on startup, simply disable or delete the scheduled task (via Task Scheduler) or remove the shortcut from the Startup folder.

Maintaining and Troubleshooting Your Worker

Once the worker is installed and running, a little routine maintenance will ensure it continues contributing smoothly:

  • Update MSYS2 packages regularly: The Fishtest docs suggest updating MSYS2 packages about once a month. To do this with the winget installer, re-download the latest winget archive, stop your worker, then run the included 04_update_msys2.cmd script twice (first to update core packages, then to update applications). Finally, restart fishtest.cmd. This keeps Python, compilers, and libraries up to date. If using the Chocolatey method, use its 04_update_msys2_choco_admin.cmd similarly.
  • Stopping the worker gracefully: If you need to stop or update the worker, do not just close the window. Instead, enter the worker’s MSYS2 window and press Ctrl+C, or create a file named fish.exit in the worker directory. According to the Fishtest documentation, creating fish.exit causes the worker to finish its current batch of games and exit cleanly. This ensures all results are uploaded. You will see “Exiting after current game” in the log. If you want to stop immediately (losing the current batch), you can safely Ctrl+C, which sends SIGTERM to the Python process.
  • Check for software updates: Occasionally, Stockfish developers may release new worker scripts or engine updates. If you encounter errors that point to outdated files, you may re-run the setup script or pull updates. For example, the worker writes an sri.txt file (a hash of its code) to ensure you’re up to date. If a mismatch occurs, getting a fresh copy of the scripts from GitHub or the installer zip may be needed.
  • Disk space and logs: The worker will download engine code and game book files over time. Ensure you have a few gigabytes free. The worker may create log files or use temporary space. The MSYS2 directory (C:\msys64 or C:\tools\msys64) contains the main environment; normally you shouldn’t have to touch it manually. If disk space runs low, you can delete the entire worker folder and reinstall (your contributions up to then are already recorded).
  • Ask for help if stuck: If something goes awry and you can’t resolve it via these tips, remember the Stockfish community is active. The Stockfish Discord server (linked from Stockfish’s site) and the Fishtest GitHub issues are good places to ask. You might find others who had the same issue.

By keeping the worker updated and following these steps, your PC will remain a reliable contributor to Stockfish testing.

Conclusion

By following this guide, you have transformed your Windows 10 computer into a Stockfish testing workhorse. You learned how to register for Fishtest, prepare your PC, and install the automated worker. Once running, your machine will play thousands of high-quality test games in the background, submitting the results to the Stockfish team. This helps the developers validate new ideas and improvements with real data, making the engine stronger.

We emphasised clarity at every step, using bullet lists and bold highlights. No prior programming knowledge was needed: as the official Stockfish documentation points out, even non-programmers can help simply by installing and running the Fishtest worker. Now you’re part of a global community of volunteers (recently totalling hundreds of machines) working together to refine Stockfish.

Remember, you can monitor progress on the web dashboard and can fine-tune your worker’s settings (for example, adjusting how many cores to use in the fishtest.cfg file, or scheduling updates). Every contribution, no matter how small, matters: in fact, Stockfish’s README explicitly thanks contributors for donating their hardware resources.

Finally, if you ever want to do more, consider exploring other ways to contribute to Stockfish – for example, by coding or analyzing games – or simply help spread the word so more people join in. But for now, your idle CPU cycles are fully engaged in helping build one of the world’s strongest chess engines. Thank you for contributing to open-source chess innovation!

Sources: Official Stockfish documentation and website, which together explain Fishtest and provide the step-by-step worker setup instructions used in this guide.

Jorge Ruiz

Jorge Ruiz Centelles

Filólogo y amante de la antropología social africana

Leave a Reply

Your email address will not be published. Required fields are marked *

Share via