Anonymine - guess free minesweeper
Latest version: 0.6.42 released on 2024-12-04 - 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
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
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:
- Recommended: WSL (both 1 and 2 work just fine)
- Automatic Cygwin and Anonymine installer
- Install Python and windows-curses
Automatic Cygwin installer
Downloads:- Windows installer from 2024-11-27 (version 18.2-stage2-1.16 with Cygwin setup 2.932)
- Fetch newest version from GitLab
Install Python and windows-curses
It is possible to run the unix version with some limitations.- Instructions
- You can download as a zip from Gitlab.
Platforms
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)
- 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
andmultiprocessing
- IronPython
- Needs very different configuration files and
curses
andmultiprocessing
- Minix 3.4
- Needs
multiprocessing
andthreading
What's new?
- Release notes
-
0.6.42 Removed the seed feature 0.6.41 Fixed two Python 3.13+ issues: - Import failure on all platforms. - Crash when fork()ing on some rare platforms Some fixes and workaround have been included already in 0.6.38 0.6.36 - cursescfg updated and older versions are no longer compatible in hexagonal mode. Added: 'grid2', 'grid3', and 'grid4' [macOS, SerenityOS] - Anonymine will change TERM for itself to enable the numpad to work. [SerenityOS] - Workaround for recent bug (July 2024), see doc/INSTALL.SerenityOS 0.6.32 - enginecfg update: more fine grained control of highscores. It SHOULD be backward compatible.
- Bigger changes
-
What's new in 0.7.0 since 0.6.0? ================================ 2024-xx-xx Improved platform support: - Python 3.13+ supported since 0.6.38 - SerenityOS (First in 0.6.26, at least 0.6.38 required due to Python) - Icon for Anonymine on Haiku (0.6.17) - Mouse support on Haiku (0.6.37) - 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) - 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
- Low level changes