promotional bannermobile promotional banner
premium banner
Automated server announcements for Hytale. Welcome messages, scheduled broadcasts, vote reminders, and Discord links. Fully customizable with hex colors, per-message intervals, and hot reload.

Description

EasyAnnounce

Built for the European Hytale survival server at play.hyfyve.net

Automated announcements for your Hytale server! Welcome messages, vote reminders, Discord links - all fully customizable.


Quick Start

  1. Download the latest EasyAnnounce.jar from Releases
  2. Put it in your server's mods folder
  3. Restart your server
  4. Edit mods/cryptobench_EasyAnnounce/config.json to customize
  5. Use /announce reload to apply changes

Features

  • Welcome Messages - Greet players when they join
  • Scheduled Announcements - Vote reminders, tips, Discord links
  • Hex Colors - Full RGB color support with {#RRGGBB}
  • Per-Announcement Intervals - Each message on its own timer
  • Permission Filtering - Show announcements to specific groups
  • Hot Reload - Change config without restarting

Commands

Command What it does
/announce reload Reload config without restart
/announce status See what's running
/announce list List all announcements
/announce toggle <id> Enable/disable an announcement

Configuration

Config file: mods/cryptobench_EasyAnnounce/config.json

The config has two main sections: joinMessages and scheduledAnnouncements.


Join Messages

Messages sent to players when they connect to the server.

"joinMessages": {
  "enabled": true,
  "prefix": "{#55FF55}[Welcome] ",
  "messages": [
    "Line 1",
    "Line 2"
  ]
}
Field Type Description
enabled boolean true to send messages, false to disable
prefix string Text added before each message (can be empty "")
messages array List of messages - each string is a new line

Notes:

  • Use {player} to insert the player's name
  • Use empty strings "" for blank lines
  • All messages are sent in order when a player joins

Scheduled Announcements

Repeating messages broadcast to all online players. Each announcement is independent with its own timer.

"scheduledAnnouncements": [
  {
    "id": "vote",
    "enabled": true,
    "intervalSeconds": 300,
    "prefix": "{#FFAA00}[Vote] ",
    "message": "{#FFFFFF}Vote for us!",
    "permission": ""
  }
]
Field Type Description
id string Unique name for this announcement (used in commands)
enabled boolean true to run, false to disable
intervalSeconds number How often to broadcast (in seconds)
prefix string Text added before the message
message string The announcement text
permission string Only players with this permission see it (empty = everyone)

Common intervals: | Seconds | Time | |---------|------| | 60 | 1 minute | | 300 | 5 minutes | | 600 | 10 minutes | | 1800 | 30 minutes | | 3600 | 1 hour |


Full Example Config

{
  "joinMessages": {
    "enabled": true,
    "prefix": "",
    "messages": [
      "{#55FF55}========================================",
      "{#FFFF55}   Welcome to the server, {player}!",
      "{#55FF55}========================================",
      "",
      "{#55FFFF}Commands:",
      "{#FFFFFF}  /home {#AAAAAA}- Teleport home",
      "{#FFFFFF}  /tpa <player> {#AAAAAA}- Request teleport",
      "",
      "{#AAAAAA}Have fun!"
    ]
  },
  "scheduledAnnouncements": [
    {
      "id": "vote",
      "enabled": true,
      "intervalSeconds": 300,
      "prefix": "{#FFAA00}[Vote] ",
      "message": "{#FFFFFF}Vote for us at {#55FF55}" rel="noopener nofollow" target="_blank">https://example.com/vote",
      "permission": ""
    },
    {
      "id": "discord",
      "enabled": true,
      "intervalSeconds": 600,
      "prefix": "{#7289DA}[Discord] ",
      "message": "{#FFFFFF}Join our Discord! {#7289DA}" rel="noopener nofollow" target="_blank">https://discord.gg/example",
      "permission": ""
    },
    {
      "id": "staff-reminder",
      "enabled": true,
      "intervalSeconds": 900,
      "prefix": "{#FF5555}[Staff] ",
      "message": "{#FFFFFF}Remember to check reports!",
      "permission": "announce.staff"
    }
  ]
}

Colors

Use {#RRGGBB} hex codes anywhere in your messages:

Color Code Example
Green {#55FF55} Success messages
Red {#FF5555} Warnings
Yellow {#FFFF55} Highlights
Gold {#FFAA00} Prefixes
Aqua {#55FFFF} Info
Gray {#AAAAAA} Descriptions
White {#FFFFFF} Normal text
Discord Blue {#7289DA} Discord links

Example:

"{#FF5555}Warning: {#FFFFFF}PvP is enabled!"

Placeholders

Placeholder Replaced with
{player} Player's username (join messages only)

Permissions

Permission What it does
announce.admin Access to /announce commands

Custom per-announcement:

Set "permission": "announce.vip" on any announcement to only show it to players with that permission.


FAQ

Q: How do I change how often an announcement shows?

Change intervalSeconds in the config. Examples:

  • 60 = every 1 minute
  • 300 = every 5 minutes
  • 3600 = every 1 hour

Q: How do I add more announcements?

Add another object to the scheduledAnnouncements array:

{
  "id": "tip1",
  "enabled": true,
  "intervalSeconds": 120,
  "prefix": "{#55FF55}[Tip] ",
  "message": "{#FFFFFF}Your tip here!",
  "permission": ""
}

Q: Can I disable an announcement without deleting it?

Set "enabled": false or use /announce toggle <id>

Q: How do I reload after editing config?

Use /announce reload - no restart needed!

Q: Can I show announcements only to staff?

Set "permission": "announce.staff" and give that permission to your staff group.


License

MIT - Do whatever you want with it!