GROUND BRANCH Guide

Dedicated Server Help for GROUND BRANCH

Dedicated Server Help

Overview

Information on what ports to use, settings to configure and how to start a dedicated server.

Supported Operating Systems

Windows

Running a Ground Branch dedicated server is only officially supported on Windows at this time.

Linux

We plan to support running a dedicated server on a Linux some time in the future.
We need to sort out potential issues with various plugins we currently use.

Linux via Proton / Lutris

While it has been confirmed that the game will run under Proton, we have no idea about the server.
Let us know 🙂

Mac

There are no plans to support running a dedicated server on a Mac.

Ports

Make sure that your Windows firewall and router are configured to open the following ports:

  • 7777 UDP
  • 27015 UDP

Stand alone Dedicated Server

A stand alone version of the dedicated server can be obtained using SteamCMD and the appid 476400.

For information on downloading and installing SteamCMD, please visit the official page:
SteamCMD – Valve Developer Community

The command used to download the server is as follows:

steamcmd +login anonymous +force_install_dir <InstallDirectory> +app_update 476400 +exit

Note: You will need to replace <InstallDirectory> with the directory of your choosing.
For instance, to install the dedicated server to c:gbserver:

steamcmd +login anonymous +force_install_dir c:gbserver +app_update 476400 +exit

Starting a server

Batch File

The easiest way to start the server is to use the included batch file:

<Steam Library Location>steamappscommonGround BranchDedicatedServer.bat

For example:

C:Program Files (x86)SteamsteamappscommonGround BranchDedicatedServer.bat

It will automatically find the correct server binary and automatically restart the server if required.

Command Line

To manually run a server, use the command line:

GroundBranchServer-Win64-Shipping.exe <optional map & mission>?<option>?<option> <setting> <switch>

The recommended command line is :

GroundBranchServer-Win64-Shipping.exe ?MaxPlayers=8?MaxAI=30 MultiHome=X.X.X.X Port=XXXX QueryPort=XXXX -log

By adding the MaxPlayer & MaxAI values directly to the command line, it ensures they are set globally, regardless of admin command, voting or game settings.

This binary is located in:

<Steam Library Location>steamappscommonGround BranchBinariesWin64

Startup Flow
Maplist
If a maplist is present, the server will automatically begin using it upon startup.
<MapName>?Mission=<Mission Name>
If no maplist is present, any map and mission combination specified in the command line will be used.

Note: If either option is missing from the command line, Server Default will be used instead (see below).

For example:

SmallTown?Mission=IntelRetrieval
Server Default
If both the above fail, the server will use a map name Server Default, which displays a message to all prompting the admin to create a valid map list.

Command Line Options

Command line options can be added after the map name.
Options must be prefaced with “?” and the value must be set using “=”.

For example:

GroundBranchServer-Win64-Shipping.exe SmallTown?Mission=IntelRetrieval?MaxPlayers=8 -log

Mission
Required when specifying a map via the command line or in a maplist entry.
Tells the game which mission to use.
Missions contain information about which game mode script to run as well as any associated actors.
Available missions vary from map to map, but by default may include:

  • Deathmatch
  • IntelRetrieval
  • TeamElimination
  • TerroristHunt
  • Uplink

To manually see which missions are available for what map, look in the following directory:

GroundBranchContentGroundBranchMission
MaxPlayers
Maximum amount of players this server should allow (8-16)
Currently, there is hard limit of 16 for dedicated servers.
We recommended a maxium of 8 for coop and 16 for PvP.
MaxAI
Absolute limit of any AI used in any game mode (0-50).
Settings this to 0 would essentially prevent cooperate game modes from working.
TimeOfDay
Time of day in military time. 0000-2400
TimeLimit
After how many minutes until the game ends and the map changes (0+ min)
ReadyCountdownTime
Delay between declaring ready and everyone being sent to the play area in seconds (5+)
PreRoundWaitTime
How long keep people frozen before the round begins in seconds (5+)
RoundTime
How long each round should last in minutes (3+)
PostRoundWaitTime
End of round delay before everyone is sent back to the ready room in seconds (5+)
OpForCount
How many AI to spawn in the Intel Retrieval or Terrorist Hunt (1-MaxAI)
Difficulty
What settings to use for any AI in Intel Retrieval or Terrorist Hunt (1-4, 0 for custom)
SpectateFreeCam
Can spectators to fly around freely without following anyone? (0/1)
SpectateEnemies
Can spectators follow members of the enemy teams? (0/1)
SpectateForceFirstPerson
Should spectators be restricted to first person only view mode? (0/1)

Command Line Settings/Switches

These are optional arguments that can be used to control various aspects of the engine.
The are not case sensitive, but their spelling is important.
Settings are “key=value” pairs.
Switches use “-” prefix.

For example:

GroundBranchServer-Win64-Shipping.exe PowerStation?Mission=TeamElimination?RoundTime=10 MultiHome=192.168.1.254 Port=7779 QueryPort=27017 -log

MultiHome=<ip address>
Tells the engine to use a specific IP address for networking.
This is only useful if server supports multiple IP’s.
Port=<number>
Tells the engine to use a specific port number.
This is only useful if running multiple dedicated server instances on one IP.
QueryPort=<number>
Tells the engine to use a specific query port number.
This is only useful if running multiple dedicated server instances on one IP.
-Log
Opens console/log contents in new window.
Log=<filename.log>
Same as -Log, but saves contents to file specified by “filename.log”.

