Egg Repository

Pterodactyl Community Egg Repository

Ground Branch

From one of the developers behind the original Rainbow Six® and Ghost Recon® games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.

Read Me

Ground Branch

NOTE: Game and server are still Early Access. Your mileage may vary as updates are released.


Authors / Contributors


Red-Thirten

💻

Game Description

From BlackFoot Studios' Website:

From one of the developers behind the original Rainbow Six® and Ghost Recon® games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.


Egg Capabilities

  • Configuration of the Server Query port.
  • Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable.
  • Mods have not been explored at this time (see Modding for more info)

Server Ports

  • Default server ports are listed below, but both ports can be changed freely.
  • Both ports are required to be open/allocated for normal server behavior!
PortDefault (UDP)
Game (Primary Port in Pterodactyl)7777
Server Query27015

Installation/System Requirements

Bare MinimumRecommended
ProcessorNo ARM support.Recent x86/64 (AMD/Intel) processor.
RAM550 MiB1024-4096 MiB
Storage5632 MiB7168 MiB
Network3 MiB/s7 MiB/s
Game OwnershipNot required to start.Recommended to fully configure server (see Server Configuration below)

Server Configuration

NOTE: Server Name and Max Players will be overwritten by your Pterodactyl Startup settings every time the server is started.

In-Game Setup (Recommended):

Configuring all aspects of the server (MOTD, game rules, map list, admins, etc.) is, by far, the easiest (and safest) to do in-game via the built in admin menu. Perform the following steps to do so:

  1. Start the server.
  2. Navigate to /home/container/GroundBranch/ServerConfig within Pterodactyl's file browser and open AdminSetupPassword.txt.
  3. Copy the code and start your personal Ground Branch game client.
  4. Log into your server via the server browser by searching for it by the name you set in the Startup tab of the server.
  5. Open the console by pressing ` and run the following command: admin setup <your_setup_password>. This will add you as a SuperAdmin.
  6. Running the command admin will open the Admin Menu where you can configure everything about the server.

Manual Setup (Advanced):

All configuration files for the server can be found here: /home/container/GroundBranch/ServerConfig

Please refer to the Unofficial Ground Branch Wiki for configuration info.


Modding

At the time of writing this (2023/08/01), no workshop mods for Ground Branch exist. However, if they were to be introduced or you would like to install a mod, mods can be installed to /home/container/steamapps/workshop/content/16900/. The server should then stage them to /home/container/GroundBranch/Mods and show up as "Mod ID #" in the in-game modding menu.

Yolks
NameTag
Wine [Latest]ghcr.io/ptero-eggs/yolks:wine_latest
Wine [Staging]ghcr.io/ptero-eggs/yolks:wine_staging
Variables and Startup

Startup Command

wine GroundBranch/Binaries/Win64/GroundBranchServer-Win64-Shipping.exe MultiHome=0.0.0.0 Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -log

Variables

[REQUIRED] Server Query Port

This is the port that your clients will type in and use to connect to the lobby (not the game world). Ensure this port matches your externally forwarded port, and is distanced from other running Ground Branch servers in Pterodactyl (increments of 100 are recommended). This is also true for the Primary/Game Port!

Environment Variable: QUERY_PORT
Default Value: 27015
User Viewable:
User Editable:
Automatic Updates

Quickly checks for any server updates on startup, and updates if necessary. (1 ON | 0 OFF)

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
Server Name

The name of the server that will appear in the server list.

Environment Variable: SERVER_NAME
Default Value: Unnamed Ground Branch Server
User Viewable:
User Editable:
Max Players

Maximum number of players allowed to connect to the server.

Environment Variable: MAX_PLAYERS
Default Value: 16
User Viewable:
User Editable:
[Repair] Validate Server Files

Leave empty (no value) for OFF or type "true" or "1" for ON. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.

Environment Variable: VALIDATE
Default Value:
User Viewable:
User Editable:
[System] Ground Branch Dedicated Server App ID

Steam App ID used for installation and updates. Cannot be changed.

Environment Variable: SRCDS_APPID
Default Value: 476400
User Viewable:
User Editable:
[System] Use Windows Branch

Tells the installer/updater to only download the Windows branch of the server (the only branch currently available) so that it can run on Wine. Cannot be changed.

Environment Variable: WINDOWS_INSTALL
Default Value: 1
User Viewable:
User Editable:
[System] WINEDEBUG

Used to suppress WINE FIXME messages. Rarely needs to be changed.

Environment Variable: WINEDEBUG
Default Value: -all
User Viewable:
User Editable:
[System] WINEARCH

Used for compatibility. Cannot be changed.

Environment Variable: WINEARCH
Default Value: win64
User Viewable:
User Editable:
[System] WINEPATH

Used for compatibility. Cannot be changed.

Environment Variable: WINEPATH
Default Value: /home/container
User Viewable:
User Editable:
Install Script
#!/bin/bash

## File: Pterodactyl Ground Branch Egg - egg-ground-branch.json
## Authors: David Wolfe (Red-Thirten)
## Date: 2023/08/01
## License: MIT License
## Image to install with is 'ghcr.io/pterodactyl/installers:debian'

# Download and install SteamCMD
export HOME=/mnt/server
cd /tmp
mkdir -p $HOME/steamcmd $HOME/steamapps
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C $HOME/steamcmd
cd $HOME/steamcmd

# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt

# Install game server using SteamCMD
./steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) validate +quit

# Set up 32 and 64 bit libraries
mkdir -p $HOME/.steam/sdk{32,64}
cp -v linux32/steamclient.so $HOME/.steam/sdk32/steamclient.so
cp -v linux64/steamclient.so $HOME/.steam/sdk64/steamclient.so

## Ground Branch setup
# Make ServerConfig directory and default Server.ini file (since they are not initially present before first server start)
mkdir -p $HOME/GroundBranch/ServerConfig/ && cd "$_"

if [[ ! -f Server.ini ]]; then
    echo -e '\nCreating default "Server.ini" configuration file...'
    cat > Server.ini << EOF
[/Script/RBZooKeeper.ZKServer]
; Name of the server 64 characters max)
ServerName=Unnamed Ground Branch Server

; The message of the day (512 characters max)
; e.g. ServerMOTD=This text here is displayed<br>with the 'admin motd' command.
ServerMOTD="Welcome!"

; Set to a jpg image to act as a server banner in-game where possible.
; (recommended resolution: 788 x 386)
ServerWebBanner=""
; e.g. ServerWebPage=www.images.com/myimage.jpeg

; Password required to join the server.
;ServerPassword=

; Password required to join the server as a permanent spectator.
;SpectatorOnlyPassword=

; Maximum number of players allowed on this server.
MaxPlayers=16
MaxSpectators=0

; Set default match types for game modes and round limits:
; Match types: Continuous, BestOf, FirstTo, Play, PlayUntilWin, TimeLimit.
; Round limits = number of rounds, except Time Limit match type (minutes).
; PVE / Co-op:
PVEMatchType=Continuous
PVERoundLimit=2
; PVP:
PVPMatchType=Continuous
PVPRoundLimit=3
; PVP FFA (Free-for-all):
PVPFFAMatchType=Continuous
PVPFFARoundLimit=1
GameRules=(("AllowCheats", False),("AllowDeadChat", True),("AllowUnrestrictedRadio", False),("AllowUnrestrictedVoice", False),("SpectateEnemies", True),("SpectateForceFirstPerson", False),("SpectateFreeCam", True),("UseTeamRestrictions", False))
EOF
fi

echo -e "\nGround Branch Dedicated Server successfully installed!\n"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypoint/bin/bash