A simple patcher that uses Mono.Cecil to weave the Resonite Headless for use in .NET 8
- All-in-one solution to enable running the headless server on .NET 8
- Patches several key dlls to prevent crashes and allow greater compatibility with the new runtime
- Bundled with Nimbus to provide auxiliary patches in order to properly function
- Bundled with Harmony built for .NET 8 to support ResoniteModLoader mods
- Access to the Resonite Headless server (this repo ain't a bargain bin)
- ResoniteModLoader version 2.6.0 or greater
- Ensure that the required version of ResoniteModLoader is installed into your headless before continuing
Cumulo is run from the command line/terminal and can either be run standalone or as part of a script - such as your own server startup script for example.
- Linux usage:
mono Cumulo.exe /path/to/headless/here
- Windows usage:
Cumulo.exe C:\path\to\your\headless\here
When running Cumulo, you will be prompted before any changes are made to your Headless server with this message:
--------
You are about to apply Cumulo patches to "yourheadlesspath".
This operation is NOT reversible and will make your
headless server incompatible with Mono/.NET Framework
in order to support .NET 8.
--------
The changes made are:
- System.Security.Permissions.dll for .NET 8 is added to the root of the Headless folder as a new dependency
- Resonite.runtimeconfig.json is added to the root of the Headless folder to designate .NET 8 as the desired runtime.
- Nimbus.dll is copied to the rml_mods folder to enable compatibility with normal Resonite clients.
- 0Harmony.dll is copied to the Libraries folder as a replacement for the one provided by ResoniteModLoader
- FrooxEngine.dll and FrooxEngine.Weavers.dll are patched in several key locations to enable .NET 8 compatibility
You may also pass --noconfirm
as an optional flag to run Cumulo without user confirmation. Cumulo will not prompt you before making changes when using this flag.
E.g. mono Cumulo.exe /headless/path/here --noconfirm
You may also opt to skip downloading the Nimbus companion mod by specifying --nonimbus
as a command line flag.
Simply replace your startup command with dotnet Resonite.exe -YourExistingLaunchFlagsHere -Etc.
E.g. if you're running linux and using mono to run the headless, the command goes from:
mono Resonite.exe
to
dotnet Resonite.exe
Small shoutout to Crystite for inspiring implementations for some of the trickier hoops I had to jump through.