Call of Duty Mapvotes
This project started in March 2020 as a personal challenge. At the time I had almost no experience with GSC modding on Black Ops II, yet I managed to build a working map voting system that lets players vote for the next map or gamemode before each match. I became only the second developer to deliver a functional version for the Plutonium client.
Over time, the same core idea was adapted to many other titles. Each version was written specifically for its client and game logic — there is no single universal script that works across all games. While the concept remains the same, every client requires its own implementation.
Important: The mapvote runs client-side and will not rotate the map by itself. It depends on the server having a working map rotation configured through dvars (such as
sv_maprotation).
Each version of the mapvote was written specifically for its client. Even when two versions exist for what is technically the same game (such as the two active clients for Modern Warfare Remastered), the installation steps and folder structures can differ significantly between teams.
Do not assume you can copy files or scripts from one title to another without modification.
Black Ops II
Installation
Zombies (ZM)
-
Compile the script (not needed on Plutonium)
Compilemapvote.gscusing a GSC compiler. -
Place the compiled file
Copy it to:
%localappdata%\Plutonium\storage\t6\scripts\zm\ -
Server configuration
Paste the content ofmapvote.cfginto your server config (e.g.dedicated_zm.cfg). -
Required Dvars
set mv_maps "zm_tomb zm_buried zm_town zm_busdepot zm_farm zm_transit zm_prison zm_highrise zm_nuked" set mv_enable 1 -
Start the server.
Multiplayer (MP)
-
Compile the script (not needed on Plutonium)
-
Place the file in
%localappdata%\Plutonium\storage\t6\scripts\mp\ -
Add the content of
mapvote.cfgto your server config -
Required Dvars
set mv_maps "mp_studio mp_nuketown_2020 mp_carrier mp_drone mp_slums" set mv_enable 1 set mv_gametypes "dm;freeforall.cfg war;mycustomtdm.cfg" -
Plutonium only – LUI mod support
- Place the
T6Mapvotefolder in%localappdata%\Plutonium\storage\t6\mods\ - Set
fs_gameandmv_luiin your server config
- Place the
Modern Warfare 3
Installation
This version requires compiling with zonetool (the tool is included in the repository).
- Compile the mod using the provided zonetool (
buildZone mod). - Copy the resulting
mod.ffinto your mods folder. - Create an
.iwdcontaining the required images. - Add the content of
mapvote.cfgto your server configuration. - Configure the required Dvars:
set mv_maps "mp_favela mp_rust mp_terminal_cls mp_alpha mp_bootleg mp_bravo mp_carbon mp_dome mp_exchange mp_hardhat mp_interchange mp_lambeth mp_mogadishu mp_paris mp_plaza2 mp_radar mp_seatown mp_underground mp_village" set mv_enable 1 set mv_gametypefiles "TDM_default@FFA_default@SD_default@GG_default" set mv_gametypenames "Team Deathmatch@Free for all@Search & Destroy@Gungame" - Place
mapvote.gscin the scripts folder. - Start the server.
Adding Custom Maps
- Create a preview material +
.iwi - Add the preview to the
.iwd - Update the
getmapnamefunction inmapvote.gsc - Rebuild the mod with zonetool
Modern Warfare Remastered
There are two active clients for this game, maintained by different teams. While the game is the same, the clients have different folder structures and requirements.
H1 Mod
Installation (H1 Mod):
- Place the files in
%localappdata%\h1-mod\scripts\ - Add the content of
mapvote.cfgto your server config - Configure
mv_maps,mv_enable, andmv_gametypes - Restart or reload the script
H2 Mod
Installation (H2 Mod):
- Place the files in
<game>\userscripts\mp\ - Add the content of
mapvote.cfgto your server config - Configure the Dvars as above
Ghosts
Installation
- Place the files in
%localappdata%\xlabs\data\iw6\data\ - Add the content of
mapvote.cfgto your server config - Set the required Dvars (
mv_maps,mv_enable,mv_gametypes) - Start the server
Black Ops
Installation
- Compile the mod using the Black Ops mod tools
- Place the
mod.ffin%localappdata%\Plutonium\storage\t5\mods\YOURMODNAME - Add the content of
mapvote.cfgto your server config - Configure Dvars (
mv_maps,mv_enable,mv_gametypefiles,mv_gametypenames) - Place
mapvote.gscin the scripts folder - Start the server
Adding Custom Maps
- Create a preview material +
.iwi - Add it to the
.iwd - Update
getmapnameinmapvote.gsc - Rebuild and deploy the mod
Advanced Warfare
This version is still experimental. More documentation will be added later.
Black Ops III
This version is still experimental. More documentation will be added later.