Configuration
Configuration Files
All settings are stored in %APPDATA%/saba-chan.
GUI Settings (settings.json)
Location: %APPDATA%/saba-chan/settings.json
| Key | Type | Default | Description |
|---|---|---|---|
language | string | "en" | Display language |
discordToken | string | "" | Discord bot token |
discordAutoStart | bool | false | Auto-start Discord bot |
autoRefresh | bool | true | Auto-refresh status |
refreshInterval | number | 2000 | Refresh interval (ms) |
ipcPort | number | 57474 | IPC port (1024–65535) |
consoleBuffer | number | 2000 | Console buffer size |
autoGeneratePasswords | bool | true | Auto-generate empty RCON/REST passwords |
portConflictCheck | bool | true | Port conflict detection |
CLI Settings (cli-settings.json)
Location: %APPDATA%/saba-chan/cli-settings.json
| Key | Alias | Type | Default | Description |
|---|---|---|---|---|
language | lang | string | "" | Display language (empty = follow GUI) |
auto_start | autostart | bool | true | Auto-start daemon/bot on TUI launch |
refresh_interval | refresh | u64 | 2 | Status refresh interval (seconds, 1–60) |
bot_prefix | prefix | string | "" | 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": {}
}
| Key | Type | Description |
|---|---|---|
prefix | string | Bot command prefix |
moduleAliases | object | Module alias mapping |
commandAliases | object | Command alias mapping |
musicEnabled | bool | Music extension toggle |
mode | string | "local" or "cloud" |
cloud.relayUrl | string | Relay server URL |
cloud.hostId | string | Host ID |
nodeSettings | object | Per-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
| Variable | Description |
|---|---|
SABA_IPC_PORT | IPC port override |
SABA_MODULES_PATH | Modules directory path |
SABA_INSTANCES_PATH | Instance storage path |
SABA_LANG | Display language |
SABA_TOKEN_PATH | IPC token file path |
SABA_EXTENSIONS_DIR | Extensions directory path |
DISCORD_TOKEN | Discord bot token |
IPC_BASE | IPC base URL |
BOT_CONFIG_PATH | bot-config.json path |
RELAY_URL | Relay server URL (enables cloud mode) |
RELAY_NODE_TOKEN | Relay node token |
Language Priority
- Individual config file (
cli-settings.jsonfor CLI,settings.jsonfor GUI) SABA_LANGenvironment variable- Default:
"en"
File System Paths
| Path | Purpose |
|---|---|
%APPDATA%\saba-chan\ | Root data directory |
%APPDATA%\saba-chan\settings.json | GUI settings |
%APPDATA%\saba-chan\cli-settings.json | CLI settings |
%APPDATA%\saba-chan\bot-config.json | Discord bot settings |
%APPDATA%\saba-chan\.ipc_token | IPC authentication token |
%APPDATA%\saba-chan\instances\ | Instance storage |
%APPDATA%\saba-chan\modules\ | Module directory |
%APPDATA%\saba-chan\extensions\ | Extension directory |
config\global.toml | Global settings (in app directory) |