Configuration

Configuration Files

All settings are stored in %APPDATA%/saba-chan.


GUI Settings (settings.json)

Location: %APPDATA%/saba-chan/settings.json

KeyTypeDefaultDescription
languagestring"en"Display language
discordTokenstring""Discord bot token
discordAutoStartboolfalseAuto-start Discord bot
autoRefreshbooltrueAuto-refresh status
refreshIntervalnumber2000Refresh interval (ms)
ipcPortnumber57474IPC port (1024–65535)
consoleBuffernumber2000Console buffer size
autoGeneratePasswordsbooltrueAuto-generate empty RCON/REST passwords
portConflictCheckbooltruePort conflict detection

CLI Settings (cli-settings.json)

Location: %APPDATA%/saba-chan/cli-settings.json

KeyAliasTypeDefaultDescription
languagelangstring""Display language (empty = follow GUI)
auto_startautostartbooltrueAuto-start daemon/bot on TUI launch
refresh_intervalrefreshu642Status refresh interval (seconds, 1–60)
bot_prefixprefixstring""Discord bot prefix override

Bot Config (bot-config.json)

Location: %APPDATA%/saba-chan/bot-config.json

{
  "prefix": "사바쨩",
  "moduleAliases": {},
  "commandAliases": {},
  "musicEnabled": true,
  "mode": "local",
  "cloud": {
    "relayUrl": "",
    "hostId": ""
  },
  "nodeSettings": {}
}
KeyTypeDescription
prefixstringBot command prefix
moduleAliasesobjectModule alias mapping
commandAliasesobjectCommand alias mapping
musicEnabledboolMusic extension toggle
modestring"local" or "cloud"
cloud.relayUrlstringRelay server URL
cloud.hostIdstringHost ID
nodeSettingsobjectPer-guild settings

Global Config (global.toml)

Location: config/global.toml (in app directory)

ipc_socket = "./ipc.sock"

[updater]
enabled = true
check_interval_hours = 3
auto_download = false
auto_apply = false
github_owner = "WareAoba"
github_repo = "saba-chan"
include_prerelease = false

Environment Variables

VariableDescription
SABA_IPC_PORTIPC port override
SABA_MODULES_PATHModules directory path
SABA_INSTANCES_PATHInstance storage path
SABA_LANGDisplay language
SABA_TOKEN_PATHIPC token file path
SABA_EXTENSIONS_DIRExtensions directory path
DISCORD_TOKENDiscord bot token
IPC_BASEIPC base URL
BOT_CONFIG_PATHbot-config.json path
RELAY_URLRelay server URL (enables cloud mode)
RELAY_NODE_TOKENRelay node token

Language Priority

  1. Individual config file (cli-settings.json for CLI, settings.json for GUI)
  2. SABA_LANG environment variable
  3. Default: "en"

File System Paths

PathPurpose
%APPDATA%\saba-chan\Root data directory
%APPDATA%\saba-chan\settings.jsonGUI settings
%APPDATA%\saba-chan\cli-settings.jsonCLI settings
%APPDATA%\saba-chan\bot-config.jsonDiscord bot settings
%APPDATA%\saba-chan\.ipc_tokenIPC authentication token
%APPDATA%\saba-chan\instances\Instance storage
%APPDATA%\saba-chan\modules\Module directory
%APPDATA%\saba-chan\extensions\Extension directory
config\global.tomlGlobal settings (in app directory)