Why use xModManager?
1. Simplicity
xModManager is very simple to use, and exposes a few easy-to-understand APIs. It’s codebase is very readable.
2. Error handling
xModManager returns an error code alongside the return values for almost every function. An error code of 0 means success, while any other return code is an error of some type.
3. Security
It may sound counterintutive that mods that can be written as Lua strings are secure, but they are!
First off, the Lua code doesn’t have access, by default, to any environemnt variable that can cause an escape from the environment.
Second off, if an user adds accidentally an environment variable that could cause an escape, xModManager warns in the console.
4. Easy manipulation of mods
A mod process can easily be killed with the SIGKILL signal.
You can signal to a mod using SIGCOM, and that mod can attach to that using a function provided in the environment and using a callback.
5. Configurability
There is a module named Configuration which is very configurable and has a lot of settings that affect how the mod manager works.