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 gametype
  • zombieRoundNumber (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)