(NOTE: This guide was extracted from my Modding Resources GitHub page. I guess I should make another post about it, meh)
Working with C# RimWorld Mods on Arch Linux
Everything in this setup WorksOnMyMachineâ„¢, so I can't guarantee if it works on yours. A bit of ArchWiki and Google-fu might help solve any problems.
TL;DR
Set up MonoDevelop
Install MonoDevelop
You can always get MonoDevelop via the AUR, but various community members have reported it to be somewhat buggy (citation needed).
I installed MonoDevelop via flatpak:
Once installed, run:
to start MonoDevelop.
MonoDevelop should be able to open .sln files made with Visual Studio with no problems whatsoever.
ArchWiki: Flatpak, Mono
Set up ILSpy
Getting a decompiler to work on Linux is hard, especially since there are no decompilers that have been built for Linux (as of November 2018). You can, however, run ILSpy under Wine.
Installing WINE and Winetricks
Follow the instructions on the ArchWiki.
Get ILSpy
You can get a release of ILSpy for Windows from the main repository, or Zhentar's fork that implements better decompilation of iterators.
Configuring WINE with Winetricks
You will need to install .NET Framework 4.0 to run ILSpy. Use this command to install .NET 4.0:
Make sure you also have the samba package installed from the official repositories to avoid the problem described in the section "ntlm_auth code vomit".
Once you have done both of these, try launching ILSpy with wine /path/to/ILSpy.exe.
ArchWiki: Wine, Samba
ntlm_auth code vomit
If you see something like this when you try to start up ILSpy:
Chances are you'll probably also find a log message along the lines of:
For Arch, you will need to install the samba package.
Working with C# RimWorld Mods on Arch Linux
Everything in this setup WorksOnMyMachineâ„¢, so I can't guarantee if it works on yours. A bit of ArchWiki and Google-fu might help solve any problems.
TL;DR
- Set up MonoDevelop
- Install MonoDevelop via Flatpak
- Set up ILSpy
- Download Zhentar's patch of ILSpy here
- Install WINE, Winetricks and samba
- winetricks dotnet40
Set up MonoDevelop
Install MonoDevelop
You can always get MonoDevelop via the AUR, but various community members have reported it to be somewhat buggy (citation needed).
I installed MonoDevelop via flatpak:
Code Select
# Omit --user to install system-wide, needs root privileges for obvious reasons
$ flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref
Once installed, run:
Code Select
$ flatpak run com.xamarin.MonoDevelop
to start MonoDevelop.
MonoDevelop should be able to open .sln files made with Visual Studio with no problems whatsoever.
ArchWiki: Flatpak, Mono
Set up ILSpy
Getting a decompiler to work on Linux is hard, especially since there are no decompilers that have been built for Linux (as of November 2018). You can, however, run ILSpy under Wine.
Installing WINE and Winetricks
Follow the instructions on the ArchWiki.
Get ILSpy
You can get a release of ILSpy for Windows from the main repository, or Zhentar's fork that implements better decompilation of iterators.
Configuring WINE with Winetricks
You will need to install .NET Framework 4.0 to run ILSpy. Use this command to install .NET 4.0:
Code Select
$ winetricks dotnet40
Make sure you also have the samba package installed from the official repositories to avoid the problem described in the section "ntlm_auth code vomit".
Once you have done both of these, try launching ILSpy with wine /path/to/ILSpy.exe.
ArchWiki: Wine, Samba
ntlm_auth code vomit
If you see something like this when you try to start up ILSpy:
Code Select
System.Runtime.InteropServices.COMException: Unknown authentication source.
(Exception from HRESULT: 0x800706D3)
Chances are you'll probably also find a log message along the lines of:
Code Select
0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
For Arch, you will need to install the samba package.