Skip to content

Configuration

The main configuration file mods/kyuubisoft_infohub/config.json controls the core behavior of the Info Hub. All options can also be edited in the admin window (Book & sections, Join, General).

{
"schemaVersion": 3,
"language": "en-US",
"command": {
"name": "ksinfo",
"aliases": ["hub", "hilfe", "menu"],
"description": "Opens the Info Hub"
},
"joinMessage": {
"enabled": true,
"delaySeconds": 2,
"message": [
"",
"&8━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
" &6Welcome to the server!",
" &7Use &e/ksinfo &7for all information!",
"&8━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
""
],
"showOnlyOnFirstJoin": false,
"cooldownMinutes": 0,
"i18n": {
"de-DE": ["", " &6Willkommen!", " &7Nutze &e/ksinfo &7für alle Infos!", ""]
}
},
"infoItem": {
"enabled": true,
"itemId": "InfoHub_Book",
"giveOnFirstJoin": true,
"giveOnEveryJoin": false,
"hotbarSlot": 8,
"giveDelaySeconds": 3
},
"globalSearch": {
"enabled": true,
"minQueryLength": 2,
"maxResults": 20,
"searchIn": {
"commands": true,
"faq": true,
"rules": true,
"team": false,
"news": true,
"pages": true
}
},
"sections": {
"news": {
"icon": "Ore_Prisma",
"priority": 0,
"permission": null,
"enabled": true,
"command": null
},
"commands": {
"icon": "Tool_Pickaxe_Iron",
"priority": 1,
"permission": null,
"enabled": true,
"command": "commands"
},
"rules": {
"icon": "Weapon_Sword_Iron",
"priority": 2,
"permission": null,
"enabled": true,
"command": "rules"
},
"faq": {
"icon": "Ore_Gold",
"priority": 3,
"permission": null,
"enabled": true,
"command": "faq"
},
"serverinfo": {
"icon": "Ore_Prisma",
"priority": 4,
"permission": null,
"enabled": true,
"command": null
},
"team": {
"icon": "Weapon_Longsword_Iron",
"priority": 5,
"permission": null,
"enabled": true,
"command": "team"
}
},
"display": {
"hubTitle": "Info Hub",
"showSectionDescriptions": true
},
"permissions": {
"adminReload": "infohub.admin.reload",
"bypassCommandFilter": "infohub.bypass.commandfilter"
},
"banner": { "enabled": true },
"rules": { "requireAcknowledgement": false },
"onboarding": { "openHubOnFirstJoin": false },
"news": { "joinHint": false },
"bookLinks": [
{ "id": "achievements", "label": "Achievements", "icon": "Ore_Gold",
"command": "/ksachievements", "plugin": "kyuubisoft:achievements", "enabled": true }
]
}

SettingTypeDefaultDescription
languageString"en-US"Server default language, used when a text has no translation in the player’s language. With KyuubiSoft Core the server language is set in /kssettings instead. Available: en-US, de-DE, fr-FR, es-ES, pt-BR, ru-RU, pl-PL, tr-TR, it-IT
schemaVersionInteger3Written by the plugin. Files from before 3.0.0 are upgraded once on the first start
SettingTypeDescription
command.nameStringMain command to open the Info Hub
command.aliasesArrayAlternative commands (default hub, hilfe, menu; help is never registered)
command.descriptionStringCommand description
SettingTypeDefaultDescription
joinMessage.enabledBooleantrueEnable welcome message
joinMessage.delaySecondsInteger2Delay after join in seconds
joinMessage.messageArray-Message lines (with color codes)
joinMessage.showOnlyOnFirstJoinBooleanfalseOnly show on first ever join
joinMessage.cooldownMinutesInteger0Cooldown between messages (0 = always)
joinMessage.i18nObject-Optional lines per language, e.g. {"de-DE": ["...", "..."]}. A player without lines in their language gets the server language’s lines, else message

{player} and {server} are replaced in the join message.

SettingTypeDefaultDescription
infoItem.enabledBooleantrueEnable info item system
infoItem.itemIdString"InfoHub_Book"Item ID for the info item
infoItem.giveOnFirstJoinBooleantrueGive item on first join
infoItem.giveOnEveryJoinBooleanfalseGive item on every join
infoItem.hotbarSlotInteger8Hotbar slot 0-8
infoItem.giveDelaySecondsInteger3Delay before giving item

