Permissions
Mods declare their required permissions in manifest.json. Each permission grants access to specific API namespaces.
Permission List
| Permission | API Access | Description |
|---|---|---|
filesystem | Files | Create, read, write, delete in-game files |
network | Network, Database | Create and manage networks, ports, domains, and databases |
events | Events | Listen to game events, emit custom events |
mail | Mail | Send in-game emails |
bank | Bank | Manage bank accounts and transfers |
shell | Shell | Execute terminal commands programmatically |
ui | UI | Show notifications and toasts |
APIs Without Permissions
The following APIs are always available and do not require permissions:
| API | Description |
|---|---|
Storage | Persistent key-value storage |
Variables | Session-only variables |
SharedStorage | Shared persistent storage |
SharedVariables | Shared session variables |
ModSettings | Mod settings (player config) |
Random | Random generation utilities |
Twotter | In-game social media |
Kisscord | In-game messaging |
WeeChat | In-game IRC chat |
Enforcement
When a mod declares a permissions array in its manifest, only the listed permissions are allowed. API calls requiring a non-declared permission will throw an error.
If a mod does not declare a permissions array (or the field is omitted entirely), all APIs are accessible without restriction. This is intended for development convenience but not recommended for published mods.
Usage
json
{
"permissions": ["events", "network", "filesystem"]
}TIP
Only request the permissions your mod actually needs. Players can see which permissions a mod requires in the Mods menu.
