mirror of
https://github.com/pelican-dev/panel.git
synced 2025-09-09 00:48:44 +02:00
154 lines
4.5 KiB
YAML
154 lines
4.5 KiB
YAML
_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
|
|
meta:
|
|
version: PLCN_v2
|
|
update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/source-engine/egg-custom-source-engine-game.yaml'
|
|
exported_at: '2025-07-25T13:30:23+00:00'
|
|
name: 'Custom Source Engine Game'
|
|
author: panel@example.com
|
|
uuid: 2a42d0c2-c0ba-4067-9a0a-9b95d77a3490
|
|
description: |-
|
|
This option allows modifying the startup arguments and other details to run a custom SRCDS based
|
|
game on the panel.
|
|
tags:
|
|
- source
|
|
- steamcmd
|
|
features:
|
|
- steam_disk_space
|
|
docker_images:
|
|
'ghcr.io/parkervcp/games:source': 'ghcr.io/parkervcp/games:source'
|
|
file_denylist: { }
|
|
startup: './srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart'
|
|
config:
|
|
files: { }
|
|
startup:
|
|
done: 'gameserver Steam ID'
|
|
logs: { }
|
|
stop: quit
|
|
scripts:
|
|
installation:
|
|
script: |-
|
|
#!/bin/bash
|
|
# steamcmd Base Installation Script
|
|
#
|
|
# Server Files: /mnt/server
|
|
|
|
##
|
|
#
|
|
# Variables
|
|
# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.
|
|
# WINDOWS_INSTALL - if it's a windows server you want to install set to 1
|
|
# SRCDS_APPID - steam app id ffound here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
|
|
# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.
|
|
#
|
|
##
|
|
|
|
|
|
## just in case someone removed the defaults.
|
|
if [ "${STEAM_USER}" == "" ]; then
|
|
echo -e "steam user is not set.
|
|
"
|
|
echo -e "Using anonymous user.
|
|
"
|
|
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} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +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
|
|
container: 'ghcr.io/parkervcp/installers:debian'
|
|
entrypoint: bash
|
|
variables:
|
|
-
|
|
name: 'Game ID'
|
|
description: 'The ID corresponding to the game to download and run using SRCDS.'
|
|
env_variable: SRCDS_APPID
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: false
|
|
rules:
|
|
- required
|
|
- numeric
|
|
- 'digits_between:1,6'
|
|
sort: 1
|
|
-
|
|
name: 'Game Name'
|
|
description: 'The name corresponding to the game to download and run using SRCDS.'
|
|
env_variable: SRCDS_GAME
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: false
|
|
rules:
|
|
- required
|
|
- alpha_dash
|
|
- 'between:1,100'
|
|
sort: 2
|
|
-
|
|
name: Map
|
|
description: 'The default map for the server.'
|
|
env_variable: SRCDS_MAP
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- string
|
|
- alpha_dash
|
|
sort: 3
|
|
-
|
|
name: 'Steam Auth'
|
|
description: ''
|
|
env_variable: STEAM_AUTH
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- nullable
|
|
- string
|
|
sort: 6
|
|
-
|
|
name: 'Steam Password'
|
|
description: ''
|
|
env_variable: STEAM_PASS
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- nullable
|
|
- string
|
|
sort: 5
|
|
-
|
|
name: 'Steam Username'
|
|
description: ''
|
|
env_variable: STEAM_USER
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- nullable
|
|
- string
|
|
sort: 4
|