config.json Reference
The main configuration file is located at config/AetherLink/config.json.
Full Example
{
"botToken": "YOUR_BOT_TOKEN_HERE",
"channelConfigs": [
{
"channelId": "123456789012345678",
"readOnly": false,
"syncWithOtherChannels": true,
"enabled": true
},
{
"channelId": "987654321098765432",
"readOnly": true,
"syncWithOtherChannels": false,
"enabled": true
}
],
"syncEnabled": false,
"linking": {
"enabled": true,
"codeExpirationSeconds": 300
},
"spamControl": {
"discordCooldownSeconds": 2,
"hytaleAggregateSeconds": 2
}
}
Options
botToken
Type: string
Default: "YOUR_BOT_TOKEN_HERE"
Your Discord bot token. Get one from the Discord Developer Portal.
!!! warning Never share your bot token publicly. If exposed, regenerate it immediately.
channelConfigs
Type: array
A list of Discord channels the bot will use. Each channel has its own settings.
Channel Options
| Option | Type | Default | Description |
|---|---|---|---|
channelId |
string | "" |
The Discord channel ID |
readOnly |
boolean | false |
If true, messages from this channel are not sent to Hytale. Hytale messages still appear in this channel. |
syncWithOtherChannels |
boolean | true |
If true and syncEnabled is true, messages from this channel are forwarded to other synced channels. |
enabled |
boolean | true |
If false, the channel is completely ignored. |
How to get a Channel ID:
- Enable Developer Mode in Discord (Settings → Advanced → Developer Mode)
- Right-click the channel → Copy Channel ID
syncEnabled
Type: boolean
Default: false
When true, messages sent in one Discord channel are forwarded to all other channels that have syncWithOtherChannels: true.
!!! note You need at least 2 channels configured for sync to work.
linking
Type: object
Settings for Discord-to-Hytale account linking.
| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the linking feature |
codeExpirationSeconds |
integer | 300 |
How long a linking code is valid (in seconds) |
!!! info The linking feature is not yet implemented. These settings are reserved for future use.
spamControl
Type: object
Settings to prevent spam and rate-limit messages.
| Option | Type | Default | Description |
|---|---|---|---|
discordCooldownSeconds |
integer | 2 |
Sets Discord channel slowmode (seconds between messages per user) |
hytaleAggregateSeconds |
integer | 2 |
Groups duplicate Hytale events (e.g., rapid join/leave) within this window |
How Spam Control Works
Discord Slowmode:
The bot automatically sets the configured slowmode on all enabled channels. Requires Manage Channel permission.
Hytale Aggregation:
If the same event (e.g., player join) occurs multiple times within the window, it's sent to Discord as a single message like:
→ PlayerName joined the server. (x3)
Default Config
When you first run AetherLink, it creates this default config:
{
"botToken": "YOUR_BOT_TOKEN_HERE",
"channelConfigs": [],
"syncEnabled": false,
"linking": {
"enabled": true,
"codeExpirationSeconds": 300
},
"spamControl": {
"discordCooldownSeconds": 2,
"hytaleAggregateSeconds": 2
}
}
You must set botToken and add at least one channel to channelConfigs for the plugin to work.