StruxaEggs Explorer

Carrier Command 2

Game

Carrier Command 2 dedicated server (Windows binary, runs on Linux via Wine). Requires Steam ownership of CC2 to install. Uses 4 consecutive UDP ports (default 25565-25568).

Author: 88603725+norto22@users.noreply.github.comSource: pterodactyl/game-eggsUpdated: 5/24/2026

Startup Command

cd /home/container && sed -i -e 's%port="[^"]*"%port="'"${SERVER_PORT}"'"%' -e 's%max_players="[^"]*"%max_players="'"${MAX_PLAYERS}"'"%' -e 's%server_name="[^"]*"%server_name="'"${SERVER_NAME}"'"%' -e 's%password="[^"]*"%password="'"${SERVER_PASSWORD}"'"%' -e 's%save_name="[^"]*"%save_name="'"${SAVE_NAME}"'"%' -e 's%island_count="[^"]*"%island_count="'"${ISLAND_COUNT}"'"%' -e 's%island_count_per_team="[^"]*"%island_count_per_team="'"${ISLAND_COUNT_PER_TEAM}"'"%' -e 's%carrier_count_per_team="[^"]*"%carrier_count_per_team="'"${CARRIER_COUNT_PER_TEAM}"'"%' -e 's%team_count_ai="[^"]*"%team_count_ai="'"${TEAM_COUNT_AI}"'"%' -e 's%team_count_human="[^"]*"%team_count_human="'"${TEAM_COUNT_HUMAN}"'"%' -e 's%base_difficulty="[^"]*"%base_difficulty="'"${BASE_DIFFICULTY}"'"%' -e 's%loadout_type="[^"]*"%loadout_type="'"${LOADOUT_TYPE}"'"%' -e 's%blueprints="[^"]*"%blueprints="'"${BLUEPRINTS}"'"%' server_config.xml && WINEPREFIX=/home/container/.wine WINEARCH=win32 WINEDEBUG=-all LD_LIBRARY_PATH=/home/container/linux64:$LD_LIBRARY_PATH SteamAppId=1489630 wine /home/container/dedicated_server.exe

Docker Images

LabelImage
Wineghcr.io/ptero-eggs/yolks:wine_latest

Environment Variables

NameVariableDefaultRules
Server Name
The display name shown to players in the server browser.
SERVER_NAMEA Pterodactyl Hosted Serverrequired|string|max:128
Server Password
Optional password players must enter to join. Leave blank for no password.
SERVER_PASSWORDnonenullable|string|max:64
Max Players
Maximum simultaneous players (1-16).
MAX_PLAYERS4required|integer|between:1,16
Save Name
Folder name under saved_games/ for the save the server loads on launch. Leave blank to start a fresh game. NOTE: CC2 dedicated server cannot WRITE saves — progress is lost on stop.
SAVE_NAMEnonenullable|string|max:64
Island Count
Number of islands generated in the world (4-32).
ISLAND_COUNT16required|integer|between:4,32
AI Team Count
Number of AI-controlled enemy teams (0-4).
TEAM_COUNT_AI1required|integer|between:0,4
Human Team Count
Number of human-controlled teams (1-4).
TEAM_COUNT_HUMAN1required|integer|between:1,4
Carriers per Team
Number of carriers each team gets (1-4).
CARRIER_COUNT_PER_TEAM1required|integer|between:1,4
Starting Islands per Team
Number of islands each team controls at game start (1-8).
ISLAND_COUNT_PER_TEAM1required|integer|between:1,8
Base Difficulty
Difficulty of capturing enemy bases. 0 = easy, 1 = normal, 2 = hard.
BASE_DIFFICULTY0required|integer|between:0,2
Loadout Type
Starting carrier loadout. 0 = default, 1 = minimal, 2 = full.
LOADOUT_TYPE0required|integer|in:0,1,2
Blueprints
Blueprint unlock state. 0 = default (research required), 1 = all unlocked.
BLUEPRINTS0required|integer|in:0,1
Steam Username
Steam account that owns Carrier Command 2. Required — CC2 does not allow anonymous SteamCMD install.
STEAM_USERnonerequired|string
Steam Password
Password for the Steam account above. The password is stored encrypted but visible in cleartext to anyone with edit access to the server.
STEAM_PASSnonerequired|string
Steam Guard Code
Steam Guard 2FA code. Required on first install only; can be left blank after the account is trusted.
STEAM_AUTHnonenullable|string
Steam App ID
Steam App ID for Carrier Command 2.
SRCDS_APPID1489630required|string|in:1489630
Auto Update
Re-run SteamCMD app_update on every server start. 0 = off, 1 = on.
AUTO_UPDATE0required|boolean

Features

steam_disk_space