The book has a search field in the header. Enter or the magnifier opens the Search tab with type filter pills and counts; a hit opens exactly its entry. Sections a player cannot open never appear.

SettingTypeDefaultDescription
globalSearch.enabledBooleantrueEnable global search
globalSearch.minQueryLengthInteger2Minimum search query length
globalSearch.maxResultsInteger20Maximum search results
globalSearch.searchIn.commandsBooleantrueInclude commands in search
globalSearch.searchIn.faqBooleantrueInclude FAQ in search
globalSearch.searchIn.rulesBooleantrueInclude rules in search
globalSearch.searchIn.teamBooleanfalseInclude team in search
globalSearch.searchIn.newsBooleantrueInclude news in search
globalSearch.searchIn.pagesBooleantrueInclude custom pages (entry level) in search

With globalSearch.enabled: false the search field is hidden.

Each section can be configured:

SettingTypeDescription
iconStringItem ID for the section icon
priorityIntegerSort order (lower = higher)
permissionStringPermission to view (null = everyone)
enabledBooleanShow the section in the book (also checked by its shortcut command)
commandStringDirect command for this section (null = no command; a new or renamed command needs a restart)
commandAliasesArrayAdditional command aliases (optional)

The sections are news, commands, rules, faq, serverinfo and team. iconColor from older files is no longer used.

:::tip Section Command Configuration You can add a command to any section. For example, to add a command for the serverinfo section:

"serverinfo": {
"icon": "Ore_Prisma",
"priority": 4,
"enabled": true,
"command": "serverinfo",
"commandAliases": ["server", "info-server"]
}

:::

SettingTypeDefaultDescription
display.hubTitleString"Info Hub"Title shown in the book header
display.i18nObject-Optional hub title per language
display.showSectionDescriptionsBooleantrueShow category descriptions (rules) in the book
display.itemsPerPage, display.columnsNo longer used since 3.0.0 (kept readable)
SettingTypeDefaultDescription
banner.enabledBooleantrueShow the server banner on the Start tab. The image is the PNG in banner/ (max 1520 x 240; larger images are scaled down). /ksinfoadmin browsebanners lists the files
rules.requireAcknowledgementBooleanfalsePlayers confirm the current rules in a window inside the book; asked again when a rule changes. See Rules
onboarding.openHubOnFirstJoinBooleanfalseOpens the Info Hub once for players joining for the first time
news.joinHintBooleanfalseOne chat line after join when the player has unread news
bookLinksArray6 entries”Your books” on the Start tab: Achievements, Quest Book, Season Pass, Pets, Bank and Shops. Each entry (id, label, icon, command, plugin, enabled, i18n) is only shown while its plugin is loaded; opening one closes the Info Hub and runs its command as the player
SettingDefaultDescription
permissions.adminReloadinfohub.admin.reloadExtra node allowed to run /ksinfoadmin reload
permissions.bypassCommandFilterinfohub.bypass.commandfilterNode that skips the command blocklist in the Commands tab

See Permissions.

A file with broken JSON is never overwritten: it is kept, copied to <file>.corrupt-<timestamp>, a clear error is logged and the defaults are used in memory until it is fixed. Files are no longer rewritten on every load, and keys unknown to this version are kept.


Use these codes in messages:

CodeColorCodeColor
&0Black&8Dark Gray
&1Dark Blue&9Blue
&2Dark Green&aGreen
&3Dark Cyan&bCyan
&4Dark Red&cRed
&5Purple&dPink
&6Gold&eYellow
&7Gray&fWhite

Formatting:

CodeEffect
&lBold
&oItalic
&nUnderlined
&rReset

A literal & followed by a space or another character (for example “Q&A”, “Tom & Jerry”) stays readable. Lower-case codes always work; upper-case codes from older content (&C, &A) still work, except straight after a letter or digit.


"joinMessage": {
"enabled": true,
"delaySeconds": 1,
"message": [
"&aWelcome! Type &e/ksinfo &afor help."
]
}
"sections": {
"admin-tools": {
"icon": "Deco_Inkwell",
"priority": 10,
"permission": "infohub.section.admin",
"enabled": true
}
}
"infoItem": {
"enabled": false
}