Installation
Dependencies, the files it writes, the tables it creates, and what to check on the first start.
Installing
Drop in the jars
ExyliaClans.jar, plus ExyliaLib and packetevents, into plugins/.
Add an economy plugin
The bank pays for claims and is read through ExyliaLib's economy bridge. Without one,
/clan deposit and /clan withdraw refuse and no claim can ever be bought.
Decide who protects the land
claims.protection-mode ships as WORLDGUARD. If WorldGuard is not installed, set it to BUILTIN
before anybody claims anything — see Claims.
Start the server
It writes four config files and thirty-seven menu files, and creates thirteen tables.
Grant the command nodes
Nothing is open by default: every subcommand of /clan checks its own permission node. See
Permissions.
Files
| File | Contents |
|---|---|
config.yml | Limits, warmups, the twelve module switches, claims, DTR, levels, boss bars and default-roles. |
messages.yml | Every line the plugin sends, in thirteen sections. |
lfc.yml | Looking-for-clan: cooldowns, expiry, and the questions a player answers. |
lfp.yml | Looking-for-players: cooldowns, expiry, text limits, application limits, and what a clan may ask for. |
menus/*.yml | Thirty-seven screens. |
database.yml | Written by ExyliaLib. H2 by default; MySQL, MariaDB, PostgreSQL and MongoDB are the other engines, with a redis block alongside them. |
config.yml, messages.yml, lfc.yml and lfp.yml are written from typed records on first start,
comments included. A key the reader does not recognise is pruned — except inside default-roles,
levels.level-definitions, levels.kill-streak-bonuses and the two categories blocks, which belong
to you and are never touched.
Tables
| Table | Holds |
|---|---|
clans | One row per clan: name, leader, balance, open, friendly fire, home, banned list, DTR, EXP. |
clan_members | One row per player. The player's UUID is the key, so a player is in one clan by construction. |
clan_roles | Every rank of every clan, with its weight and its comma-separated permissions. |
clan_relations | Directional. Two rows make a mutual alliance; one row makes a rivalry. |
clan_invites | Standing invitations, keyed playerUuid:clanId. |
clan_claims | One rectangle per clan: world, minX, minZ, maxX, maxZ and the height it was made at. |
clan_stats | Kills, deaths and playtime per clan. |
player_stats | The same per player per clan, keyed playerUuid:clanId. |
clan_logs | The audit trail, indexed by clan and timestamp descending. |
clan_mails | The mailbox, with read/deleted tracked per member as UUID lists. |
lfc_profiles | One row per player advertising themselves. |
lfp_postings | One row per clan advertising for members. |
lfp_applications | Applications, keyed playerUuid:clanId. |
Optional integrations
| Plugin | What it changes |
|---|---|
PlaceholderAPI | Registers the exyliaclans expansion, relational placeholders included. |
WorldGuard | Becomes the claim enforcer under protection-mode: WORLDGUARD, and blocks claiming over an existing region. |
TAB | Its team handling is paused for a player while this plugin is colouring them, and resumed when they leave a clan. |
| Economy | The bank. |
Apollo / FeatherServerAPI | Client waypoints for the clan home and for camp and rally markers. |
The first start
Read the console. Three things are reported there and nowhere else:
- Config issues. A key that could not be read is named, once, with what was wrong with it.
default-roles is empty. If you emptied that block,/clan createrefuses rather than making a clan whose leader has no rank. Nothing is written back into the file.- DTR backfill. On the first start after enabling the DTR module, every existing clan sitting at
0.0is given its maximum, and the count is logged.
Updating
Replace the jar and restart. /clanadmin reload re-reads config.yml, messages.yml, lfc.yml and
lfp.yml, rebuilds the level table and recompiles every menu. /exylialib reload also recompiles the
menus, so a palette change made through the library is picked up without a restart.
Changing default-roles only affects clans created afterwards. Clans that already exist keep the ranks
they were made with, because those ranks are rows in clan_roles that the clan has since edited.
Something missing on this page? Tell us on Discord