Cross-platform
From ManicDigger
Manic Digger is being developed in C# and uses Microsoft's .NET Framework. Microsoft develops its .NET platform exclusively for Microsoft operating systems.
However the Mono-Project provides an alternative, free .NET runtime environment (CLR) for a variety of operating systems (GNU/Linux, Windows, Mac OS X, Solaris). This enables to develop (with limitations) multi-platform .NET applications.
Compatibility to other operating systems than Windows is being considered in development of Manic Digger. For example, Manic Digger uses .NET 2.0 framework which is being support by the current Mono version. Thus, it is possible to run Manic Digger on Linux and Mac operating systems.
Contents |
Linux
Mono is the prefered runtime environment for .NET applications on Linux. It has a much better support and performance towards Wine. The current version of Manic Digger (client and server) runs relatively good and stable. Peformance is still admittedly a bit worser than on Windows but still good enough to run smooth on older hardware. Further optimizations are in development.
The following describes the installation procedure on Ubuntu 12.04 LTS. Installation on other distributions is similar. Just look for same or equivalent packages in your distribution's package manager (rpmdrake, Yast, etc.).
On Ubuntu use
sudo apt-get install <package>
to install a packet via terminal. Alternatively you can search and install the packages in Ubuntu Software Center.
Installation
Activate 3D Accleration
Manic Digger needs an activated 3D accleration. This requires mostly the installation of propriatary graphic drivers. With a terminal you can quickly check if 3D accleration is enabled.
Command:
glxinfo | grep rendering
Output:
direct rendering: Yes
Propriatary graphic drivers can be installed and activated over "System Settings" under menu item "Additional Drivers" or alternatively by installing the following package:
- nvidia-current for Nvidia graphic cards
- fglrx for ATI graphic cards
Install Mono Runtime Environment
Before running Manic Digger, we have to set up the runtime environment. Therefor we need to install a current version of Mono and some additional libraries like libmono-winforms. The package mono-complete already contains all required Mono specific libraries. The installation of the following packages is necessary:
- mono-complete
- libxi6
- libgl1-mesa-dev
- libopenal1
- libenet1a
Execute Manic Digger
![]() | Warning: It is strongly recommended not to run Manic Digger with root privileges. |
Now we need to download the binary version of Manic Digger. Pick the Binary.zip of your choice (you don't really need sources unless you want to fiddle with code but for that you'll need also MonoDevelop to compile):
Unzip the archive to a directory any desire. Go to your new Manic Digger folder. If exe files are already associated with Mono, you can directly start Manic Digger by clicking on ManicDigger.exe. Otherwise right click on the exe file and select "Open with Mono Runtime" in context menu.
You can of course also use the terminal to start Manic Digger. On this, in terminal, move to your Manic Digger directory and execute the following command
mono ManicDigger.exe
It is recommended to execute Manic Digger in a terminal. In this way, you get debug output messages in terminal window, which are useful on troubleshooting.
To start a server, execute ManicDiggerServer.exe. Server configuration is made via the file ServerConfig.txt in folder UserData/Configuration.
Also see: Making a Server, Server Configuration
Troubleshooting
Low Framerate, Bad Performance
Often VSync in Manic Digger on Linux is a problem. Disable it by toggling to "unlimited framerate" in game with F8.
You can display framerate via
.fps on
command.
Sometimes it is neccesary to recompile Manic Digger on Linux.
See : Development - Compiling the Source Code
Connection Refused
Sometimes attempts to play maps in single-player mode fail with "Connection refused". Perhaps this is due to a race condition where the built-in server has not completely started before the client, or it may be because it failed to start at all. In any case one workaround is to start the standalone server by running it in the same directory as the client
mono ManicDiggerServer.exe
before running the client. Then in the client choose "Join multiplayer" followed by "Connect to IP" and enter "127.0.0.1" (the loopback address) in the "IP" field.
No Audio
Sometimes, particularly on 64 Linux bit systems, there will be no audio. This may be accompanied by a error message complaining about missing DLL such as
System.DllNotFoundException: /usr/lib/libopenal.so.1
On Fedora, and possibly other Linux systems, the "/usr/lib/libopenal.so.1" path shown above is for the 32 bit version of the "openal-soft" package. Since there is nothing particularly 32 bit about Manic Digger or Mono try editing the configuration for OpenTK so that it points version of the library that is suitable for the system. On 64 bit Fedora, and possibly other Linux systems, this can be accomplished by editing "OpenTK.dll.config" so that the relevant line looks like the following
<dllmap dll="i:openal32.dll" target="/usr/lib64/libopenal.so.1" />
Note that this is helpful in spite of the "32" in the DLL name as that seems to be only a name for the DLL and not reflective of the actual implementation.
Alternatively running with the latest nightly build of OpenTK seems to fix the problem. At the time this was written the "opentk-2012-03-08.zip" file worked correctly on a 64 bit Fedora 16 system without editing "OpenTK.dll.config".
Mouse cursor isn't hiding
At the moment there is no fix for this problem.
Mac OS X
| This part of the page "Cross-platform" is work in progress. You can help us by expanding it. |
| Average Progress 1% |
Download latest stable version of Mono for Mac from here.
Get Binary version of Manic Digger.
Start the ManicDigger.exe with Mono.



