Skip to content

Installation

  • A Paper server. The project is built against Paper 1.21.11 and Java 21; the plugin metadata declares API version 1.21.
  • FastAsyncWorldEdit. Solar declares FAWE as a required dependency and uses it to save and paste arena schematics.
  • PlaceholderAPI and Intave are optional. Solar hooks into them when they are installed.
  1. Stop the server and place the Solar jar and FastAsyncWorldEdit in plugins.

  2. Start the server and check the console for dependency or startup errors.

  3. Solar creates its data files on first start: config.yml, language.yml, arenas.yml, kits.yml, and queues.yml. It also creates a schem directory and creates or uses the world named arenas for match instances.

  4. Set the lobby and kit-editor locations in game:

    /solar set-lobby
    /solar set-kit-editor

    Run each command while standing at the location you want to use. The matching permissions are solar.setlobby and solar.setkiteditor.

  5. Add an arena and at least one kit before inviting players to duel. Queues also need to be created, configured, finalized, and enabled before players can join them.

Solar uses the world named arenas to paste match copies. On shutdown, its current cleanup code unloads and deletes that world’s folder. Reserve the name for Solar; do not store builds or player data in a pre-existing world named arenas.

  • Give staff the arena, kit, queue, and Solar permissions listed in the command reference.
  • Set the lobby before enabling the default teleport-to-lobby-on-join behavior.
  • Build and finalize arenas, then make the arenas available to kits.
  • Create kits and finalize them so they are written to kits.yml.
  • Create and finalize queues, then toggle each queue on.
  • Review the database settings before using MySQL, and keep a backup of Solar’s data folder before editing YAML by hand.

/solar reload reloads Solar’s YAML files. Solar loads arenas, kits, and queues into in-memory managers at startup, so restart after manually changing those files to ensure the runtime managers match the saved data. Commands that create or finalize these objects update the live state themselves.

Maintenance mode is temporary and resets to off after a server restart.