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


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!
Port Default (UDP)
Game (Primary Port in Pterodactyl) 7777
Server Query 27015

Installation/System Requirements

Bare Minimum Recommended
Processor No ARM support. Recent x86/64 (AMD/Intel) processor.
RAM 550 MiB 1024-4096 MiB
Storage 5632 MiB 7168 MiB
Network 3 MiB/s 7 MiB/s
Game Ownership Not 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
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
[REQUIRED] Server Query PortThis 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!QUERY_PORT27015YesNo
Automatic UpdatesQuickly checks for any server updates on startup, and updates if necessary. (1 ON | 0 OFF)AUTO_UPDATE1YesYes
Server NameThe name of the server that will appear in the server list.SERVER_NAMEUnnamed Ground Branch ServerYesYes
Max PlayersMaximum number of players allowed to connect to the server.MAX_PLAYERS16YesYes
[Repair] Validate Server FilesLeave 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.VALIDATEYesYes
[System] Ground Branch Dedicated Server App IDSteam App ID used for installation and updates. Cannot be changed.SRCDS_APPID476400NoNo
[System] Use Windows BranchTells 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.WINDOWS_INSTALL1NoNo
[System] WINEDEBUGUsed to suppress WINE FIXME messages. Rarely needs to be changed.WINEDEBUG-allNoNo
[System] WINEARCHUsed for compatibility. Cannot be changed.WINEARCHwin64NoNo
[System] WINEPATHUsed for compatibility. Cannot be changed.WINEPATH/home/containerNoNo
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"