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
- Download the latest
EasyAnnounce.jar from Releases
- Put it in your server's
mods folder
- Restart your server
- Edit
mods/cryptobench_EasyAnnounce/config.json to customize
- 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!