Zombie Stats - RaidMax/IW4M-Admin GitHub Wiki
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.
Supported Games
| 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.
What Do I Get for Free?
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).
What Does Premium Add?
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.
Setup
1. Install the GSC Script
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.
2. Install Premium (Optional)
Purchase Zombie Stats Premium and drop the plugin DLL into your IW4MAdmin Plugins folder. It activates automatically on restart — no configuration required.
3. Restart
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.
Using the Web Interface
Leaderboard (Premium)
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.
Match History (Premium)
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
Player Stats (Premium)
When you view a player's stat page on a zombie server, you'll see zombie-specific metrics instead of the standard multiplayer stats.
FAQ
Do I need any other scripts for this to work?
No. The Zombie Stats GSC scripts are completely standalone. You don't need the Game Interface or AntiCheat scripts.
Why can't I see Mystery Box stats on Black Ops?
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.
Can I use the API without Premium?
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.
What happens if I uninstall Premium?
IW4MAdmin keeps working normally. Free stats still track. Your data stays in the database — if you reinstall Premium later, everything comes back.
Do I need to configure anything?
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.
Technical Reference
The sections below are for developers and advanced users who want to integrate with the API or understand what's tracked under the hood.
Tracked Events
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 |
Supported Gametypes
| Game | Gametypes |
|---|---|
| World at War (T4) | zom, cmp |
| Black Ops (T5) | zclassic, zstandard |
| Black Ops II (T6) | zclassic, zstandard, zcleansed, zgrief |
API Endpoints
Free Endpoints
Included in the standard server API:
GET /api/server returns:
isZombieServer(bool) — whether the server is running a zombie gametypezombieRoundNumber(int, nullable) — current round number if a match is in progress
Premium Endpoints
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) |