|
| 1 | +--- |
| 2 | +title: Compatibility Mode |
| 3 | +description: Enable experimental compatibility mode for problematic plugins |
| 4 | +icon: Settings |
| 5 | +--- |
| 6 | + |
| 7 | +ServiceIO includes an experimental compatibility mode designed to resolve issues with plugins that don't properly recognize ServiceIO as a Vault provider. |
| 8 | +This mode modifies how ServiceIO is loaded by the server making it appear like the original Vault plugin. |
| 9 | + |
| 10 | +<Callout type="warning" title="Experimental Feature"> |
| 11 | + Compatibility mode is experimental and may not work with all plugins. |
| 12 | + It could potentially cause issues with other plugins. |
| 13 | + Use this mode only as a last resort and report any problems to our [Issue Tracker](https://github.com/TheNextLvl-net/service-io/issues/new?template=incompatible_plugin.yml). |
| 14 | +</Callout> |
| 15 | + |
| 16 | +## When to Use Compatibility Mode |
| 17 | + |
| 18 | +Enable compatibility mode if you encounter: |
| 19 | + |
| 20 | +### Common Compatibility Issues |
| 21 | + |
| 22 | +- **Plugin Not Detecting Vault**: A plugin reports, e.g. "Vault not found" |
| 23 | +- **Service Registration Problems**: Plugins that directly check for specific Vault implementation classes |
| 24 | +- **Custom Vault Hooks**: Plugins that use non-standard methods to access Vault services |
| 25 | + |
| 26 | +### How to Enable Compatibility Mode |
| 27 | + |
| 28 | +To enable compatibility mode, start your server with the `COMPATIBILITY_MODE` environment variable set to `true`. |
| 29 | + |
| 30 | +For example, in a Linux environment, you can start your server with: |
| 31 | + |
| 32 | +```bash |
| 33 | +export COMPATIBILITY_MODE=true |
| 34 | +java -jar server.jar --nogui |
| 35 | +``` |
| 36 | + |
| 37 | +Or if your setup doesnt allow exporting environment variables, you can use: |
| 38 | + |
| 39 | +```bash |
| 40 | +COMPATIBILITY_MODE=true java -jar server.jar --nogui |
| 41 | +``` |
| 42 | + |
| 43 | +In docker (compose) you can set the environment variable like this: |
| 44 | + |
| 45 | +```yaml |
| 46 | +services: |
| 47 | + your_service: |
| 48 | + image: your_image |
| 49 | + environment: |
| 50 | + - COMPATIBILITY_MODE=true |
| 51 | + ... |
| 52 | +``` |
0 commit comments