Skip to content
BlazeZDocs

Event Setup

A ready Paper server for crystal PvP events: lobby, kit, shrinking border and one winner.

Version
1.1.4
Runs on
Paper
Minecraft
26.1.2
Java
25+
On this page

Event Setup is a full server folder for running crystal PvP events. Players wait in a lobby with a live scoreboard. When an event starts, everyone is sent into a freshly generated arena with the kit you set, and a world border shrinks in stages until one player is left. The winner gets a broadcast and a win on their record.

Events start on a timer or by hand from an admin menu. Players who aren't fighting can spectate, and an optional coin system rewards kills with coins to spend on kill messages and sounds.

Permissions#

PermissionLets a playerDefault
event.adminUse every /event command.OP
coins.adminManage coin balances with /coins.OP

/leave and /coinshop need no permission.

Commands#

CommandWhat it doesPermission
/eventOpens the admin menu: start or stop, timer, kit editor, border and spectate.event.admin
/event setlobbySets the lobby to where you stand.event.admin
/event spectateWatches the running event in spectator mode.event.admin
/event reloadReloads config.yml. A broken edit is refused and the old settings stay.event.admin
/leaveLeaves the event you're in. /event leave does the same for admins.None
/coinshopOpens the coin shop.None
/coins <set|add|remove|see> <player> [amount]Manages a player's coins.coins.admin

The coin commands only exist while coins-system.enabled is true.

Configuration#

The event plugin is zEvents. Its files are in plugins/zEvents/: config.yml for everything, and kit-inventory.yml for the kit, which you edit in game from /event.

KeyDefaultWhat it does
required-players2Players needed to start.
automatic-start-up.enabledtrueStart an event every time-in-minutes (default 60) when enough players are online. Starting one by hand resets the timer.
event-waiting-time60Seconds after the teleport before PvP starts.
world-generatorCUSTOMCUSTOM or NORMAL arena generation. CUSTOM is lighter on the server.
difficultyHARDArena difficulty.
glowing.players3The last this-many players glow.
remove-dropped-items-on-wintrueClear dropped items when the event ends.
command-internalgolden apple every 5sConsole commands run on a timer during the event, with %player%.
coins-system.enabledtrueCoins, /coinshop and /coins.
proxy-alerts.bungeecordfalseAdvertise the event on your BungeeCord network before it starts.
event-lobby-locationWhere players wait and return to. Set it with /event setlobby.

Border#

config.yml
world-border-scheduler:
  initial-size: 500
  shrinking-stages:
    stage-1:
      delay-before-start-seconds: 60
      target-size: 400
      duration-seconds: 30
    stage-5:
      delay-before-start-seconds: 300
      target-size: 20
      duration-seconds: 60

Each stage waits delay-before-start-seconds from the start of the event, then shrinks the border to target-size over duration-seconds. The default has 5 stages from 500 blocks down to 20.

Scoreboards#

scoreboards.lobby and scoreboards.event each have a title and lines. Both must be there, and /event reload refuses a config where either is missing. Along with any PlaceholderAPI placeholder, these work:

PlaceholderShows
%event_queue%Players waiting in the lobby.
%event_alive%, %event_dead%Players still in, and out.
%event_border_size%, %event_next_shrink_time%Border size and time to the next shrink.
%event_start_time%Time until the next event.
%event_wins%, %event_coins%The player's wins and coins.

The coin shop sells kill messages and kill sounds, set under coin-shop.

What's included#

  • A Paper 26.1.2 server with its lobby world, spawn.
  • zEvents, the event plugin, set up with the lobby, kit, border and scoreboards.
  • LuckPerms, Vault, EssentialsX and EssentialsX Chat, PlaceholderAPI, TAB, WorldEdit, FastAsyncWorldEdit, WorldGuard, Multiverse-Core, VoidGen, Citizens, FancyHolograms, ajLeaderboards, AutomaticBroadcast, BlockParticles, FreedomChat, spark, ViaVersion and ViaBackwards.

Requirements#

  • Java 25 or newer.

Install#

  1. Unzip the setup where you want the server to live.
  2. Start it with java -jar server.jar, adding the memory flags your host uses. The server port is 25551 in server.properties.
  3. Join, stand in the lobby and run /event setlobby.
  4. Open /event, check the kit in the kit editor and adjust required-players and the border to your player count.
  5. Start a test event from /event with a friend.

On a network#

Add the server to your proxy under a name like event. With proxy-alerts.bungeecord: true, players on your other servers get the messages under proxy-alerts.messages before an event starts, such as "Type /server event to join".

First things to change#

  • The scoreboard footer and winner-message / welcome-message text in config.yml.
  • The kit, from the kit editor in /event.
  • automatic-start-up.time-in-minutes, to fit how often you want events.

Last updated September 23, 2026

Something missing or wrong on this page? Tell us in Discord.