Anonymine - guess free minesweeper

Latest version: 0.6.26 - what's new

You can try it on my demo server using SSH. Log in as, password is "play".
Leaderboard for public demo server


To top of the page

Anonymine is the "anonymous minesweeper" as I never had any name for it, but I think "Anonymine" works just fine.

Anonymine is a curses mode (console) minesweeper that checks if the fields actually are solvable with only deduction. This means that no guessing will be required, and that the only way to lose is by making a mistake.

And being solvable without guessing is not its only feature, it has many other unusual or even unique features: the games are fully customizable and Anonymine seems to be the only minesweeper with von Neumann grids.

For each game you can set the field type (normal / hexagonal / von Neumann), width, height and number of mines, only restricted to certain minimums and security limits (to avoid igniting your computer).

If you're interested, the minesweeper solver algorithm is in its own Python module and can be used for other purposes than playing Anonymine. It contains features that are rather useless for the game such as measuring difficulty.
I started wondering "How do you solve a minesweeper systematically?" in late 2015 and created the algorithm and then realized it could be used in a game.

The supported field types/game types are:

Von Neumann grids

I have never seen another minesweeper that can have fields with von Neumann grids. In a von Neumann neighbourhood (grid), each cell/square has only four neighbours, at the edges but not at the corners.

The biggest number you'll ever see is 3. But that doesn't mean it's easy, it's quite the opposite.

Traditional fields with Moore grids

Like any other minsweeper.

Hexagonal fields

Every cell is a hexagon and has six neighbours, (with obvious exceptions). This mode has separate key bindings because there is no single "up" and single "down" direction.

More features:

  • It looks almost fine on monochrome terminals.
  • Even the losers can get on their very own highscores table.
  • There are cheat codes. They're not useful, but will be a challenge to crack.


To top of the page

NOTE: Not for smartphones and tablets.
It may possible to play the game from a phone using remote access.

Linux, macOS, unix-like, Windows, Haiku

Anonymine is free and open source software released under the 2-clause BSD license. You can either download tarballs from my site or clone it from GitLab.

Archive of all released versions

If you find any bugs, please mail me or create an issue.


There are a few options:

  • Automatic Cygwin and Anonymine installer
  • Already having Cygwin installed
  • Install Python and windows-curses (Not recommended)

Comparison of options

Automatic Cygwin installer

Install-as-normal-user.bat on Windows 10 should work fine. The admin version is known to have some problems, and also other versions of Windows.


Install Python and windows-curses

It is possible to run the unix version with some limitations.

If you already have Cygwin installed

The unix version can install desktop and menu shortcuts from Cygwin on the Windows desktop. It requires python3 and make to be installed.

Using PyPy instead?

  • PyPy is not available on Cygwin
  • windows-curses does not work on PyPy, but I made an experimental replacement that barely works. It's way too much of a hassle to install to recommend though.
Somehow, multiprocessing works on PyPy 2.7, so that's a plus.


Download the unix version from above or git clone directly in Terminal.

What's new?

To top of the page

Release notes
    - check-install-cfg is smarter now
    - If you have modified cursescfg you may want to check what updates 0.6.20
      brought, previously check-install-cfg would have FORCED you to update.

0.6.20 (BROKEN for new installs, fixed in 0.6.21)
    - Significant changes in cursescfg.  Old configuration file is still
      compatible, but most changes of this release is in that configuration
    - check-install-cfg can't properly check compatibility, run
        ./configure skip-check-install-cfg=true
      if you want to keep the old cursescfg and assume it works.

    - Fix issue 32 and 33
    - Fix 33 will prevent you from setting ONLY the -c option when used
      over an SSH connection. Simply add another option or run
      `SSH_CLIENT= anonymine -c path/to/cursescfg`
    - From now on, configuration files MUST NOT be modifiable by group members
      even if group ID is zero.

    - Changes to  Make sure to run 'make uninstall' before
      running './configure'.
        - Known regressions: PyPy on OpenBSD 6.4-ish (pretty old)
    - Fixed the symlinks script, previously it failed to delete broken
    - [MacOS]: Can now use both mouse and numpad.
    - [Haiku]: 0.6.17 adds icon on the launcher.

See the rest of the file on Gitlab

Bigger changes
What's new in 0.6.0 since 0.5.0?


It is now exactly six years since the first ever release.

Improved platform support:
    - Windows supported natively (0.5.6, improved 0.5.32)
    - Can now install on Haiku (0.5.22, improved 0.5.31)
    - Works better on macOS than before
    - Installs desktop shortcuts on Cygwin (0.5.34)
    - Fixed curses problem on NetBSD (0.5.27)

    - Cheat codes: Not a useful feature, but a challenge to crack.
    - Processors are now counted during run-time (since 0.5.18)
    - Deal with some curses issues. (0.5.18, 0.5.27)

Dropped support for:  (0.5.17 is last supporting version)
    - Python 2.6
    - Minix

See the rest of NEWS on Gitlab

Low level changes

See ChangeLog on Gitlab


To top of the page

The von Neumann field: The biggest number you'll ever see is 3. This mode makes Anonymine a unique minesweeper. (Attention mode has been enabled to find the last few cells.)

Traditional (Moore) field, nothing special

Hexagonal field

The losers' highscores


To top of the page

Send new questions to:

How can the game always be possible to win?

It contains an algorithm that will try to solve the game before you see the field. If the field can't be solved, a new will be randomized, and if it can be solved, the algorithm will tell the game where to place the mines.

What are the losers' highscores?

Normally you'd have to actually win a game to get on the highscores, but not Anonymine: If you come close to winning but fail, you'll get on a highscores table designated for the losers who can't win an unlosable game.
Both the count of mines left and the time are factors for the rankings.

Can I change the colors?

You can edit the "cursescfg" configuration file, which specifies what characters should be displayed for what items on the screen and in which color.

How does the algorithm work with the different games (modes/fieldtypes)?

The solver operates on a network of cells connected to all of their neighbours. It is completely unaware of the concrete visual representation of the field.

Can it play a real game for the user?

No, but there are some demos in the test module. They don't look pretty, but they'll show the algorithm in action.


To top of the page

Check the readme and installation instructions for more details.

Tested on

Here's a list of various platforms Anonymine has been tested on. It works on all of them unless I say otherwise, but there may be some minor issues.

Windows: w/ Cygwin
No issues once installed. My automatic Cygwin and Anonymine installer may be a PITA.
Windows: Natively (with CPython + windows-curses installed)
Works since 0.5.9 (from tarball) / 0.5.6 (from GitLab)
Can only utilize one CPU core.
Windows: Natively (with PyPy + Pööp curses)
Pööp curses lives up to its name, I would not recommend it. But amazingly, PyPy 2.7, can utilize all CPU threads.
0.5.32 or newer recommended. Can't change the title bar properly or even close the terminal window after exit.
Tested on: Debian, Fedora, Manjaro, Mint, OpenSUSE, Ubuntu
0.5.28 has fixed a few issues
Installs and runs fine
No color on virtual consoles by default, use TERM=xterm or TERM=linux and just refresh the screen (press any unbound key) whenever it glitches.
No mouse support
Mostly fine, no mouse support
OpenIndiana (OpenSolaris fork)
Requires using GNU Make (gmake) to install and old versions might not install.
Tested on Debian GNU/Hurd snapshot 2021-08-12.
Some older versions work. And newer versions work on 3.4.0rc6 if multiprocessing could be imported.