0% found this document useful (0 votes)
481 views11 pages

BF3 PC Server Administration

This document provides an overview of Battlefield 3 PC server administration. It describes how the server operates, the files that can be accessed for administration, and how to control aspects like the map rotation, ban system, player slots, and remote administration interface. Commands, events, and GUI tools are available to administrators to manage the server and game play.

Uploaded by

Pavel Vanchugov
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
481 views11 pages

BF3 PC Server Administration

This document provides an overview of Battlefield 3 PC server administration. It describes how the server operates, the files that can be accessed for administration, and how to control aspects like the map rotation, ban system, player slots, and remote administration interface. Commands, events, and GUI tools are available to administrators to manage the server and game play.

Uploaded by

Pavel Vanchugov
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

BF3 PC Server Administration

This is the server admin manual for BF3 PC Server R3.

Contents
Game server operation ........................................................................................................................... 2 Files which may be accessible to the server admin ................................................................................ 2 Remote administration interface ............................................................................................................ 3 Commands........................................................................................................................................... 3 Events .................................................................................................................................................. 3 GUI tools .............................................................................................................................................. 3 Startup script ....................................................................................................................................... 3 Password ............................................................................................................................................. 3 Accounts, soldier names, and GUIDs....................................................................................................... 3 Player slots .............................................................................................................................................. 4 How many players does a server support? ......................................................................................... 4 Ban system .............................................................................................................................................. 4 banlist.txt format................................................................................................................................. 4 Map handling........................................................................................................................................... 5 Overview.............................................................................................................................................. 5 Controlling map switching ................................................................................................................... 5 Admin/MapList.txt format .................................................................................................................. 5 Idle timeout ............................................................................................................................................. 6 Ranked and unranked servers ................................................................................................................ 7 Reconfiguring the game modes .............................................................................................................. 7 Server settings and Battlelog............................................................................................................... 8 Server region ......................................................................................................................................... 10

Game server operation


When the game server first starts up, it reads a set of configuration files from disk. Some of these are managed by the RSP, and some by the server administrator. The game server will then cycle through a series of maps. Game clients can connect to the server and play on the maps. Control of the game server is done through a Remote Administration interface. This is a TCP port (kind of like a terminal interface). There are both Python scripts and GUI tools which control the game server through this mechanism. Players can indirectly communicate with the GUI tools by sending special chat commands, which the GUI tools react upon. The game server writes a set of log files to disk while it is running; these can be inspected by the server admin.

Files which may be accessible to the server admin


