This is a simple modloader for the game Highfleet. It can load any DLL into the game, making it very flexible. However it is intended to be used with custom made highfleet mods.
The installation process is very simple:
- Go to the latest release
- Download Artifacts.zip
- Extract the zip file into your highfleet folder
- You should end up with a bass.dll and bass.dll_ in your game folder
- Then launch the game as normal. If you get a black terminal window, you have successfully installed the modloader.
If you need to uninstall the modloader, simply:
- Optionally delete the Modloader folder. This will delete your mods and their configurations.
- Delete
bass.dll - Rename
bass.dll_tobass.dll - You're done!
Most mods are designed to be drag and drop into your game folder.
If you need to install a mod manually, drag and drop it into the Modloader/mods folder.
If the mod comes with configuration files, drag and drop it into the Modloader/config folder.
Note that some mods may auto generate their config files.
Thanks to the nature of the modloader you can develop almost any DLL and it will be injected into the game. This means you have almost absolute control over the game from within it's own process.
Mods can optionally define any or all of these functions:
The modloader passes in the detected version of the game in a null terminated c string pointer. The versions that can be passed in are:
Steam 1.151Steam 1.163Gog 1.163
If your mod implements this function, it should return either true or false depending on if your mod supports the given version. You may choose to not initialize your mod if you do not support the game version.
The modloader passes in a reference to a logger object and the LevelFilter so that the mod can configure the logger from their end. Logs will be outputed in the main modloader terminal window.
This function can only be used from Rust based mods using the same compiler version as is used with the modloader. I'm currently working on a FFI safe implementation which will likely require linking to a shared logging library.
The modloader calls this function last. If you return false, the modloader assumes that you have failed to initialize.
This function is techincally optional as you could do your setup on your library being loaded by windows.
Direct mods are mods (DLLs) designed to run directly with the modloader and allow to more easily modify the game. These are mostly intended to be used by mod developers to include in their own mods, and not necessarily end users. These are all currently developed by me.
Indirect mods are mods that use direct mods in conjunction with game file modifications to change the game behaviour. These are intended to be used directly by end users. These are all developed by other mod developers.
If you create a mod or I haven't added you yet, message me or create an issue.
Doing a PR is also welcome.