-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Run:
/townyalerts status
Check:
- Towny detected
- DiscordSRV detected
- JDA state
- Discord channel state
- Requested/resolved language
- Storage backend
- Storage state
Run:
/townyalerts test
If this fails:
- Confirm DiscordSRV is connected.
- Confirm the configured value is a Discord channel ID.
- Confirm the DiscordSRV bot can access the channel.
- Confirm the bot has permission to send messages.
- Check the server console for the TownyAlerts warning/error.
DiscordSRV initializes asynchronously.
TownyAlerts supports bounded retries:
retry:
enabled: true
max-attempts: 3
delay-seconds: 5If DiscordSRV never becomes ready, troubleshoot DiscordSRV itself first.
Check:
language: "en"Then run:
/townyalerts reload
Use:
/townyalerts status
to compare the requested and resolved locale.
Remember:
en -> en-us
es -> es-cl
If the selected language does not exist, TownyAlerts falls back to English.
This is expected if the custom pack is missing keys.
Missing keys automatically fall back to en-us.yml.
Compare the custom YAML against the bundled English file.
Check:
storage:
type: sqlite
sqlite:
file: "townyalerts.db"The path must remain inside the TownyAlerts data folder.
Absolute paths and traversal such as ../../ are intentionally rejected.
Then run:
/townyalerts storage test
Check:
- Host
- Port
- Database name
- Username
- Password or environment variable
- Firewall/network permissions
- Database user grants
- TLS/SSL setting
TownyAlerts does not create the database or DB user automatically.
Run:
/townyalerts storage test
TownyAlerts intentionally avoids printing the password.
Example:
storage:
remote:
password: ""
password-env: "TOWNYALERTS_DB_PASSWORD"Make sure the environment variable is available to the Java process that starts the Minecraft server.
Setting it in an interactive shell does not necessarily make it available to a hosting panel, systemd service, Docker container, or Pterodactyl instance.
This is intentional.
Towny timing APIs can determine the scheduled time, but schedule timing alone does not prove that the previous New Day executed.
TownyAlerts only uses stronger wording when it has reliable evidence.
See Missed New Day.
MEMORY mode does not persist deduplication across process restarts.
Use SQLite, MariaDB or MySQL if persistent deduplication across restarts is required.
Folia is not advertised as supported by beta.3.
Do not force-enable unsupported metadata.
Include:
Minecraft:
Server software/build:
Java:
Towny:
DiscordSRV:
TownyAlerts:
Storage backend:
Language:
Then include the smallest relevant console error.
Never publish database passwords, Discord tokens or other secrets in an issue.
TownyAlerts — Community Towny alerts for Discord via DiscordSRV. Created by DynaDev.
TownyAlerts Wiki
- Home
- Installation
- Configuration
- Discord Setup
- Alerts and Events
- Commands and Permissions
- Languages
- Storage
- Missed New Day
- Compatibility
- Troubleshooting
- Security and Privacy
- FAQ
TownyAlerts
Created by DynaDev