Skip to content

Permissions

The Bank uses the unified ks.<mod>.<scope>.<action> scheme. User nodes default to allowed (the code uses hasPermission(node, true)), admin nodes default to deny. Feature gates and rank-based page caps are configured via LuckPerms strings that server operators choose freely.


PermissionDefaultDescription
ks.bank.admin❌ staff onlyEvery /ksbankadmin subcommand (panel, open, give, adminupgrade, reset, log, reload) and the admin UI

PermissionCommandDefaultDescription
ks.bank.user.page/ksbank page <n>✅ allowedSwitch to a specific bank page
ks.bank.user.upgrade/ksbank upgrade✅ allowedPurchase a bank page upgrade
ks.bank.user.history/ksbank history✅ allowedView bank transaction history
ks.bank.user.open/ksbank open✅ allowedOpen the bank UI (default entry point)

All four nodes default to “allowed” — admins only need to revoke them to gate specific subcommands behind groups.


The permissions section of config.json lets you attach custom permission strings to in-game bank actions. When the string is empty, the feature is open to everyone; when set, players without the node see lockedMessage.

FeatureConfig PathDefault
Upgradepermissions.upgrade.permission"" (everyone)
Transferpermissions.transfer.permission"" (everyone)
Withdrawpermissions.withdraw.permission"" (everyone)
Depositpermissions.deposit.permission"" (everyone)

Example — VIP-only upgrades:

"permissions": {
"upgrade": {
"permission": "bank.vip.upgrade",
"lockedMessage": "Requires VIP rank to upgrade!"
}
}

The permission string can be anything admins pick (bank.vip.upgrade, vip.bank.upgrade, etc.) — it’s not validated against any list.


The permissions.rankPages map controls how many bank pages players can unlock per rank. Each entry maps a permission node to a max-page count.

PermissionMax Pages
bank.pages.33
bank.pages.55
bank.pages.77
bank.pages.1010

Resolution:

  1. The service scans every rankPages entry against the player’s permissions.
  2. Player gets the highest matching value across all their nodes.
  3. Capped at the global maxPages config value.
  4. Empty rankPages / no match → player can upgrade up to maxPages.

# Staff admin
/lp user Steve permission set ks.bank.admin true
# Lock page switching to a specific group
/lp group default permission set ks.bank.user.page false
# Rank-based page caps
/lp group vip permission set bank.pages.5 true
/lp group premium permission set bank.pages.10 true
# Gate upgrades behind VIP
/lp group vip permission set bank.vip.upgrade true

Owner / Admin
└── ks.bank.admin
└── bank.pages.10
VIP
└── bank.pages.7
└── bank.vip.upgrade (if upgrade is gated)
Default
└── (user nodes default-allowed; no extra setup needed)

Earlier releases used the single bank.admin permission. It is no longer checked. Replace any LuckPerms grants of bank.admin with ks.bank.admin.