Content generated with AI — it may contain mistakes.

Getting started

Installation

Dependencies, first boot, and the files the plugin generates.

Before you start

ExyliaFFA depends on three plugins that must be in plugins/ before the first boot. If any is missing, the server disables ExyliaFFA and says so in the console.

PluginWhat for
ExyliaLibConfiguration, menus, database, placeholders, effects and actions.
FastAsyncWorldEditSaving and restoring each arena's schematic during regeneration.
packeteventsThe glow on your linked opponent, sent by packets without touching teams.

Optional, but recommended:

  • PlaceholderAPI — to use the plugin's placeholders outside it.
  • ViaVersion — older client versions.
  • ExyliaPracticeCore, ExyliaEvents, ExyliaSandBox — when present, ExyliaFFA respects their state: a player queued for practice, inside an event or in the sandbox cannot join an FFA.

Installing

Drop in the jars

Copy ExyliaFFA.jar and its dependencies into the server's plugins/ folder.

Start the server

The first boot generates the configuration files and the database tables.

Check the console

You should see the load messages: configs, actions, menus, placeholders and listeners. Any unknown key is reported once as UNKNOWN_KEY.

Open the panel

With the exyliaffa.admin permission, run /ffaadmin to open the admin panel.

Generated files

All of them live in plugins/ExyliaFFA/.

FileContents
config.ymlGlobal settings: combat, anti-farmkill, streaks, respawn, commands.
messages.ymlEvery message the plugin sends, grouped by system.
scoreboards.ymlThe sidebar shown inside an arena.
killstreaks.ymlThe streak ladder: what is announced, and from how many kills.
database.ymlDatabase engine. H2 by default, embedded, nothing to install.
menus/The YAML menus, both player-facing and admin.
Arenas are not in a file

Arenas, kits, spawns, statistics, player settings and saved inventories live in the database, not in YAML. They are created and edited from /ffaadmin. That is what lets several servers share one configuration by pointing at the same MySQL.

Database

By default the plugin uses H2: a file inside the plugin folder, with no server, no installation and no maintenance. It is perfectly fine for a single server.

To share data across servers, edit database.yml:

plugins/ExyliaFFA/database.yml
database:
  type: mysql
  settings:
    max-pool-size: 0
  mysql:
    host: 127.0.0.1
    port: 3306
    database: minecraft
    username: root
    password: ""

Supported engines: h2, mysql, mariadb, postgresql and mongodb. Only the block matching type is read. An unrecognised value falls back to h2 and says so in the console.

max-pool-size

Leave it at 0 unless the console reports connection timeouts under load. 0 lets the engine decide, which is almost always the right answer: a bigger pool against a database that is already the bottleneck makes things slower, not faster.

Updating

Replace the jar and restart. Configuration migrations run on their own during the first boot after updating, and your edits survive: only what was renamed or reshaped is moved or rewritten. See Configuration for the detail of each file version.

Something missing on this page? Tell us on Discord