Permissions
Permissions
Section titled “Permissions”Info Hub permissions are split between hardcoded ks.info.* nodes (commands) and config-driven nodes that admins choose freely (sections, categories, filter bypass).
Hardcoded ks.info.* Nodes
Section titled “Hardcoded ks.info.* Nodes”| Permission | Command | Default |
|---|---|---|
ks.info.user.use | /ksinfo, /ksinfoitem | ✅ allowed |
ks.info.admin | /ksinfoadmin (panel + reload + every admin subcommand) | ❌ staff only |
ks.info.admin covers every /ksinfoadmin subcommand — canGeneratePermission() = false on the parent collection means each subcommand doesn’t register its own node.
Config-driven Permission Strings
Section titled “Config-driven Permission Strings”Admins can gate sections and categories by specifying arbitrary permission strings in config.json / categories.json. These are not hardcoded — the mod just calls hasPermission() with whatever value you set. Historical convention uses infohub.* prefixes, but any node name works.
Sections (config.json → sections)
Section titled “Sections (config.json → sections)”"sections": { "commands": { "permission": null, "enabled": true }, "admin-tools": { "permission": "infohub.section.admin", "enabled": true }}| Setting | Effect |
|---|---|
null | Public — every player sees the section |
"<permission>" | Only players with this node see it |
Command Categories (commands/categories.json)
Section titled “Command Categories (commands/categories.json)”{ "id": "admin", "name": "Administration", "permission": "infohub.category.admin", "commands": ["ban", "kick", "mute"]}Players without the permission don’t see the category or its commands in the browser.
Bypass — Command Filter
Section titled “Bypass — Command Filter”Any player with the permission string you set in config.commandFilterBypassPermission (default: infohub.bypass.commandfilter) can execute commands that the filter would normally hide. Rename it to anything — e.g. staff.bypass.info — and grant only to trusted roles.
Common Setups
Section titled “Common Setups”Staff-only section
Section titled “Staff-only section”"sections": { "staff-tools": { "icon": "Deco_CommandBlock", "priority": 10, "permission": "infohub.staff", "enabled": true }}VIP-only FAQ category
Section titled “VIP-only FAQ category”{ "id": "vip-info", "name": "VIP Information", "icon": "Ore_Diamond", "permission": "infohub.vip", "questions": [...]}Admin commands category
Section titled “Admin commands category”{ "id": "admin", "name": "Admin Commands", "permission": "infohub.admin", "commands": ["ban", "kick", "mute", "warn", "jail"]}LuckPerms Examples
Section titled “LuckPerms Examples”# Core admin access/lp user Steve permission set ks.info.admin true
# Section/category access for a staff group/lp group staff permission set infohub.section.staff true/lp group staff permission set infohub.category.moderation true
# Grant filter bypass/lp user Steve permission set infohub.bypass.commandfilter true
# Revoke default /ksinfo from a group (rarely useful)/lp group default permission set ks.info.user.use falseTypical Hierarchy
Section titled “Typical Hierarchy”Owner └── ks.info.admin └── infohub.bypass.commandfilter
Admin └── ks.info.admin └── infohub.section.admin
Moderator └── infohub.category.moderation
Default └── ks.info.user.use (default-allowed — no setup needed)Migration from Legacy Nodes
Section titled “Migration from Legacy Nodes”The old infohub.admin and infohub.admin.reload permissions are no longer checked by command gates. Grant ks.info.admin instead. Section and category permission strings are untouched (user-authored).