LAB/05 — INVENTORY
EventStats
- Price
- $14.99
- Version
- v1.0.2
- Author
- S³Founding MemberTrusted Dev
Changelog
v1.0.220 Aug 2026
No notes for this release.
The problem
You run a dozen event plugins. Each keeps its own numbers, or none at all, and none of them talk to each other. So nobody — not you, not your players — can answer "who is actually playing the content I installed?"
Events end up feeling invisible. Nobody competes over something that keeps no score.
What EventStats does
Listens to the event plugins you already run and records participation, time spent and wins in one place.
Six plugins by direct hook, no polling:
| Plugin | What gets recorded |
|---|---|
| RaidableBases | Every raid entered, and how long each player spent inside |
| BossMonster | One row per boss, by that boss's own name, with damage attribution |
| Triangulation | Time in the event zone, and the winner |
| DungeonEvents | One row per dungeon tier, owner and winners |
| NpcRaiders | One row per raid wave type |
| ExtraEvents | One row per event, with participation by command, item or kit — and winners the same way |
Everything PveMode runs, polled on a timer. PveMode is the hub most PVE servers already use to own their events, and EventStats reads straight out of it. That covers, by name:
AirEvent · ArmoredTrain · ArcticBaseEvent · BossMonster · Convoy · DefendableBases · FerryTerminalEvent · GasStationEvent · HarborEvent · JunkyardEvent · OperationFortress · PowerPlantEvent · SatDishEvent · SuperMarketEvent · TrainYardEvent · WaterEvent
It is not limited to that list. Alongside the named events, EventStats asks PveMode what each online player is currently in, so any event PveMode reports gets a row — including ones released after this plugin was.
Because boss names, dungeon tiers, raid wave types and ExtraEvents identifiers all become rows of their own, a busy PVE server ends up with dozens of tracked events rather than a handful of headings.
What your players see
/eventstats opens the leaderboard UI. Sort it, page it, switch modes, drill into any event, drill into any player.
/playerstats <name|steamid> pulls one person's record — what they joined, what they finished, how they rank.
Events with no activity for a threshold you set drop off the board, so a plugin you unloaded three wipes ago is not still taking up a row.
Features
- Participation, session time and wins across every event system above
- Direct hooks for six plugins, plus everything PveMode manages
- Per-boss, per-tier, per-wave and per-event rows, not one lumped total
- Boss damage attribution, so a kill credits everyone who actually fought
- Full leaderboard UI with sorting, paging and per-event drill-down
- Per-player stats lookup by name or SteamID
/bossstatusfor a live read on boss events/pveapiprints a PveMode API diagnostic to console when something looks wrong- Picks up PveMode automatically if it loads after EventStats does
- Configurable poll interval, page size and inactive-event threshold
- Data written on server save, so a crash does not cost the board
- Oxide and Carbon
- Every supported plugin is optional — EventStats tracks whichever ones it finds
Commands
| Command | Description |
|---|---|
/eventstats | Open the leaderboard UI |
/playerstats <name|steamid> | One player's event record |
/bossstatus | Current boss event state |
/forcepoll | Poll PveMode now instead of waiting for the timer (admin) |
/pveapi | PveMode API diagnostic to console (admin) |
/migratedata | Migrate stored stats |
Configuration
{
"Poll Interval (seconds)": 60.0,
"Inactive Event Threshold (days)": 3,
"Leaderboard Page Size": 15
}Three settings, because everything else is discovered from whatever event plugins are loaded.
Requirements
Oxide or Carbon. No hard dependency: the six hook integrations work on their own, and PveMode is what unlocks the monument and roaming event coverage. Install none of them and the board is simply empty.
Support
Every purchase comes with the private updates channel in our Discord and updates for the life of the plugin. Your licence key and download live on your purchases page the moment payment clears.