Battlefield Hardline:
Basic Server Configuration

Maps, Game Modes and Variables explained.

Battlefield Hardline: Basic Server Configuration

This article will explain the most basic configuration of your Battlefield Hardline server. All important data is extracted from the official server documentation.


Official Documentation

Download @ Cloud Download @ Source


[01] Maps & Game Modes

Battlefield Hardline offers different maps of which each map is available in every base game mode.

Engine name Readable name Limitations
mp_bank Bank Job No Hotwire
mp_bloodout The Block No Hotwire
mp_desert05 Dust Bowl
mp_downtown Downtown
mp_eastside Derailed
mp_glades Everglades
mp_growhouse Growhouse No Hotwire, No Conquest Large
mp_hills Hollywood Heights
mp_offshore Riptide

[02] Base Game Modes

In this list you can see the different base game modes available in Battlefield Hardline.

Engine name Readable name Intended player count [+Commanders] (+Spectators)
TurfWarLarge0 Conquest Large Up to 32 [+2] (+4)
TurfWarSmall0 Conquest Small Up to 32 [+2] (+4)
Heist0 Heist Up to 32 [+2] (+4)
Hotwire0 Hotwire Up to 32 [+2] (+4)
Bloodmoney0 BloodMoney Up to 32 [+2] (+4)
Hit0 Crosshair Up to 10 (+4)
Hostage0 Rescue Up to 10 (+4)
TeamDeathMatch0 Team Deathmatch Up to 64 (+4)

[03] Server Experiences

BFH offers you specific server experiences which set premade game modes and map rotations. If you want to create more like a custom server you have to remove that line from your Startup.txt

Engine name Readable name
+vars.mpExperience TWL Conquest Large
+vars.mpExperience TWS Conquest Small
+vars.mpExperience HEIST Heist
+vars.mpExperience HOTWIRE Hotwire
+vars.mpExperience BLOODMONEY Blood Money
+vars.mpExperience TDM Team Deathmatch
+vars.mpExperience HIT Crosshair
+vars.mpExperience HOSTAGE Rescue

[04] Startup Script

Your Gameserver will run through the startup script called Startup.txt while booting and setting all pre-defined variables and it's values. You can see the list of available vars below.

When a server starts without being configured by an admin, it will default being Official. You can change that by setting it to Ranked or Unranked.

Setting Value Description
vars.serverName "YOUR_SERVER_NAME" Controls the name of the server, as seen in the server browser.
admin.password "YOUR_RCON_PASS" Defines the RCON password for server console.
vars.serverDescription "YOUR_SERVER_DESCRIPTION" Defines the description of your server displayed in Battlelog.
vars.serverMessage "YOUR_WELCOME_MESSAGE" Defines a welcome (yell) message if a player joins the server.
vars.serverType "OFFICIAL", "RANKED" or "UNRANKED" Sets the server type to another value.
vars.preset "NORMAL", "HARDCORE" or "CUSTOM" (true/false) Sets the server preset to another value. true/false sets the <lockPresetSetting>. On true this overrides any settings that conflicts with the preset.
vars.gamePassword "YOUR_PASSWORD" If set, players must enter this password when connecting to the server. Only works on Unranked servers.
vars.unlockMode "all", "common", "stats" or "none" Which set of unlocks is available on an unranked server. Excluding Syndicate weapons (etc). ("all" = All weapons which the player could possibly unlock by playing ranked games; this includes weapons in any DLCs which the player has purchased; "common" = The set of weapons which is not part of any DLCs or special campaigns; this is a safe subset for matches; "stats" = The same set of weapons which the player has available in a ranked match; "none" = Only the base set of weapons)
reservedSlotsList.aggressiveJoin true/false If a member on the "ReservedSlotsList.txt" joins a random player will be kicked.
fairFight.activate On official settings this is automatically set to active.
punkBuster.activate On official settings this is automatically set to active.

