Skip to content
DynaDev edited this page Aug 12, 2026 · 1 revision

TownyAlerts Wiki

TownyAlerts is a lightweight community addon for Towny, created by DynaDev.

It listens to official Towny events and sends administrative alerts to Discord through the server's existing DiscordSRV connection.

TownyAlerts is intentionally observational: it does not change Towny taxes, upkeep, balances, towns, nations, residents, or New Day processing.

What TownyAlerts can report

  • Towny New Day summaries
  • Town bankruptcies
  • Towns entering ruins
  • Fallen towns and nations reported by Towny
  • Missed/scheduled New Day notices after downtime
  • Optional persistent event history and deduplication

Main features

  • Discord integration through DiscordSRV
  • No additional Discord bot token
  • No webhook required
  • Per-event Discord channel routing
  • Dynamic language packs
  • American English and Latin American Spanish included
  • Custom community translations
  • MEMORY, SQLite, MariaDB and MySQL storage
  • Asynchronous Discord and storage operations
  • Failure isolation: Discord/database failures do not interfere with Towny
  • No telemetry
  • No external update checker

Requirements

  • Towny
  • DiscordSRV
  • Java 17 or newer, depending on the Minecraft/server version
  • Paper or Purpur for the supported modern Towny range

Quick start

  1. Install Towny and DiscordSRV.
  2. Place the TownyAlerts JAR in the server's plugins/ directory.
  3. Start the server once.
  4. Edit plugins/TownyAlerts/config.yml.
  5. Set the Discord channel ID.
  6. Restart the server or run /townyalerts reload.
  7. Test the integration with /townyalerts test.

Default behavior

TownyAlerts works without an external database.

storage:
  type: memory

The default language is English:

language: "en"

en resolves to the bundled en-us.yml language pack.

Important design rule

TownyAlerts never assumes that a Towny action succeeded just because its scheduled time passed.

Normal runtime alerts come from official Towny events. Missed New Day recovery distinguishes between a scheduled time that has passed and a New Day that can be independently confirmed.

Use the sidebar to continue through the documentation.

Clone this wiki locally