Overview, installation & commands
Eranio Published on: 19. October 2026
Achievements (Hytale): Overview, installation & commands
Achievements is a Hytale server plugin that tracks what players do in the world and rewards them with achievements. It runs entirely on your own server, there is no outside connection required.
How it works
The plugin watches player activity on your server (building, mining, combat, crafting, exploration, trading, sleeping, mounts and more) through its own trackers and compares it against a built in catalog of achievements. Progress and unlocks are stored per player. No database is required, everything is stored as files in the plugin data folder, with MySQL available as an option.
Installation
The jar can be installed on the Setup page of Hytale Admin as an optional plugin, or downloaded manually.
- Download the current version (
Achievements-Hytale-1.0.3.jar) fromhttps://eranio.de/downloads/hytale/, together withachievements-latest.jsonfor version checks, and copy it into themodsfolder of your Hytale server. - Start the server once. The plugin creates its data folder
mods/Eranio_Achievements/with aconfig.jsoninside. - Adjust
config.jsonif needed and restart the server.
The jar is signed. The signature is stored in META-INF/MOD.SIG (SHA256withRSA over all jar entries, sorted by name).
Configuration (config.json)
| Field | Type | Default | Description |
|---|---|---|---|
language |
String | en |
Language of the in game window, chat messages and notifications (en or de) |
storage.type |
String | file |
file stores everything in the data folder. mysql uses the database below. If the database cannot be reached, the plugin falls back to files automatically |
storage.host |
String | localhost |
MySQL host, only used with "type": "mysql" |
storage.port |
Number | 3306 |
MySQL port |
storage.database |
String | achievements |
MySQL database name. Tables are created automatically with the prefix ach_ |
storage.username |
String | empty | MySQL username |
storage.password |
String | empty | MySQL password |
liveFeed.enabled |
Boolean | false |
Off by default. When on and url is set, the plugin polls your own feed once a minute and the livestream category becomes visible. When off, the livestream achievements are hidden |
liveFeed.url |
String | empty | Address of your own feed |
liveFeed.token |
String | empty | Token sent as Authorization: Bearer <token> |
liveFeed.minutesToCount |
Number | 10 |
Minutes a player has to be online during a stream for it to count |
liveFeed.earlyMinutes |
Number | 10 |
Window at the start of a stream that still counts as "on time" |
pioneerLimit |
Number | 50 |
The first players up to this number receive the pioneer achievement |
timezone |
String | UTC |
Time zone for daily login streaks, for example Europe/Berlin |
announceInChat |
Boolean | true |
Announce server milestones and server firsts to everyone in chat |
The live feed must answer GET <url>?game=hytale&since=<last_id> with JSON like:
{ "live": true, "session": "abc123", "started_at": "2026-10-18T20:00:00Z", "last_id": 42, "hits": [ { "player": "Steve" } ] }
Own achievements
Create mods/Eranio_Achievements/achievements-custom.json with the same structure as the bundled achievements.json to add new achievements or override existing ones by id.
Data files
| File | Content |
|---|---|
config.json |
Configuration |
players/<uuid>.json |
Progress, counters and unlocks of a player |
server.json |
Server wide counters and server firsts |
Damaged files are renamed to *.corrupt.json and a fresh profile is started, so a broken file never stops the server.
Commands
| Command | Description |
|---|---|
/achievements |
Opens the achievements window. Alias: /erfolge |
/achievements title <id> |
Shows an unlocked achievement as your in game title. Also accepts titel |
/achievements title |
Removes your title |
No permission is required for any of these commands. Every player can open the window and set a title from their own unlocked achievements.