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.
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.
install mono-complete on Debian / Ubuntu), otherwise you can go to http://www.mono-project.org/ 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:
Once VRS is running go into Tools | Options and configure your link to the receiver.
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"?> <configuration> <configSections> </configSections> <startup> <supportedRuntime version="v2.0.50727"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Mono.Data.Sqlite" publicKeyToken="0738eb9f132ed756" culture="neutral" /> <bindingRedirect oldVersion="220.127.116.11" newVersion="18.104.22.168" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
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.
As of version 1.1 the translations of the server and database writer plugin are available in a separate file called the language pack.
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)
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.
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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <WebServerPort>8080</WebServerPort> </InstallerSettings>
Change the "8080" in the file to the port number you want to use.
The interface IRuntimeEnvironment can be used to see if you're running under Mono:
var isMono = Factory.Singleton.Resolve<IRuntimeEnvironment>().Singleton.IsMono;