Files
core-ranks/docs/02_Configuration.md
T
2026-05-26 23:16:33 -04:00

1.8 KiB

Configuration

Location

<plugin data dir>/config.json. Written with defaults on first boot.

Full config

{
    "tables": {
        "ranks": "ranks",
        "rank_perms": "ranks_perms",
        "user_perms": "ranks_user_perms",
        "grants": "ranks_grants"
    },
    "provider": {
        "replace_default": true
    },
    "chat": {
        "inject_prefix": true,
        "prefix_format": "{prefix} "
    },
    "cache": {
        "invalidate_channel": "ranks.invalidate"
    }
}

Fields

tables

Table names. Change only if you must coexist with another schema that already uses these names.

provider

Field Default Meaning
replace_default true When true, on start() we remove every existing PermissionProvider from PermissionsModule (including Hytale's default file-backed one) and register ours as the sole authority. When false, we add ours alongside - useful for migration, but expect duplicate answers from both providers (Hytale OR's results across providers). On shutdown() we restore whichever providers we removed.

chat

Field Default Meaning
inject_prefix true Toggle the PlayerChatEvent formatter rewrite. False = no prefix injection regardless of rank prefix.
prefix_format "{prefix} " Format string. {prefix} is replaced with the player's primary rank prefix. Result is prepended to <username>: <message>.

cache

Field Default Meaning
invalidate_channel "ranks.invalidate" NetworkCore MessageBus channel for cross-server cache-invalidation events. Don't share this with another plugin.

No env var overrides

This plugin doesn't load any secrets from env. MySQL credentials live in NetworkCore (MYSQL_PASSWORD).