Installation
Dependencies, first boot, the files it writes and the tables it creates.
Before you start
Three plugins must be in plugins/ before the first boot.
| Plugin | What for |
|---|---|
ExyliaLib | Configuration, database, menus, holograms, scoreboards, placeholders, rewards, schematics. |
FastAsyncWorldEdit | Saving each arena as a schematic, restoring it after a game, and cloning it. |
packetevents | The packet layer behind the client-side effects. |
Optional, and each only adds something:
- PlaceholderAPI — read the plugin's counters elsewhere.
- ExyliaProxyUtils — only for a network: what moves a player to the server an event is on. See Network.
- Worlds — how the auto world is created on Folia. Off Folia the plugin creates it through Bukkit itself and this is not needed.
- ExyliaPracticeCore, ExyliaFFA, ExyliaSandBox — a player busy in one of those cannot be pulled into an event, and the other way round.
- ViaVersion, WorldGuard, TAB, floodgate, Apollo, Feather — load-order declarations for servers that run them.
Installing
Drop in the jars
ExyliaEvents.jar plus the three dependencies into plugins/.
Start the server
The first boot writes four configuration files and creates the tables.
Set the main lobby
From /eventsadmin, set the lobby players return to when they leave an event.
Create your first event
Covered in First steps.
Generated files
In plugins/ExyliaEvents/:
| File | Contents |
|---|---|
config.yml | Language, limits, cooldowns, timers, command whitelist, world rules, random events, music. |
lang/<code>/messages.yml | Every message, with a section per event type, including its boss bars and titles. |
lang/<code>/scoreboards.yml | One sidebar per event type, plus the lobby sidebar. |
lang/<code>/buildbattle-themes.yml | The themes Build Battle votes on. |
lang/<code>/trivia-questions.yml | The questions Trivia asks. |
lang/<code>/menus/ | Menu layouts: the admin panel, one settings screen per type, and the player menus. |
<code> is the language the plugin runs in: en, es, pt or fr, or ExyliaLib's own language
while config.yml says language: default. See
Configuration · language.
Tables
| Table | Holds |
|---|---|
event_configurations | The configured events. |
events_player_stats | Global player statistics. |
events_player_event_stats | Statistics per player per event. |
events_player_preferences | Per-player preferences, currently the music toggle. |
events_settings | The single settings row an older version wrote, read once and adopted. |
events_server_settings | Per-backend settings, currently each server's main lobby location. |
event_kits | Kits belonging to a configuration. |
event_loot_entries | Loot tables for chest-based types. |
event_inscriptions | Sign-up lists. |
event_pending_rewards | Rewards owed to players who were offline. |
Database engine
Default is H2, embedded. To share configurations and statistics between servers, point
database.yml at a real database:
database:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: ""Engines: h2, mysql, mariadb, postgresql, mongodb.
Configurations travel through the database, but the .schem files behind them live on each server's
disk. A second server reading the same database still needs those files to restore or clone an arena.
Backups
/eventsadmin export dumps every table into plugins/ExyliaEvents/dumps/ and reports how many rows
it wrote. /eventsadmin import <filename> reads one of those files back from the same folder. Worth
doing before a risky change on a live server, and it is also how a set of configurations moves between
database engines.
Updating
Replace the jar and restart. config.yml is versioned and migrates itself — see
Configuration · Migrations.
Something missing on this page? Tell us on Discord