Mono is an open-source implementation of the .NET framework that you can use to run .NET programs under non-Windows operating systems, such as Linux. You can use it to run Virtual Radar Server on Linux.

Mono relies heavily on native libraries which aren't always stable, and the parts of Virtual Radar Server that rely on Windows-only COM modules will not work under Mono.


First of all you need to make sure you have the mono runtime installed. For most Linux distributions this can be installed via the package manager (e.g. sudo apt-get install mono-complete on Debian / Ubuntu), otherwise you can go to and download it from there.

Mono uses X11. Most Linux distributions already have X11 installed but some (notably OS/X) do not and will need to have it installed.

The Mono version has been successfully tested under OS/X Yosemite with XQuartz and Mono 4.

Once Mono is installed you can download and unpack VRS from here:


Decompress that somewhere. It will create a folder called VirtualRadar. Open a shell prompt, cd into the VirtualRadar folder and enter:

mono VirtualRadar.exe

Once VRS is running go into Tools | Options and configure your link to the receiver.

Mono 4 Issues

Virtual Radar Server is built against version 3.5 of the .NET framework, which is what ships with Windows 7. Version 4 of Mono does not support .NET 3.5, it will run the program under the .NET 4 framework instead.

This is fine, VRS will run under .NET 4 without a problem. All you'll see is a warning message from the Mono runtime that you can ignore.

However, Mono 4 also ships with version 4 of an assembly called Mono.Data.Sqlite. VRS expects to see version 2 of this assembly. If you get an exception when you start VRS that goes along the lines of "SQLiteConnectionStringBuilderWrapper does not implement ISQLiteConnectionStringBuilder" then it's because VRS cannot load Mono.Data.SQLite.

You can fix this by creating a file called VirtualRadar.exe.config (case sensitive on Linux) in the same folder as VirtualRadar.exe and then pasting this into it:

<?xml version="1.0"?>
        <supportedRuntime version="v2.0.50727"/>
        <assemblyBinding  xmlns="urn:schemas-microsoft-com:asm.v1">
                <assemblyIdentity name="Mono.Data.Sqlite"
                                  culture="neutral" />
                <bindingRedirect oldVersion=""
                                 newVersion="" />

Installing Plugins

Unpack the plugin's .tar.gz file into the same folder that you unpacked VRS into. Make sure that you preserve the directory structure when you unpack the plugin.

This should create a folder called Plugins (if it's not already there) and underneath that should be a folder for the plugin, which will contain the plugin's files.

Restart Virtual Radar Server and then configure the plugin if necessary.

Installing Translations

As of version 1.1 the translations of the server and database writer plugin are available in a separate file called the language pack.

Only the server and the plugins are translated via the language pack. The web site's translations are stored in the site's JavaScript so they're installed with the server.

To install the translations unpack the following file under the VirtualRadar folder:


That should create a folder for each language supported language. Restart Virtual Radar Server.

If Virtual Radar Server remains in English after a restart, and if you are sure that the language files are in the correct place (i.e. directly under Virtual Radar Server's folder), then you can force Virtual Radar Server to use a language with a command-line option:

mono VirtualRadar.exe -culture:xx-YY

xx-YY is the ISO country and language code. For example:

mono VirtualRadar.exe -culture:de-DE (to use the German translation)
mono VirtualRadar.exe -culture:fr-FR (to use the French translation)
mono VirtualRadar.exe -culture:ru-RU (to use the Russian translation)

Things That Do Not Work Properly, Or At All

There are some things that are not quite polished in the Mono version of Virtual Radar Server and some things I will never be able to fix. This is the list of defects I've seen or had reported to me so far:

If you notice anything else, or have questions about installing or running VRS under Mono, please let me know via the forum.

Changing The Port That Virtual Radar Server Is Listening On

By default VRS will listen to port 8080. If you have other software listening to port 8080, or you just want to use another port, then you can change the port via a configuration file.

Start VRS and click Help | About. Click the link to take you to the configuration files folder. For most Linux distributions it will be ~/.local/share/VirtualRadar.

In the configuration folder create a text file called InstallerConfiguration.xml.

Open the file and paste this into it:

<?xml version="1.0" encoding="utf-8" ?>
<InstallerSettings xmlns:xsi="" xmlns:xsd="">

Change the "8080" in the file to the port number you want to use.

How A Plugin Can Tell If It's Running Under Mono

The interface IRuntimeEnvironment can be used to see if you're running under Mono:

var isMono = Factory.Singleton.Resolve<IRuntimeEnvironment>().Singleton.IsMono;