Zombie Mode is a ProCon 1.0 plugin that turns Team Deathmatch into the Infected or Zombie variant play.
NOTE: the game server must be run in unranked mode (BF3: vars.ranked false, BF4 or BFHL: vars.serverType Unranked). Zombie Mode will not work on a ranked server.
When there are a minimum number of players spawned, all of the players are moved to the human team (US), except for one zombie (RU). With default settings, Zombies can use knife/defib/repair tool only for weapons and Humans can use any weapon except explosives (grenades, C4, Claymores) or missiles; the allowed/forbidden weapon settings are configurable. Zombies are hard to kill. Every time a zombie kills a human, the human becomes infected and is moved to the zombie team. Humans win by killing a minimum number of zombies (configurable) or when all the zombies leave the server. Zombies win by infecting all the humans or when all the humans leave the server.
The maximum number of players is half your server slots, so if you have a 64-slot server, you can have a max of 32 players.
The plugin is driven by players spawning. Until a minimum number of individual players spawns, the match won't start. See Minimum Zombies and Minimum Humans below.
Recommended BF3 server settings are here: https://github.com/m4xxd3v/BF3ZombieMode/wiki/Recommended-server-settings
There are a large number of configurable setttings, divided into sections.
Zombie Mode Enabled: On/Off, default is On.
Command Prefix: Chat text that represents an in-game command, default is !zombie. May be set to a single character, for example @, so that instead of the rules command being !zombie rules, the command would just be @rules.
Announce Display Length: Time in seconds that announcements are shown as yells, default is 10.
Warning Display Length: Time in seconds that warnings are shown as yells, default is 15.
Human Max Idle Seconds: Time in seconds that a human is allowed to be idle (no spawns and no kills/deaths) before being kicked. This idle time applies only when a match is in progress. Since zombies can't win unless they can kill humans, the match can stall if a human remains idle and never spawns. The idle time for humans should therefore be relatively short. The default value is 180 seconds, or 3 minutes.
Max Idle Seconds: Time in seconds that any player is allowed to be idle (no spawns and no kills/deaths) before being kicked, regardless of whether a match is running or not, or whether spawned or not. This idle time applies as long as Zombie Mode is enabled (On). The default value is 600 seconds, or 10 minutes.
Warns Before Kick For Rules Violations: Number of warnings given before a player is kicked for violating the Zombie Mode rules, particularly for using a forbidden weapon type. The default value is 1.
Temp Ban Instead Of Kick: On/Off, default is Off. If On, a rules violation results in a temporary ban for Temp Ban Seconds. If Off, a rules violation results in a kick. In both cases, the punishment happens after Warns Before Kick For Rules Violations warnings have been issued to the violator.
Temp Ban Seconds: Time in seconds that a player is temporarily banned if Temp Ban Instead Of Kick is On. The default value is 3600 seconds, or 1 hour.
Votes Needed To Kick: Number of votes needed to kick a player with the !zombie votekick command or kill a player with the !zombie votekill command. The default value is 3.
Debug Level: A number that represents the amount of debug logging that is sent to the plugin.log file in PRoCon. The higher the number, the more spam is logged. The default value is 2. Note: if you have a problem using the plugin, set your Debug Level to 5 and save the plugin.log for posting to phogue.net.
Rule List: A table of rules, one chat/yell line per rule, displayed when players type the !zombie rules in-game command. The default set of rules reflect the default settings, such as humans not using explosives. Useful for when you change the default weapon limitations for humans and zombies, you can tell players what weapons are allowed or forbidden. Also useful if you want to add more rules, like kicking players for using MAV.
Admin Users: A table of soldier names that will be permitted to use in-game admin commands (see below). The default value is PapaCharlieNiner.
Test Weapon: For debugging the plugin only, type in the name of a weapon and test if Humans or Zombies are allowed to use (ON) or not use (off) that weapon.
Max Players: Any players that try to join above this number will be kicked immediately. Make sure this number is equal to or less than half of your maximum slot count for your game server. For example, if you have a 48 slot server, set the maximum no higher than 24. This is a limitation of BF3 game servers, you can only use half your slots for this mode. The default value is 32.
Minimum Zombies: The number of players that will start a match as zombies. The default value is 1.
Minimum Humans: The number of players that will start a match as humans. The default value is 3. Note: the sum of Minimum Zombies and Minimum Humans (default: 4) is the minimum number of players needed to start a match. Until that minimum number spawns into the round, the Zombie Mode will wait and normal Team Deathmatch rules will apply.
Zombie Kill Limit Enabled: On/Off, default is On. If On, Humans must kill the number of zombies specified in Goal For Humans in order to win. If Off, the last human left standing is the winner.
Deaths Needed To Be Infected: The number of times a human must be killed by a zombie before the human becomes infected and is forced to switch to the zombie team. The default value is 1.
Infect Suicides: On/Off, default is Off. If On, a human that suicides becomes a zombie. If Off, the human stays human but still dies. Neither setting changes suicides for zombies, they are always non-scoring.
New Players Join Humans: On/Off, default is On. If On, any new players that join the server will be force moved to the human team. If Off, any new players that join the server will be force moved to the zombie team.
Rematch Enabled: On/Off, default is On. If On, when a team wins and the match is over, a new match will be started after a short countdown during the same map round/level. Matches Before Next Map will be played before the next map is loaded. When Off, the current map round/level will be ended, the winning team will be declared the winner of the whole round and the next map round/level will be loaded and started. Turning this On makes matches happen quicker and back-to-back on the same map, while turning this Off takes longer between matches, but lets your players try out all the maps in your rotation.
Matches Before Next Map: The default value is 3. If Rematch Enabled is On, this is the number of matches that are played in the same map round/level before the next map is loaded. This assumes the map list is set up to only play eacy map level 1 round.
Goal For Humans
If Zombie Kill Limit Enabled is On, humans musts kill the specified number of zombies in order to win. The kill goal is adaptive to the number of players in the match, specified in intervals of four, as follows:
Kills If 8 Or Less Players: the default value is 12.
Kills If 12 To 9 Players: the default value is 18.
Kills If 16 To 13 Players: the default value is 24.
Kills If 20 To 17 Players: the default value is 30.
Kills If 24 To 21 Players: the default value is 35.
Kills If 28 To 25 Players: the default value is 40.
Kills If 32 To 29 Players: the default value is 50.
Human Damage Percentage
At the start of a match, when there is only one or a very few zombies, zombies have to be very tough and hard to kill or else they will never get close to a human to infect them. This is implemented with vars.bulletDamage. The values of the following settings specify the vars.bulletDamage depending on the number of zombies that the humans face. The lower the numbers, the harder the zombies are to kill.
Against 1 Or 2 Zombies: the default value is 5. When humans outnumber zombies 3-to-1 or more (e.g., 18 vs 1).
Against A Few Zombies: the default value is 15. When humans outnumber zombies between 3-to-1 and 3-to-2 (e.g., 12 vs 7).
Against Equal Numbers: the default value is 30. When humans and zombies are roughly equal in number, betwee 3-to-2 and 2-to-3 (e.g., 8 vs 11).
Against Many Zombies: the default value is 50. When zombies outnumber humans between 3-to-2 and 4-to-1 (e.g., 5 vs 14).
Against Countless Zombies: the default value is 100. When zombies outnumber humans 4-to-1 or more (e.g., 2 vs 17).
This is a lists of weapon types zombies are allowed to use. Weapons that are On are allowed, weapons that are Off are not allowed and will result in warnings and a kick if a zombie player uses them. The default settings allow knife, melee, defib and repair tool and do not allow anything else.
This is a lists of weapon types humans are allowed to use. Weapons that are On are allowed, weapons that are Off are not allowed and will result in warnings and a kick if a human player uses them. The default settings are all guns allowed and do not allow explosives (grenades, C4, claymore, M320 noob tube, etc.) or missiles (RPG, SMAW).
These are in-game commands for managing players and the mode. Some are available to all players, some are for admins only (see Admin Users in Settings). For all of the following descriptions, the default Command Prefix of !zombie is assumed. If you set a different prefix, substitute your prefix into the following.
Commands for all players
!zombie help: Shows list of commands available to the player.
!zombie idle: Shows how long the player typing the command has been idle (no spawns and no deaths/kills) and whether or not the player is spawned into the round.
!zombie rules: Scrolls all of the Zombie Mode rules to the player.
!zombie status: Shows the status of the match to the player, for example, if the mode is waiting for more players to join, or if it is Idle (waiting for a player to spawn so that it can reset), counting down to the next match, etc. If a match is in progress (Playing), it also shows some statistics for the match, for example:
Where N is the number of players on that team, K is the number of zombies the humans have killed, G is the number of zombies the humans need to kill to win, and D is the current bullet damage. If there are votekicks or votekills against you, the current vote counts will also be shown.
!zombie warn name reason: Sends a warning yell to the player with the specified name. The reason is one or more words. For example:
!zombie warn PapaCharlie9 Quit glitching u noob!
will yell the message 'Quit glitching u noob!' to PapaCharlie9.
!zombie votekick name: Adds a vote to kick the player with the specified name. Only one vote is counted per voter. Once Votes Needed To Kick votes have been reached, the player is kicked. Votes are cleared after the player is kicked.
!zombie votekill name: Adds a vote to kill the player with the specified name. Only one vote is counted per voter. Once Votes Needed To Kick votes have been reached, the player is killed. The kill does not count for scoring or infection. Votes are cleared after the player is killed. This is useful when humans camp in a spot unreachable by zombies without using an illegal weapon. The zombies can vote to kill the human, which forces him to spawn in a random location.
Commands for Admins only
!zombie force: Force a match to start, even if there are not enough players. Useful if players aren't spawning fast enough to get a match started or if the plugin gets into a confused state (please report a bug so we can fix it).
!zombie heal name: Kills the player with the specified name and if they are on the zombie team, force moves them to the human team. Useful for correting mistakes that the plugin might make (please report a bug so we can fix it).
!zombie infect name: Kills the player with the specified name and if they are on the human team, force moves them to the zombie team. Useful for dealing with human glitchers or idlers.
!zombie kick name reason: Kicks the player with the specified name. The reason is one or more words. For example:
!zombie kick PapaCharlie9 Too much glitching!
will kick PapaCharlie9 for 'Too much glitching!'. Useful to get rid of cheaters.
!zombie kill name: Kills the player with the specified name. Useful to force a glitcher to respawn or a player ignoring warnings to pay more attention.
!zombie mode on/off: Changes the Zombie Mode Enabled setting. Useful if you want to switch a normal TDM round to Zombie Mode or vice versa.
!zombie next: Ends the current map round/level and loads the next map round/level. Useful to try a new map if you have Rematch Enabled set to On.
!zombie rematch on/off: Changes the Rematch Enabled setting
!zombie restart: Restarts the current map round/level. Useful if the tickets/kills for TDM are getting close to the maximum to end a normal TDM round, which might happen in the middle of a quick rematch.