These guidelines explain what is expected when submitting a new mod version to the manifest.
New submissions must be submitted as a pull request to the manifest repository.
If you need help with your submission, read the submission tutorial.
General Manifest Requirements
Submissions must follow the schema. Match your indentation to the existing json (indent using 4 spaces).
You must include a correct SHA256 hash of your artifacts.
Do Not Remove Versions
You must not remove old versions of your mod from the manifest. If you no longer plan to maintain the mod, use the
deprecated flag on the mod entry, which will hide it from the mod list and autoupdaters. The manifest is designed to store a history of mods: not just current versions. This allows us to flag mods with additional metadata, for example marking them as having security vulnerabilities.
Indicate Platform Incompatibilities
If your mod is incompatible with a platform, you must indicate that using the appropriate flag (for example
Your manifest submission should have version numbers that match the NeosMod version. The
AssemblyFileVersion assembly attributes should match your mod version.
If you think having to change the version number in three places is a pain, you’re right. Luckily, there’s a way you can get away with having it in one place, which I’ve demonstrated in this mod.
Mods should avoid repackaging third party libraries into their DLL. Consider adding third-party libraries as an external dependency in the manifest. This allows auditors to review your mod and libraries separately and makes the auditing process much faster.
Privacy and Security
Mods must not be obfuscated. We audit mods by inspecting their binaries, which is not feasible for obfuscated mods.
Mods should be up-front about what they do. Accurate descriptions, screenshots, etc, are all good to have.
Mods should be open-source. While this is not a hard requirement, having up-to-date source code available is helpful for the auditing process.
Mods must not download or execute remote code. This means the following are forbidden:
- auto updaters
- fetching Neos json/7zbson/etc from a non-neos server (neosdb urls are okay)
- Do not bypass protections and controls within Neos, for example SimpleAvatarProtection, permissions, and bans.
- Do not enable asset theft
- Do not enable harassment
- Do not track users without their consent
This is not an exhaustive list. The Neos guidelines are the definitive source on what is and is not allowed.
Mods should avoid performance hits to Neos where possible. While performance is not the primary goal of the audit, if we notice code that is extremely inefficient we may ask you to improve it.