_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL' meta: version: PLCN_v3 update_url: 'https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/counter_strike/counter_strike_2/egg-counter--strike2.yaml' exported_at: '2026-06-04T01:16:28+00:00' name: 'Counter-Strike 2' author: admin@ballaual.de uuid: d2991753-0db4-4b68-9f5d-11f997019b78 description: |- For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2. icon: 'data:image/png;base64,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' tags: - steamcmd features: - steam_disk_space docker_images: 'ghcr.io/parkervcp/steamcmd:sniper': 'ghcr.io/parkervcp/steamcmd:sniper' file_denylist: { } startup_commands: Default: 'LD_LIBRARY_PATH=$HOME/game/bin/linuxsteamrt64:$LD_LIBRARY_PATH ./game/bin/linuxsteamrt64/cs2 -dedicated $( [ "$VAC_ENABLED" == "1" ] || printf %s '' -insecure'' ) -ip 0.0.0.0 -port {{SERVER_PORT}} -tv_port {{TV_PORT}} -maxplayers {{MAX_PLAYERS}} $( [ "$RCON_ENABLED" == "0" ] || printf %s '' -usercon'' ) +game_mode {{GAME_MODE}} +game_type {{GAME_TYPE}} +map {{SRCDS_MAP}} +hostname "{{SERVER_NAME}}" +sv_password "{{SERVER_PASSWORD}}" +rcon_password "{{RCON_PASSWORD}}" +sv_setsteamaccount {{STEAM_GSLT}}' config: files: { } startup: done: 'Connection to Steam servers successful' logs: { } stop: quit scripts: installation: script: |- #!/bin/bash # steamcmd Base Installation Script # # Server Files: /mnt/server # Image to install with is 'ghcr.io/parkervcp/installers:debian' ## just in case someone removed the defaults. if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then echo -e "steam user is not set.\n" echo -e "Using anonymous user.\n" STEAM_USER=anonymous STEAM_PASS="" STEAM_AUTH="" else echo -e "user set to ${STEAM_USER}" fi ## download and install steamcmd cd /tmp mkdir -p /mnt/server/steamcmd curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing cd /mnt/server/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 export HOME=/mnt/server ## Install game using steamcmd ./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so ## set up 64 bit libraries mkdir -p /mnt/server/.steam/sdk64 cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so ## install end echo "-----------------------------------------" echo "Installation completed..." echo "-----------------------------------------" container: 'ghcr.io/parkervcp/installers:debian' entrypoint: /bin/bash variables: - name: 'Auto-update server' description: "This is to enable / disable auto-updating your server on restart.\r\n\r\nBy default this is set to enabled." env_variable: AUTO_UPDATE default_value: 1 user_viewable: true user_editable: true rules: - boolean sort: 1 - name: 'Enable RCON' description: 'Enable / Disable RCON for using RCON commands with external tools. By default this will be disabled.' env_variable: RCON_ENABLED default_value: 0 user_viewable: true user_editable: true rules: - boolean sort: 2 - name: 'Enable VAC' description: 'Enable / Disable VAC (Valve Anti Cheat) on your server. By default this will be enabled.' env_variable: VAC_ENABLED default_value: 1 user_viewable: true user_editable: true rules: - boolean sort: 3 - name: Gamemode description: "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3" env_variable: GAME_MODE default_value: 1 user_viewable: true user_editable: true rules: - required - string sort: 4 - name: Gametype description: "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3" env_variable: GAME_TYPE default_value: 0 user_viewable: true user_editable: true rules: - required - string sort: 5 - name: Map description: "The default map for the server.\r\nExamples:\r\n\r\nBomb:\r\nde_dust2, de_mirage, de_nuke, de_overpass, de_inferno, de_ancient, de_vertigo, de_anubis\r\n\r\nHostage:\r\ncs_italy, cs_office\r\n\r\nArms Race:\r\nar_baggage, ar_shoots" env_variable: SRCDS_MAP default_value: de_dust2 user_viewable: true user_editable: true rules: - required - string sort: 6 - name: 'Max Players' description: 'Specifies the maximum amount of players that are able to join the server.' env_variable: MAX_PLAYERS default_value: 12 user_viewable: true user_editable: true rules: - required - numeric - 'between:1,64' sort: 7 - name: 'RCON Password' description: 'To gain access to administrator commands on the server.' env_variable: RCON_PASSWORD default_value: '' user_viewable: true user_editable: true rules: - required - alpha_dash - 'between:1,30' sort: 8 - name: 'Server Name' description: 'Sets the server name listed in the steam server browser.' env_variable: SERVER_NAME default_value: 'A Pterodactyl hosted CS2 Server' user_viewable: true user_editable: true rules: - required - string - 'max:64' sort: 9 - name: 'Server Password' description: 'If specified, players must provide this password to join the server.' env_variable: SERVER_PASSWORD default_value: '' user_viewable: true user_editable: true rules: - nullable - alpha_dash - 'between:1,30' sort: 10 - name: 'Source AppID' description: 'Required for game to update on server restart. Do not modify this.' env_variable: SRCDS_APPID default_value: 730 user_viewable: false user_editable: false rules: - required - string - 'in:730' sort: 11 - name: 'SourceTV Port' description: 'SourceTV port used for connections to spectates games on your server.' env_variable: TV_PORT default_value: 27020 user_viewable: true user_editable: false rules: - required - integer - 'between:1025,65535' sort: 12 - name: 'Steam Gameserver Login Token' description: |- The Steam Account Token required for the server to be displayed public. The token can be acquired here: https://steamcommunity.com/dev/managegameservers env_variable: STEAM_GSLT default_value: '' user_viewable: true user_editable: true rules: - required - string - alpha_num - 'size:32' sort: 13