-
-
Notifications
You must be signed in to change notification settings - Fork 49
Zombie Stats
Zombie Stats tracks your Call of Duty Zombies matches in IW4MAdmin. It records kills, downs, revives, points, power-ups, and more — then shows it all on the web interface so you can see how you and your friends performed.
| Game | Platform |
|---|---|
| World at War | Plutonium T4 |
| Black Ops | Plutonium T5 |
| Black Ops II | Plutonium T6 |
Zombie servers are detected automatically based on gametype. No configuration needed.
The free Zombie Stats plugin is included with every IW4MAdmin installation. It gives you:
- Kill/Death tracking on zombie servers (same stats page you're used to from multiplayer)
- Hit location tracking so you can see your headshot percentage
- Live round display showing the current round number on the server list and API
- Zombie server badge so you can tell which servers are running zombies at a glance
This works out of the box once you install the GSC script on your game server (see Setup below).
Zombie Stats Premium unlocks the full experience:
- Leaderboards — see who reached the highest round, filtered by game, map, and player count
- Map Records — track the best performances across every map (highest round, most kills, best economy, and more)
- Match History — browse your past matches with detailed round-by-round breakdowns
- Event Timeline — visual timeline of everything that happened in a match: downs, power-ups, box hits, perks, purchases. You can filter by category and zoom in
- Full Match View — see every player's stats side-by-side for any match
- In-Game Announcements — automatic broadcasts when someone breaks a record, hits a milestone round, or finishes a match
- Player Stats Page — zombie-specific stats replace the standard multiplayer stats on zombie servers
- REST API — all leaderboard, match history, and record data available for Discord bots, custom dashboards, or community tools
Without Premium, player stat pages on zombie servers show a notice directing you to the store. Everything else in IW4MAdmin continues to work normally.
Copy the script for your game to your Plutonium server's scripts folder:
| Game | Script | Where to Put It |
|---|---|---|
| World at War | _zm_stats_t4.gsc |
%LOCALAPPDATA%\Plutonium\storage\t4\raw\scripts\sp\ |
| Black Ops | _zm_stats_t5.gsc |
%LOCALAPPDATA%\Plutonium\storage\t5\scripts\sp\zom\ |
| Black Ops II | _zm_stats_t6.gsc |
%LOCALAPPDATA%\Plutonium\storage\t6\scripts\zm\ |
Or run deploy.bat from the GameFiles directory to deploy all scripts at once.
You do not need the Game Interface scripts installed. Zombie Stats works independently.
Purchase Zombie Stats Premium and drop the plugin DLL into your IW4MAdmin Plugins folder. It activates automatically on restart — no configuration required.
Restart your game server (to load the GSC script) and IW4MAdmin (to detect the plugin). Stats start tracking as soon as players join a zombie match.
Go to /stats/zombies in the web interface (or click "Zombie Leaderboard" in the navigation menu). Filter by game, map, and player count. Click any entry to see full match details.
A records bar at the top shows notable achievements across all maps.
On any player's stat page, scroll down to see their zombie match history. Each match shows:
- Round-by-round stats (kills, deaths, downs, revives, points, time per round)
- An interactive event timeline you can filter and zoom into
When you view a player's stat page on a zombie server, you'll see zombie-specific metrics instead of the standard multiplayer stats.
No. The Zombie Stats GSC scripts are completely standalone. You don't need the Game Interface or AntiCheat scripts.
Black Ops (T5) has timing issues with its internal mystery box state that cause inaccurate tracking. Box tracking is disabled on T5 to avoid showing wrong data. All other events work fine.
The free server API (GET /api/server) includes isZombieServer and zombieRoundNumber for every zombie server. The dedicated zombie endpoints (/api/zombie/*) require Premium — they return 404 without it.
IW4MAdmin keeps working normally. Free stats still track. Your data stays in the database — if you reinstall Premium later, everything comes back.
No. Both free and premium auto-detect zombie servers and start working immediately. Premium has optional settings for in-game announcements (record broadcasts, round milestones, match summaries) you can tweak if you want.
The sections below are for developers and advanced users who want to integrate with the API or understand what's tracked under the hood.
The GSC scripts emit telemetry for these events:
| Event | T4 | T5 | T6 |
|---|---|---|---|
| Zombie Kills | Yes | Yes | Yes |
| Zombie Damage | Yes | Yes | Yes |
| Player Deaths | Yes | Yes | Yes |
| Downs | Yes | Yes | Yes |
| Revives | Yes | Yes | Yes |
| Perk Purchases | Yes | Yes | Yes |
| Power-up Grabs | Yes | Yes | Yes |
| Weapon Purchases | Yes | Yes | Yes |
| Pack-a-Punch | Yes | Yes | Yes |
| Mystery Box (Take/Pass/Teddy) | Yes | No | Yes |
| Door Purchases | Yes | Yes | Yes |
| Trap Activations | Yes | Yes | Yes |
| Auto Turrets | No | Yes | No |
| Buildables | No | No | Yes |
| Round Progress | Yes | Yes | Yes |
| Points Earned/Spent | Yes | Yes | Yes |
| Game | Gametypes |
|---|---|
| World at War (T4) |
zom, cmp
|
| Black Ops (T5) |
zclassic, zstandard
|
| Black Ops II (T6) |
zclassic, zstandard, zcleansed, zgrief
|
Included in the standard server API:
GET /api/server returns:
-
isZombieServer(bool) — whether the server is running a zombie gametype -
zombieRoundNumber(int, nullable) — current round number if a match is in progress
All under /api/zombie. Return 404 when Premium is not installed.
GET /api/zombie/leaderboard/metadata
Returns available games, maps, and player counts for building leaderboard filters.
GET /api/zombie/leaderboard
| Parameter | Type | Default | Description |
|---|---|---|---|
game |
enum | required | Game code (T4, T5, T6) |
mapId |
int | required | Map identifier from metadata |
playerCount |
int | required | Player count filter |
offset |
int | 0 |
Pagination offset |
count |
int | 25 |
Page size (max 100) |
GET /api/zombie/leaderboard/records?game={game}&mapId={mapId}
Returns stat records for a map (highest round, most kills, etc.).
GET /api/zombie/match/{matchId}
Returns full match detail with all players' stats, round breakdowns, and event timelines.
GET /api/zombie/client/{clientId}/history
| Parameter | Type | Default | Description |
|---|---|---|---|
clientId |
int | required | Player's client ID |
serverEndpoint |
string | null |
Filter by server (optional) |
offset |
int | 0 |
Pagination offset |
count |
int | 10 |
Page size (max 50) |