Main Configuration
Complete reference for the HyperPerms configuration file. All settings and their effects are documented here.
Configuration File Location
text
plugins/HyperPerms/config.jsonFull Configuration Reference
json
{
"server": {
"name": "My Hytale Server",
"syncInterval": 300
},
"storage": {
"type": "json",
"autoSave": true,
"autoSaveInterval": 300,
"backups": {
"enabled": true,
"interval": 3600,
"maxBackups": 24
}
},
"webEditor": {
"enabled": true,
"url": "https://hyperperms.dev/editor",
"sessionTimeout": 86400
},
"defaults": {
"group": "default",
"applyDefaultGroup": true
},
"contexts": {
"world": true,
"gamemode": true
},
"chat": {
"formatEnabled": true,
"format": "{prefix}{displayname}{suffix}: {message}",
"defaultPrefix": "",
"defaultSuffix": ""
},
"logging": {
"level": "INFO",
"logPermissionChecks": false,
"logCommands": true,
"logModifications": true
},
"performance": {
"cacheEnabled": true,
"cacheSize": 1000,
"cacheTTL": 300
}
}Server Settings
json
"server": {
"name": "My Hytale Server",
"syncInterval": 300
}| Option | Type | Default | Description |
|---|---|---|---|
| name | string | "Hytale Server" | Server name shown in web editor |
| syncInterval | integer | 300 | Seconds between network syncs (multi-server) |
Storage Settings
json
"storage": {
"type": "json",
"autoSave": true,
"autoSaveInterval": 300,
"backups": {
"enabled": true,
"interval": 3600,
"maxBackups": 24
}
}| Option | Type | Default | Description |
|---|---|---|---|
| type | string | "json" | Storage backend type |
| autoSave | boolean | true | Automatically save changes to disk |
| autoSaveInterval | integer | 300 | Seconds between auto-saves |
| backups.enabled | boolean | true | Enable automatic backups |
| backups.interval | integer | 3600 | Seconds between backups |
| backups.maxBackups | integer | 24 | Maximum number of backups to keep |
See the storage guide for more details.
Web Editor Settings
json
"webEditor": {
"enabled": true,
"url": "https://hyperperms.dev/editor",
"sessionTimeout": 86400
}| Option | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable the web editor feature |
| url | string | "https://hyperperms.dev/editor" | Web editor URL (change for self-hosting) |
| sessionTimeout | integer | 86400 | Session duration in seconds (24 hours) |
If you're self-hosting the web editor, change the URL to your own instance. See the self-hosting guide.
Default Settings
json
"defaults": {
"group": "default",
"applyDefaultGroup": true
}| Option | Type | Default | Description |
|---|---|---|---|
| group | string | "default" | Default group for new players |
| applyDefaultGroup | boolean | true | Auto-assign new players to default group |
Context Settings
json
"contexts": {
"world": true,
"gamemode": true
}Enable or disable context calculators. See the contexts guide.
Chat Format Settings
json
"chat": {
"formatEnabled": true,
"format": "{prefix}{displayname}{suffix}: {message}",
"defaultPrefix": "",
"defaultSuffix": ""
}| Option | Type | Default | Description |
|---|---|---|---|
| formatEnabled | boolean | true | Enable HyperPerms chat formatting |
| format | string | (see above) | Chat message format template |
| defaultPrefix | string | "" | Default prefix if player has none |
| defaultSuffix | string | "" | Default suffix if player has none |
Format Placeholders
{prefix}- Player's prefix{suffix}- Player's suffix{displayname}- Player's display name{username}- Player's username{group}- Player's primary group{message}- The chat message
Logging Settings
json
"logging": {
"level": "INFO",
"logPermissionChecks": false,
"logCommands": true,
"logModifications": true
}| Option | Type | Default | Description |
|---|---|---|---|
| level | string | "INFO" | Log level: DEBUG, INFO, WARNING, ERROR |
| logPermissionChecks | boolean | false | Log every permission check (verbose) |
| logCommands | boolean | true | Log HyperPerms commands |
| logModifications | boolean | true | Log permission changes |
Enabling
logPermissionChecks creates significant log output and may impact performance. Use only for debugging.Performance Settings
json
"performance": {
"cacheEnabled": true,
"cacheSize": 1000,
"cacheTTL": 300
}| Option | Type | Default | Description |
|---|---|---|---|
| cacheEnabled | boolean | true | Enable permission caching |
| cacheSize | integer | 1000 | Max cached permission results |
| cacheTTL | integer | 300 | Cache time-to-live in seconds |
Keep caching enabled for optimal performance. The cache is automatically invalidated when permissions change.
Reloading Configuration
After editing the configuration file:
text
/hp reloadSome settings require a full server restart, including:
- Storage type changes
- Some performance settings