vars.friendlyFire false true/false true/false When set, people can inflict damage on others in the same team.
vars.IdleTimeout 300 225-86400 30-86400 Sets the time in seconds how long a player can idle before kick.
vars.autoBalance true true true/false Sets auto balancing teams.
vars.teamKillCountForKick 5 4-10 1-99 Sets the value for getting kicked on a team kill. friendlyFire must be on.
vars.teamKillKickForBan 3 3-10 1-99 Sets the value for getting banned on a team kill. friendlyFire must be on.
vars.vehicleSpawnAllowed true true/false true/false When set, vehicles will spawn in-game.
vars.regenerateHealth true true/false true/false When set, health regeneration is enabled.
vars.onlySquadLeaderSpawn false true/false true/false When set, players can only spawn on the squad leader.
vars.minimap true true/false true/false When set, a minimap is available in the bottom‐left corner of the screen during play.
vars.hud true true/false true/false When set, the hud is present.
vars.miniMapSpotting true true/false true/false When set, spotted targets are marked with icons on the minimap.
vars.3dSpotting true true/false true/false When set, spotted targets are marked with icons in the 3D world.
vars.killCam true true/false true/false When set, a killed player gets to see a close‐up of his/hers killer for a few seconds.
vars.3pCam true true/false true/false When set, 3rd person vehicle cameras are enabled.
vars.nameTag true true/false true/false When set, nametags are rendered over players’ heads in the 3D world.
vars.hitIndicatorEnabled true true/false true/false Shows you on screen if an enemy got hit by your shots.
vars.playerRespawnTime 100 (%) 75-125 (%) 1-300 (%) Controls player respawn delay; specified in percent.
vars.soldierHealth 100 (%) 60-125 (%) 1-300 (%) Sets maximum soldier health, specified in percent (0-100%; 100% = normal).
vars.bulletDamage 100 (%) 75-125 (%) 1-300 (%) Controls bullet damage; specified in percent (0-100%; 100% = normal).
vars.forceReloadWholeMags false true/false true/false -
vars.roundStartPlayerCount 4-8 4-8 1-10 When the server is in pre-round, it waits for this many players to be present until it proceeds to start the real round. This value must be higher than the roundRestartPlayerCount.
vars.ticketBleedRate 100 (%) 75-125 (%) 1-300 (%) Controls the rate of which tickets drop when the majority of control points are held by a team (100% = normal).
vars.hacker true true/false true/false When set hacker is enabled.
(ATTENTION: This setting is currently bugged. If you set to false your server won't boot.)
vars.gameModeCounter 100 (%) 75-400 (%) 1-500 (%) Controls the number of tickets required to end round (100% = normal).
vars.vehicleSpawnDelay 100 (%) 25-400 (%) 1-500 (%) Controls the delay between vehicle spawn; specified in percent.
vars.roundTimeLimit 100 (%) 50-300 (%) 0-900 (%) Controls the amount of time a round will play (100% = normal).
vars.roundStartReadyPlayersPercent 35 (%) 0-50 (%) 0-100 (%) Sets how many players are required to be ready before the round starts.
vars.teamSwitchingAllowed true true/false true/false Controls if team switching is allowed or not
vars.requireReadyPlayersToStart false true/false true/false Defines if players have to press "READY" before starting a round.
vars.roundWarmupTimeout 45 30-60 5-90 Controls how long the warmup timeout is.
vars.killFeed true true/false true/false When set, the kill feed is enabled.
vars.roundsToWin 5 4-7 2-100 Sets the amount of rounds required to win (Crosshair/Hostage).
vars.alwaysAllowSpectators true true/false true/false On official settings this is set to true. If the server is hosted with another server type then this command can be set to false. If this is the case, then only players that are in the spectatorList.txt can join the server as a spectator.
vars.maxSpectator 0-4 0-4 0-4 Sets the server max spectator cap.
vars.maxPlayer 10-64 10-64 0-64 Sets the servers max player cap.
vars.playerManDownTime 100 (%) 100 (%) 2-10000 (%) Controls man-down time in percent.
vars.roundRestartPlayerCount 0-64 0-64 0-64 Minimum players before a current round aborts (2 = normal).
vars.roundLockdownCountdown 10-30 10-30 10-900 Defines the timer when a match is starting (10 = normal).
vars.idleBanRounds 0-999999999 0-999999999 0-999999999 Defines how often a player is being kicked before getting banned for idle.

[05] Game queue and VIP (Reserved Slots)

If a game server is full people who join will be placed in a queue. There are some options to control how people are added from the queue.

Priority order:

  • VIP players (players added to the reservedSlotsList)
  • Premium players (players who have bought premium)
  • Normal players

If players are added to the reservedSlotsList the will be moved in ahead of normal and Premium players.

If reservedSlotsList.aggressiveJoin is set to true and a VIP enters the queue the server will kick a non‐VIP from the game to make room for the queued VIP. The server will first try to kick a non‐ VIP player who is not in a group and first if no such player could be found will it kick a grouped non‐ VIP. When kicking a players we do not make any distinguish between Premium and Normal players. A normal or Premium player joining the queue will never trigger a kick.

ReservedSlotsList.txt format

Each line should have one player name. There can be a maximum of 500 entries in the list.

[06] Map Handling

BFH PC game servers are designed to rotate through a sequence of maps. The exact configuration is specified in the server’s internal map list. Some game modes will not work properly if there are more players on the server than the game mode is designed for. Check [02] Base Game Modes for more information.

Upon startup, the Admin/MapList.txt file is read.

Admin/MapList.txt format

Each line in the file has three entries: the map name, the game mode, and the number of rounds to be played on the map until proceeding to the next map in the list.


levels/mp/mp_bank TurfWarLarge0 1
levels/mp/mp_glades Heist0 1
levels/mp/mp_downtown Bloodmoney0 1
levels/mp/mp_bloodout Hit0 1
levels/mp/mp_desert05 Hotwire0 1
Stephan Riedl, Münchener Straße 110, 85435 Erding, Germany, E: rizzn[AT]