Configuring your server
Configuring your VU dedicated server consists of creating various configuration files and / or passing different launch arguments to the VU executable, as explained below.
The server instance directory
The server instance directory is where all the configuration files and mods of a server are placed in. On Windows the server instance directory will be under
My Documents/Battlefield 3/Server by default. On Linux and other platforms you'll have to specify it manually using the
-serverInstancePath launch argument, as seen below (where
<path> is the path to the instance directory):
vu.exe -serverInstancePath <path> -server -dedicated
You can also use that parameter to host multiple servers on a single machine (on all platforms), each with its own directory (more on that below).
Various configuration files are used to control things such as server settings, map rotation, and what mods to load. These files are placed inside a folder named
Admin, inside the server instance directory. The most important files are
ModList.txt which we'll explain in more detail below.
In general, the server instance directory structure should look something like this:
/ server.key / Admin / / MapList.txt / Startup.txt / ModList.txt
If you are a server provider, it's usually a good idea to provide remote access to the
Admin directory to the server administrator.
This file defines the map rotation of the server. This means that it tells the server which map to load first and on which gamemode, how many rounds to run, and what's the next map to load once the game ends. Every map is specified in a new line in the following format:
MapID GamemodeID Rounds
For example, a
MapList.txt file which loads
Operation Metro in
Conquest 64 for
1 round would look like this:
MP_Subway ConquestLarge0 1
Following the same pattern, if we wanted the server to run
Damavand Peak in
Team Deathmatch for
2 rounds after the
Operation Metro round ends, the file would look like this:
MP_Subway ConquestLarge0 1 MP_013 TeamDeathMatch0 2
Now, you may be wondering how we know that the
Operation Metro map corresponds to
MP_Subway and that the
Conquest 64 gamemode corresponds to
ConquestLarge0. The answer is that every map and gamemode has its own ID. You can find a full list of the maps and gamemodes and their respective IDs here.
Startup.txt file is used to configure to the server upon startup. This is done by using specific configuration variables followed by a relevant value. As with the
MapList.txt file, each variable is specified in a new line. Below, we have an example on how to set the server name and enable friendly fire:
vars.serverName "My incredible VU server" vars.friendlyFire true
If you wanted to password-protect your server, you'd add the following line, replacing
<password> with a password of your choice:
For a full list of configuration variables and commands refer to this page.
This file is used to specify what mods should be loaded by the server. As with all the other configuration files, each mod is specified in a new line. For more information about the
ModList.txt file and loading mods on your server, refer to this page.
Some things cannot be configured using only configuration commands. Instead, specific launch arguments must be used when launching the VU server. We've already seen one of them above: the
-serverInstancePath argument, which can be used to specify the path to the server instance directory, but there are several more. We'll touch on some of the important ones below. For a full listing you can refer to this page.
Running in high frequency mode
VU allows server owners to run their servers in a higher update frequency than normal. This results in more responsive gameplay, but also requires better hardware to run. There are two high frequency modes: 60Hz and 120Hz. You can specify which one you want your server to use using the launch arguments seen below:
vu.exe -server -dedicated -high60
vu.exe -server -dedicated -high120
Running multiple servers
You can run multiple VU dedicated servers on a single computer. To do so, you simply need to create a separate server instance directory and use a different server key for each one. You can then specify the path to the server instance directory when launching the various servers as seen below (where
<path> is the path to the server instance directory).
You will also need to specify the ports on which the servers will listen for network connections. By default, VU servers will listen for connections on UDP ports
7948. For each server instance you plan to run on the same computer, you will have to use different ports.
vu.exe -server -dedicated -serverInstancePath <path> -listen 0.0.0.0:25201 -mHarmonyPort 7949
This will make it so the server will listen on ports
7949. You'll also have to make sure that those ports are properly forwarded and unblocked by your firewall.
Next up, see how to remotely manage your server.