Map Names

747
Arena
Arena2
City
Creek
Depot
Depot_Compound
Paintball
PowerStation
RunDown
SmallTown
StorageFacility
Tanker

Automatic Setup

If no admins are specified, a file called AdminSetupPassword.txt will be generated the first time the server is started.

This file holds a unique password that allows you to become an admin remotely and will displayed in the console window until used.

To use, you must connect to the server and type the command “admin setup <password>” into the console.

For example:

admin setup 1234asdf

Once used, you will be added as a “SuperAdmin” on the server and be presented with the admin menu.

Admin Menu

The admin menu can be accessed in multiple ways:

  • clicking on the admin button from the escape menu.
  • pressing F8.
  • typing ‘admin’ into the console.

Depending on the level of access, you will have sections for:

  • administrative commands, such as changemap, ban, kick etc.
  • creating or editing maplists.
  • changing server name, message of the day, max players and password.
  • adding or removing admins.

Manual Setup

All the .ini files used for configuring the server are located under GroundBranchServerConfig.

For example:

C:Program Files (x86)SteamsteamappscommonGround BranchGroundBranchServerConfigServer.ini

If no .ini files exist, they will be generated automatically the first time the server is started.

Settings are “key=value” pairs.
For example:

ServerPassword=password

Commenting is done using a semicolon.
For example:

; This is a comment.

Server.ini
ServerName
Name of the server (64 characters max)
ServerMOTD
The message of the day(512 characters max)
<br> = line break.
<b> = bold line.
<h1 – 3> = heading 1, 2, 3 etc
For example:

<h1>Awesome Heading!<br>Another line!<br><b>Some bold text!
ServerPassword
Password required to join the server.
MaxPlayers
Maximum number of players allowed on this server (if not already set by command line)

Admin.ini

Contains a list of admin groups and the admins themselves.

The admin groups are used to help separate admins into different tiers.

For example:
An admin that is part of the “SuperAdmin” group can do everything.
An admin that is part of the “Moderator” group can only kick, ban or change the map.

To add an admin, you need to add a new line based on the following:

Admins=(Name=”<name>”,UniqueId=”<SteamId>”,ContactInfo=”<optional>”,Group=”<admin group>”)

For example:

Admins=(Name=”JoeBlow”,UniqueId=”12345678901234567″,ContactInfo=””,Group=”SuperAdmin”)

Note: The “:0” (colon zero) that was mentioned in the previous versions of this guide is no longer required.

Vote.ini
VoteDuration
Hold long a vote will last for.
VoteSucceededTimeout
How long (in seconds) to wait after a vote has passed before allowing another vote.
VoteFailedTimeout
How long (in seconds) to wait after a vote has failed before allowing another vote.
MinPlayers
The minimum number of players required to cast a vote.
VotingCommands
The commands that can be voted for.
For example:

VotingCommands=changemap VotingCommands=nextmap VotingCommands=kick

MapList.ini

Via Admin menu

By far the easiest way to creating a map list is via the admin menu.

Manually

To create a maplist.ini file manually, create a text file called MapList.ini under /GroundBranch/ServerConfig.

Add a section called [/script/rbzookeeper.zkmaplist].
Under this section, add a MapList= entry for each map that you wish to include.
Each entry should begin with a map and mission option, followed by any additional options you may wish for that particular map.
Any command line option will work here.

Coop/PvE example:

[/script/rbzookeeper.zkmaplist] MapList=/Game/GroundBranch/Maps/747/747?Mission=/Game/GroundBranch/Mission/747/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/City/City?Mission=/Game/GroundBranch/Mission/City/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/Creek/Creek?Mission=/Game/GroundBranch/Mission/Creek/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/Depot/Depot?Mission=/Game/GroundBranch/Mission/Depot/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/PowerStation/PowerStation?Mission=/Game/GroundBranch/Mission/PowerStation/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/RunDown/RunDown?Mission=/Game/GroundBranch/Mission/RunDown/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60 MapList=/Game/GroundBranch/Maps/Tanker/Tanker?Mission=/Game/GroundBranch/Mission/Tanker/IntelRetrieval?opforcount=30?difficulty=2?roundtime=60?teamexfil=1?timeofday=0800?timelimit=60?readycountdowntime=60

PvP example:

[/script/rbzookeeper.zkmaplist] MapList=/Game/GroundBranch/Maps/Arena/Arena?Mission=/Game/GroundBranch/Mission/Arena/TeamElimination?roundtime=10?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/Arena2/Arena2?Mission=/Game/GroundBranch/Mission/Arena2/TeamElimination?roundtime=10?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/747/747?Mission=/Game/GroundBranch/Mission/747/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/City/City?Mission=/Game/GroundBranch/Mission/City/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/Creek/Creek?Mission=/Game/GroundBranch/Mission/Creek/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/PowerStation/PowerStation?Mission=/Game/GroundBranch/Mission/PowerStation/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/RunDown/RunDown?Mission=/Game/GroundBranch/Mission/RunDown/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1 MapList=/Game/GroundBranch/Maps/SmallTown/SmallTown?Mission=/Game/GroundBranch/Mission/SmallTown/Uplink?roundtime=60?defendersetuptime=30?timeofday=0800?timelimit=60?readycountdowntime=60?spectatefreecam=0?spectateenemies=0?spectateforcefirstperson=1?useteamrestrictions=1
SteamSolo.com