mc.pvpers.us
Online
← The Frontier Suite

FrontierEvents

v1.0.1Flagship · minigames

Arena events for survival servers — co-op Boss Rush raids, player-started raid keys, the endless Gauntlet, TDM/FFA, duel tournaments with wagers — with three gear modes and crash-safe isolation.

What it does

An event and minigame engine that runs inside a normal survival world. Boss Rush is the flagship: a party fights trickle-spawned waves of armored mobs up to a phased, scripted boss across six themed raids (plus the endless Gauntlet), with per-wave lives, class kits, cobweb and barricade traps, a Pit difficulty ladder (1–5) that scales mobs, payouts and loot odds, and four-tier RNG loot including above-vanilla-cap Pitforged gear.

Raid Keys let players start their own raids WoW-keystone style with no admin present. TDM/FFA PvP with kits, placeable cobwebs and siegeable fort barricades, and Duel Tournaments (1v1 single-elimination bracket, best-of-3 final, parimutuel wagers) round out the modes.

Every event runs in one of three gear modes[KIT] (provided loadouts, nothing at stake), [BYOG] (bring your own gear, deaths never drop it) or [HARDCORE] (your gear drops where you fall) — behind a click-through consent gate. Two design pillars stand out: no item loss unless explicitly opted into (Boss Rush intercepts fatal hits instead of letting you die; event deaths don’t inflate your real death count; inventories are snapshotted to SQLite on join and restored even after a crash), and the arena never needs a reset (block changes are prevented rather than rolled back; traps decay or are swept; the colosseum is grief-proof even between events). Everything player-facing is GUI-driven, and anyone can spectate a running event.

Requires & integrates with