EA decides which files the RSP may make available to the admin. It is up to each RSP how to facilitate this, and the extent to which access is given. The list below contains all the files which the RSP is allowed to give the server admin full access to: Admin/*.txt pb/svss/* pb/svlogs/* pb/*.cfg pb/pbbans.dat pb/pbucon.use pb/sv_viol.log pb/sv_cheat.log

In addition, the server admin may have limited access to a few lines in ServerOptions.cfg and the values of some commandline arguments.

Remote administration interface


The remote administration interface is a two-way channel for sending and receiving commands from the game server. Before the remote administration can be used, a remote admin password must be set, either via Admin/Startup.txt, ServerOptions.cfg or the commandline. Do notice that the remote admin interface is normally case sensitive.

Commands
Theres a Python script, called CommandConsole.py, that can be used to connect to the remote administration interface. Once connected, there is an assortment of commands available that can be sent. See "BF3 PC Remote Administration Protocol.pdf" for the full list.

Events
The game server can also send events when specific things happen in-game. For instance, when a player joins or leaves the server, when a round ends, or when anyone says anything through the chat. The Python script called EventConsole.py can be used to listen to these events.

GUI tools
There are several GUI tools constructed, which make it easier to control the game server. Wed recommend that you use them rather than relying on CommandConsole.py / EventConsole.py for everyday use.

Startup script
The game server will process the file named Admin/Startup.txt during bootup. Each line in that file will be executed as a remote administration command.

Password
Anyone who knows the IP address and port of the remote administration interface of a server can connect to it and retrieve some basic information, including a player list. Most commands require the user to specify a password. This password can be changed by issuing the admin.password command. Usually the admin.password command is put into the servers static configuration.

When do commands take effect?


Some commands take effect immediately (example: kicking a player). Some commands take effect only after a round change. Some commands must be put into Admin/Startup.txt to take effect at all.

Accounts, soldier names, and GUIDs


Every BF3 PC player has exactly one EA account. The player can then have one or more soldier names. The PunkBuster GUID is tied to the EA account. So is the EA GUID.

The PB GUID is used with all PB-services, while the EA GUID is used with any non-PB-related functions in the game server. PunkBuster GUIDs are 32-digit hexstrings. EA GUIDs are the prefix EA_ followed by a 32-digit hexstring.

Player slots
How many players does a server support?
This is determined by two factors: The RSP has a max-cap which they can set per server The admin also has a max cap that can be set (vars.maxPlayers)

The current max number of players is the minimum of the both.

Ban system
The game server has an internal ban system. This system is independent from PunkBusters banlist. At startup, ban entries are read from the file named banlist.txt. During runtime, the banList.* commands can be used to manipulate the banlist. Players can be banned either on their soldier name, or on their EA GUID. Banning someone on their soldier name is not particularly effective if its a determined griefer then he/she will just create a new soldier and return . Banning someone on their EA GUID is much more effective. To find out someones EA GUID, perform admin.serverInfo while that person is playing on your server. Or inspect the AdminLog. People can be banned either for a few seconds, until the end of the current round, or permanently. The banlist can contain up to 10.000 entries.

banlist.txt format
Each entry in the banlist occupies 5 lines. The first line specifies what the ban is on: guid ban on EA GUID name ban on soldier name ip ban on game client IP address The second line specifies the GUID/name/IP that the ban applies to The third line specifies the duration of the ban:

perm permanent round until the end of the current round seconds until the given time is reached The fourth line contains the timestamp for a seconds-type ban; otherwise it is unused. The fifth line contains the reason for being banned. Max length 80 characters.

Map handling
Overview
BF3 PC game servers are designed to rotate through a sequence of maps. The exact configuration is specified in the servers internal map list. Different maps in the map list can use different game modes. (Note however, that some game modes will not work properly if there are more players on the server than the game mode is designed for.) Upon startup, the Admin/MapList.txt file is read. During runtime, the mapList.* commands can be used to edit the set of maps. When the same map is played for several rounds, all 2-team gamemodes stipulate that the teams will switch sides after a run. This way, a 2-round session of Rush will have players play both attackers and defenders.

Controlling map switching


mapList.* can be used to edit the maplist while the server is running. mapList.setNextMapIndex sets which will be the next map. mapList.getMapIndices returns information on which is the current and next map in the list. mapList.runNextRound switches to the next round, without finishing the current. mapList.restartRound makes all players reload the current map, and restarts the current round. mapList.endRound declares a specific team as the winning team, and then moves directly to the endof-round screen.

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. Example MapList.txt: MP_007 RushLarge0 2 MP_018 ConquestSmall0 2 MP_Subway RushLarge0 4

Idle timeout
If a player doesnt give any input within a specific period of time, he/she will be kicked due to idling. You can change the time interval / disable the idle timeout through vars.idleTimeout. In addition, vars.idleBanRounds can be used to apply a ban for a number of rounds for someone that gets kicked due to idle timeout.

Pre-round
Currently, pre-round is active on all game servers. This is a pre-match state where players cannot move. You can change the number of players requires to go between pre-round and in-match using vars.roundStartPlayerCount and vars.roundRestartPlayerCount; however, see the section Server settings and Battlelog to see what implications it has for players using Quickmatch.

Ranked and unranked servers


Currently, unranked does not work correctly. All game servers will have to run ranked. Our goal is to make unranked game servers allow full customization of the set of available weapons, regardless of the individual player progression.

Reconfiguring the game modes


This is done through a large number of settings. Changing these settings will change how your server gets listed in the browser; see [battlelog info] for more information. The following settings are available: vars.serverName controls the name of the server, as seen in the server browser. vars.gamePassword - if set, players must enter this password when connecting to the server. vars.friendlyFire when set, people can inflict damage on others in the same team. vars.killCam when set, a killed player gets to see a close-up of his/hers killer for a few seconds. vars.miniMap when set, a minimap is available in the bottom-left corner of the screen during play. vars.hud when set, the hud is present. vars.crossHair when set, guns have crosshairs in the center of the screen. vars.3dSpotting when set, spotted targets are marked with icons in the 3D world. vars.miniMapSpotting - when set, spotted targets are marked with icons on the minimap. vars.3pCam - when set, 3rd person vehicle cameras are enabled. vars.nameTag when set, nametags are rendered over players heads in the 3D world. vars.regenerateHealth when set, health regeneration is enabled. vars.vehicleSpawnAllowed when set, vehicles will spawn in-game. vars.vehicleSpawnDelay controls the delay between vehicle spawn; specified in percent (100% = normal).

vars.soldierHealth sets maximum soldier health, specified in percent (0-100%; 100% = normal). vars.playerRespawnTime controls player respawn delay; specified in percent (100% = normal). vars.playerManDownTime - controls player man-down time; specified in percent (100% = normal). vars.bulletDamage controls bullet damage; specified in percent (0-100%; 100% = normal). vars.onlySquadLeaderSpawn when set, players can only spawn on the squad leader. vars.roundStartPlayerCount when the server is in pre-round, it waits for this many players to be present until it proceeds to start the real round. vars.roundRestartPlayerCount when a round is going, if the number of players drops under this number, the round will be aborted and the server moves back to pre-round.

Server settings and Battlelog


Battlelog has a set of filters that are designed to help players find a couple of standard-configured game servers. First off, there is the Quickmatch operation. The requirements for a server to be included in Quickmatch are the strictest of all. The reason for this is because Quickmatch is intended to present a single game experience to its users. If those users wish to try something different, its time for them to try out the server browser. Then there is the server browser with its filters. One of the filter sections is the preset selection. By default, no filtering is done on presets (so the server browser show all servers regardless of any game mode-affecting settings). There are four different presets in Battlelog: Normal, Hardcore, Infantry Only and Custom. If your server has settings set to match either Normal, Hardcore or Infantry only, then it will show up in matching searches. If your settings are different, then it will match a search for Custom servers.

Setting

Value for Quickmatch vars.autoBalance true vars.roundStartPlayerCount 8 vars.roundRestartPlayerCount 4 vars.friendlyFire false vars.regenerateHealth true vars.killCam true vars.miniMap true vars.hud true vars.crossHair true vars.3dSpotting true

Value for Normal true

Value for Value for Hardcore Infantry Only true true

false true true true true

true false true false false

false true true true true

vars.miniMapSpotting vars.nameTag vars.3pCam vars.regenerateHealth vars.vehicleSpawnAllowed vars.vehicleSpawnDelay vars.soldierHealth vars.playerRespawnTime vars.playerManDownTime vars.bulletDamage vars.onlySquadLeaderSpawn

true true true true true 100 100 100 100 100 false

true true true true true 100 100 100 100 false

true false false false true 60 100 100 100 true

true true false true false 100 100 100 100 false

Server region
A server is listed under one of the seven continents in the server browser. The default continent is Antarctica. This setting is controlled by your RSP. If you are in Antarctica but want to get moved to the proper continent, contact your RSP.

You might also like