Anonymine - guess free minesweeper

Latest version: 0.6.35 released on 2024-01-31 - what's new

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

About

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. Back in December 2015 I was curious about creating an algorithm for solving minesweeper, and then I needed an excuse for it so I turned it into a terminal game that can be solved wihout any guessing.

Do note that it runs in the terminal, so it may not be your cup of tea. Mouse input is usually supported, but only really useful in hexagonal mode.

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).

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.

Download

To top of the page

NOTE: Not for smartphones and tablets.

Linux, macOS, unix-likes, Haiku, Windows,

Archive of all released versions

If you find any bugs, please create an issue.

GNU/Linux, macOS, *BSD, Cygwin, other unix-like operating systems, and Haiku

Windows

There are a few options:

  1. Recommended: WSL (both 1 and 2 work just fine)
  2. Automatic Cygwin and Anonymine installer
  3. Install Python and windows-curses

Comparison of options

Automatic Cygwin installer

Downloads:

Install Python and windows-curses

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

Screenshots

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

Platforms

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.

  • Various GNU/Linux distributions
  • FreeBSD, OpenBSD, NetBSD, DragonflyBSD
  • Haiku
  • SerenityOS
  • macOS
  • OpenIndiana and Solaris
  • Debian GNU/Hurd
  • Cygwin (on Windows and ReactOS)
  • Windows and ReactOS (without Cygwin)
Python interpreters:
  • CPython
  • PyPy (lacks curses on Windows)

"Some coercion required"

Using Pööp, Anonymine can be made to work on even more platforms. "Do not try this at home"

GraalVM Python
Needs only curses
PyPy on Windows
Needs only curses, but the Windows console is really slow
Jython
Needs curses and multiprocessing
IronPython
Needs very different configuration files and curses and multiprocessing
Minix 3.4
Needs multiprocessing and threading

What's new?

To top of the page

Release notes
0.6.32
    - enginecfg update: more fine grained control of highscores.
      It SHOULD be backward compatible.

0.6.22
    - 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
      file.
    - 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.

0.6.19
    - 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.

See the rest of the file on Gitlab

Bigger changes
What's new in 0.7.0 since 0.6.0?
================================

2024-xx-xx

Improved platform support:
    - SerenityOS (0.6.26, improved 0.6.31)
    - Icon for Anonymine on Haiku (0.6.17)
    - Fixed a race condition that previosuly required a bunch of platform
      specific workarounds (0.6.11)
    - Use Notepad to display highscores on Windows (0.6.33)

Updates:
    - New, much faster, field initialization algorithm. (0.6.29)
    - Reproducible fields using seeds (0.6.32)
    - Fixed race condition (fix14) (0.6.11)

Security fixes:
    - 0.6.19: Prevent information leak if Anonymine is used as login shell
              for ssh.
    - 0.6.32: Prevent local DoS.  Don't read the entire highscores file,
              which is writeable by everyone, if it's too big.
    - 0.6.34: Check file permissions before loading configuration files

See the rest of NEWS on Gitlab

Low level changes

See ChangeLog on Gitlab