Files
wiki/se-launcher/development/publishing/guidelines.md
2025-07-09 08:19:50 +00:00

3.7 KiB

title, description, published, date, tags, editor, dateCreated
title description published date tags editor dateCreated
Plugin Guidelines for Official PluginHub A list of guidelines and limitations imposed by Official PluginHub of SE Launcher true 2025-07-08T07:45:40.991Z markdown 2025-07-07T16:31:35.807Z

Publishing Guidelines for Official PluginHub

To ensure quality, security, and compatibility across the SE Launcher ecosystem, plugins published to the official PluginHub must comply with the following set of guidelines.

Following these rules helps maintain a stable and fair environment for all players and avoids conflicts between plugins or game systems.


General Guidelines

  1. Public Source Code
    The plugin must have human-readable, publicly accessible source code, hosted on GitHub. Obfuscated or minified source code is not allowed.

  2. Performance Considerations
    Plugin code must demonstrate reasonable performance.

    • While peak optimization is not required, any plugin that noticeably degrades game performance without justification may be rejected.
    • For example, plugins that alter the render pipeline may increase GPU usage, which is acceptable if it is necessary for their function.
  3. Mod & Script API Integrity
    Plugins must not modify, restrict, or extend the APIs available to in-game mods or scripts.
    The modding environment should remain unchanged and unaffected by external plugin logic.

  4. File System Access Limitations

    • Plugins should only access the files required for their function.
    • Modifying core game files, mod assets, or unrelated data is strictly prohibited.
    • Acceptable modifications may include:
      • Game session config
      • Mod user/world configs
      • Other plugin configs, where applicable and justified
  5. Multiplayer Fairness
    Plugins that alter gameplay to give unfair advantages in multiplayer are not allowed.
    Examples:

    • Not Allowed:
      • Extending ore detector range
      • Custom ore detectors
      • Mass inventory automation (sorting, refueling, repairing, etc.)
    • Allowed:
      • Picking a specific number of items from inventory
      • Manually triggered jump drive range adjustment
        (automatic threat detection or chained jumping is not allowed)
  6. No Loader Modification
    Plugins must not alter or patch the SE Launcher itself.
    This is strictly prohibited, even for privately distributed plugins.

  7. No External Executables

    • Plugins must not include or invoke external executables.
    • Plugins must not start, monitor, interfere with, or kill other processes.
    • The only allowed external action is launching Windows Explorer to open a file path or URL.
  8. Native Code Requirements

    • Native assemblies (e.g. .dll compiled from C++) must be:
      • Open source and publicly available, or
      • From a trusted and signed source
    • Only NuGet-distributed native libraries are currently supported.
  9. No Auto-Updating Logic
    Plugins must not implement auto-update mechanisms.
    Updates are fully managed by the SE Launcher.

  10. Compliance with Keen Software House EULA
    All plugins must comply with the Keen Software House EULA.


Current Limitations

Please be aware of the following restrictions in the current launcher infrastructure:

  1. No NuGet Dependencies
    External NuGet package dependencies are not yet supported.

  2. Locked C# Language Version
    Plugin code must use the default language version defined by the current launcher SDK. This version is fixed and cannot be overridden.