Setup & Configuration
Installation
- Build Athena with Gradle from the project root.
- Install the built Paper plugin jar into the server
pluginsdirectory. - Install PlaceholderAPI and ActionBarAPI-Plus.
- Start the server once so Athena can generate its config files.
- Configure spawn, regions, kits, timers, shops, perks, events, warps, and other server-specific values.
Athena targets Paper API 1.20 and declares hard dependencies on PlaceholderAPI and ActionBarAPI-Plus in paper-plugin.yml.
Building
From the repository root:
./gradlew build
The Paper module is the deployable server plugin module.
Data Storage
The storage type is read from credentials.yml.
Supported enum values:
| Value | Current runtime status |
|---|---|
SQLITE |
Active and registered. This is the usable storage backend. |
MYSQL |
Config and some repositories exist, but runtime module registration is not wired. |
MONGODB |
Config and some repositories exist, but runtime module registration is not wired. |
Runtime SQLite modules register storage for kits, regions, profiles, killstreaks, clans, timers, and warps.
Athena autosaves cached data every 60 seconds. Data is also saved during relevant lifecycle operations such as player quit.
Generated Config Files
Athena loads these config files on startup:
| File | Purpose |
|---|---|
config.yml |
Global options, including off-hand soup usage and reload messages. |
credentials.yml |
Storage backend and database credentials. |
kit.yml |
Kit messages and kit menu behavior. |
region.yml |
Region wand, flags, and protection messages. |
soup.yml |
Soup healing, death soup drops, and refill signs. |
ability.yml |
Ability item names, materials, cooldowns, durations, and effect values. |
spawn.yml |
Spawn location, spawn timer messages, and teleport behavior. |
build-mode.yml |
Build mode messages and protection behavior. |
clan.yml |
Clan names, tags, member roles, chat, colors, and kills. |
kill-streak.yml |
Killstreak milestones, reward behavior, and built-in reward command values. |
credit.yml |
Credit messages and economy command output. |
bounty.yml |
Bounty placement, claim, and formatting messages. |
death-messages.yml |
Custom kill/death message formats. |
chat.yml |
Global chat format rendered through PlaceholderAPI. |
timer.yml |
Combat and spawn timer names, durations, and action bar text. |
shop.yml |
Shop prices, bartender prices, and purchase messages. |
perk.yml |
Perk costs, tiers, slots, chances, and effect values. |
juggernaut.yml |
Juggernaut equipment, bounty bonus, and broadcast text. |
statistics.yml |
Statistics menu and command formatting. |
coinflip.yml |
Coinflip wager rules, permissions, cleanup, and broadcasts. |
options.yml |
Player option menu and toggle text. |
tier.yml |
Tier menu text, experience per kill, and tier display. |
events.yml |
Event host menu and sumo arena/settings. |
trail.yml |
Trail menu, prices, particles, and unlock behavior. |
leaderboards.yml |
Leaderboard menu entries and PlaceholderAPI formats. |
profile.yml |
Profile loading/saving and player data messages. |
warp.yml |
Warp menu, teleport timer, permissions, lore, and messages. |
Many bundled YAML files are intentionally minimal. Defaults are generated from the matching *Config.java classes.
Spawn and Regions
Set the server spawn with:
/setspawn
Create safe zones with /region. Safe-zone regions drive the lobby flow: players receive the lobby hotbar inside safe zones and receive their kit when they leave.
Reloading
Use:
/reloadathena
This reloads Athena config values and sends the configured reload message. Restart the server after changing dependencies, plugin jars, storage backend code, or anything that requires module re-registration.
Resetting Player Data
Use:
/resetathenaplayerdata
This command clears cached and stored player-focused data:
- Profiles
- Clans
- Kit allowed-user lists
- Timer player maps
- Active coinflips
- Security guards
It also kicks online players after the reset. Server-owned objects such as kits, regions, killstreak definitions, timers, and warps are preserved except for per-player kit ownership.
Documentation Site
The docs project lives in toReference/Athena. To build it locally:
cd toReference/Athena
mkdocs build
The included build.sh builds the MkDocs site and deploys it to /var/www/athena-docs.