Files
wiki/se-launcher/development/publishing/guidelines.md

85 lines
3.7 KiB
Markdown

---
title: Plugin Guidelines for Official PluginHub
description: A list of guidelines and limitations imposed by Official PluginHub of SE Launcher
published: true
date: 2025-07-10T09:48:58.767Z
tags:
editor: markdown
dateCreated: 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](https://store.steampowered.com/eula/244850_eula_1).
---
## Current Limitations
Please be aware of the following restrictions in the current launcher infrastructure:
1. **No Plugin Dependencies**
Plugin 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.