Required
Paper 26.2+, Java 25+. sqlite-jdbc is downloaded automatically at first boot.
Optional
Vault + any economy (money payouts, wagers, raid-key start costs — without it runs still complete and loot and stats still happen, money is skipped) · FrontierMail (loot that won’t fit or arrives while offline is mailed to /mailbox; otherwise ground-drop, or lost for offline players) · FrontierGraves (stray graves are swept out of the arena at teardown)
Used by
FrontierReputation (uses EventApi to exempt arena combat from murders, bounties and PvP opt-out) · FrontierTab (does not count event deaths) · FrontierGraves (implements GraveApi, refuses to spawn graves in a live event) · FrontierStatsAPI (serves stats.db on /api/events/* and /api/events/pvp/*)

Commands

All three commands are player-only. /event is one command; rows marked Admin are gated on frontier.events.admin inside the command.

CommandWhoWhat it does
/event (also hub, gui)EveryoneWhile an event is live: the Event Hub GUI (join/leave/spectate, kit, team, info); mid-match the join button becomes Spectate. With no event running: the read-only "How Events Work" info board
/event join [team]EveryoneJoin the current event (allowed through the countdown); first join of a BYOG or hardcore event shows the risk warning plus a click-through confirm
/event leaveEveryoneLeave the event (inventory restored; forfeits payout mid-match; the starter walking out of their own key run counts as a wipe)
/event spectate (also watch)EveryoneWatch any event, even mid-match — spectator mode, arena leash, no effect on results or payouts; /event leave to exit
/event kitEveryoneOpen the kit selector (auto-opens on join; picks lock at match start; explains there are none in own-gear events)
/event teamEveryoneOpen the team selector (team modes)
/event key (also keys)EveryoneRaid-key board GUI: your key’s Pit, the six raids with cleared/next/locked status, one-click starts
/event key start <raid> [pit] [kit|byog]EveryoneStart a key run directly; lower Pits than your key = practice runs
/event infoEveryoneCurrent event info, including the gear-mode tag
/event stats [player]EveryoneYour (or another player’s) cumulative Boss Rush and PvP totals
/event leaderboard (also top)EveryoneTop players from stats.db
/event bet <fighter> <amount>EveryoneDuels only: parimutuel stake on the current pairing while the betting window is open (fighters of that match excluded; top-ups OK, no side-switching)
/event create <name> <type> <arena> [teams|raid] [pit] [kit|byog|hardcore]AdminCreate an event; type = BOSS_RUSH, TDM, FFA, KOTH or DUEL; Boss Rush takes a raid key plus optional Pit; a trailing gear word picks the mode (default defaults.gear-mode)
/event start | /event forcestartAdminStart with countdown / start now
/event stop (also cancel)AdminCancel the event (refunds key start fees)
/event forceend [clear|wipe]AdminForce-resolve a stuck live event: default = clear payout, wipe = resolve as a loss (aliases forceresolve, forcepayout)
/event settings <key> <value>AdminTune time, scorelimit, respawn, respawndelay, difficulty, gearmode (only while the lobby is empty), testmode (dev toggle: 1 glass-jaw add per wave and a 30-HP boss)
/event difficulty <n> (also pit <n>)AdminShorthand for settings difficulty <n>
/event adminAdminControl-panel GUI: create wizard (mode → arena → raid → Pit → gear), start/stop, lobby settings, force-join and kick
/event forcejoin <player> [team]AdminAdd an online player to the lobby (skips the consent gate but still warns them)
/event kick <player>AdminRemove a player (inventory restored; win condition re-checked)
/event statedit get|set|add|reset|run …AdminEdit persisted stats rows in stats.db for online or offline players; bare statedit prints the field list
/arena create|delete|setlobby|setspawn|pos1|pos2|setcenter|radius|height|list|infoAdminBuild and inspect arenas: setcenter + radius <x> <z> + height define the elliptical combat ring, pos1/pos2 the outer stands box, setlobby the lobby spawn, setspawn <name> red a combat spawn
/kit list | /kit give <name>AdminList configured kits / give yourself one to test

Permissions

Player features default to true, staff features to op. Every node follows frontier.<plugin>.<action>, so a LuckPerms setup is e.g. lp group default permission set frontier.shop.use true. Wildcards work: frontier.reputation.*.

NodeDefaultGrants
frontier.events.usetrue/event participation subcommands (join, leave, spectate, kit, team, key, info, stats, leaderboard, bet, hub)
frontier.events.adminop/arena, /kit, and the admin subcommands of /event; also lets you start a key run without holding a key
frontier.events.bypassopExempt from the in-event command whitelist and from arena containment / idle grief protection (staff)

Config reference

File

plugins/FrontierEvents/config.yml

To apply changes

Restart required — there is no reload command, config is parsed at enable

Good to know

  • +Arenas are two-zone: an inner elliptical combat ring (setcenter + radius + height) inside an outer stands box (pos1/pos2). Before a match players roam the stands and are kept out of the ring; during it the leash flips to the ring. A box-only arena also works. The whole footprint is build-protected even when idle for anyone without frontier.events.bypass, natural mob spawns are blocked in it, and outsiders are bounced off the combat floor.
  • +Two SQLite files live in plugins/FrontierEvents/: vault.db (inventory snapshots, placed traps — restored and swept on boot after a crash) and stats.db (event_history, event_players, loot_log, payout_log, player_totals, pvp_totals, player_keys, live_event) — the latter is what FrontierStatsAPI serves.
  • +Loot is public, money is private: every drop is broadcast as <name> received <item>, while each earner is whispered their own You earned $X line. Event deaths never touch your real death statistic or spawn a grave.
  • +The legendary loot tier is fully built but disabled in the shipped config (too much permanent power leaking into survival); uncomment the loot.legendary blocks and legendary-chance keys to re-enable it.
  • +The most common owner tweaks are boss-rush.scaling.add-multiplier (lower it for a small server), the rewards money figures if your economy is tighter or looser, defaults.gear-mode, and keys.min-players / keys.daily-starts to control key-run pacing. Remember every edit needs a restart.

Looking for something specific? Search the whole suite.