mirror of
https://github.com/pelican-dev/panel.git
synced 2025-11-06 00:09:42 +01:00
125 lines
7.7 KiB
YAML
125 lines
7.7 KiB
YAML
_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
|
|
meta:
|
|
version: PLCN_v3
|
|
update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/source-engine/egg-team-fortress2.yaml'
|
|
exported_at: '2025-10-31T12:31:09+00:00'
|
|
name: 'Team Fortress 2'
|
|
author: panel@example.com
|
|
uuid: 7f8eb681-b2c8-4bf8-b9f4-d79ff70b6e5d
|
|
description: |-
|
|
Team Fortress 2 is a team-based first-person shooter multiplayer video game developed and published
|
|
by Valve Corporation. It is the sequel to the 1996 mod Team Fortress for Quake and its 1999 remake.
|
|
image: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTAwcHgiIGhlaWdodD0iNTAwLjAwOXB4IiB2aWV3Qm94PSItNTAgLTUwLjAwNSA1MDAgNTAwLjAwOSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtNTAgLTUwLjAwNSA1MDAgNTAwLjAwOSINCgkgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI1NS4zOTk0IiB5MT0iLTQzMy44NDM4IiB4Mj0iMTQ0LjU5ODkiIHkyPSI1My44NDUxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTApIj4NCgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojNUQxRjBFIi8+DQoJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0QwOTczNyIvPg0KPC9saW5lYXJHcmFkaWVudD4NCjxwYXRoIGZpbGw9InVybCgjU1ZHSURfMV8pIiBkPSJNMjYyLjA0NC00Mi4yMzlDMzcwLjA5Ny0xNC42NDQsNDUwLDgzLjM0NCw0NTAsMTk5Ljk5OGMwLDIuNjYxLTAuMDU3LDUuMzExLTAuMTQzLDcuOTUxDQoJbC0xNjguMTUxLTIzLjkxNmMtNC45MjItMjUuMzM4LTIxLjMzMy00Ni41NTYtNDMuNTk0LTU4LjA0NUwyNjIuMDQ0LTQyLjIzOXogTTEyNS45OSwxNjEuODgNCgljMTEuNDg4LTIyLjI2MSwzMi43MDctMzguNjcsNTguMDQzLTQzLjU5M2wyMy45Mi0xNjguMTUzYy0yLjY0My0wLjA4My01LjI5LTAuMTM5LTcuOTUzLTAuMTM5DQoJYy0xMTYuNjUyLDAtMjE0LjYzOSw3OS44OTgtMjQyLjIzNSwxODcuOTUzTDEyNS45OSwxNjEuODh6IE0xNjEuODgzLDI3NC4wMDhjLTIyLjI1OS0xMS40ODktMzguNjctMzIuNzEtNDMuNTkyLTU4LjA0NQ0KCWwtMTY4LjE1Mi0yMy45MmMtMC4wODMsMi42NDMtMC4xMzksNS4yOTMtMC4xMzksNy45NTVjMCwxMTYuNjQ4LDc5Ljg5OCwyMTQuNjM3LDE4Ny45NTIsMjQyLjIzM0wxNjEuODgzLDI3NC4wMDh6IE0yNzQuMDEsMjM4LjExMw0KCWMtMTEuNDksMjIuMjYxLTMyLjcwNywzOC42NjktNTguMDQ2LDQzLjU5M2wtMjMuOTE5LDE2OC4xNThjMi42NDMsMC4wODMsNS4yOTIsMC4xNCw3Ljk1NCwwLjE0DQoJYzExNi42NTMsMCwyMTQuNjQtNzkuOTAxLDI0Mi4yMzItMTg3Ljk1NUwyNzQuMDEsMjM4LjExM3oiLz4NCjxyYWRpYWxHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGN4PSI5OC4xOTE5IiBjeT0iLTE5OC4zNTYiIHI9IjQyNS45ODcxIiBmeD0iOTIuNzU2NSIgZnk9Ii0xOTkuNDgzNCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjk3NzQgMC4yMTE0IDAuMTI2NiAtMC41ODUxIC03Ny4wMzAxIC0xNjcuMzcwNykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4NCgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGO3N0b3Atb3BhY2l0eTowIi8+DQoJPHN0b3AgIG9mZnNldD0iMC40NjU3IiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGO3N0b3Atb3BhY2l0eTowLjA4MDQiLz4NCgk8c3RvcCAgb2Zmc2V0PSIwLjk4NjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkY7c3RvcC1vcGFjaXR5OjAuMjE0MyIvPg0KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkY7c3RvcC1vcGFjaXR5OjAiLz4NCjwvcmFkaWFsR3JhZGllbnQ+DQo8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzJfKSIgZD0iTTI2Mi4wNDQtNDIuMjM5QzM3MC4wOTctMTQuNjQ0LDQ1MCw4My4zNDQsNDUwLDE5OS45OThjMCwyLjY2MS0wLjA1Nyw1LjMxMS0wLjE0Myw3Ljk1MQ0KCWwtMTY4LjE1MS0yMy45MTZjLTQuOTIyLTI1LjMzOC0yMS4zMzMtNDYuNTU2LTQzLjU5NC01OC4wNDVMMjYyLjA0NC00Mi4yMzl6IE0xMjUuOTksMTYxLjg4DQoJYzExLjQ4OC0yMi4yNjEsMzIuNzA3LTM4LjY3LDU4LjA0My00My41OTNsMjMuOTItMTY4LjE1M2MtMi42NDMtMC4wODMtNS4yOS0wLjEzOS03Ljk1My0wLjEzOQ0KCWMtMTE2LjY1MiwwLTIxNC42MzksNzkuODk4LTI0Mi4yMzUsMTg3Ljk1M0wxMjUuOTksMTYxLjg4eiBNMTYxLjg4MywyNzQuMDA4Yy0yMi4yNTktMTEuNDg5LTM4LjY3LTMyLjcxLTQzLjU5Mi01OC4wNDUNCglsLTE2OC4xNTItMjMuOTJjLTAuMDgzLDIuNjQzLTAuMTM5LDUuMjkzLTAuMTM5LDcuOTU1YzAsMTE2LjY0OCw3OS44OTgsMjE0LjYzNywxODcuOTUyLDI0Mi4yMzNMMTYxLjg4MywyNzQuMDA4eiBNMjc0LjAxLDIzOC4xMTMNCgljLTExLjQ5LDIyLjI2MS0zMi43MDcsMzguNjY5LTU4LjA0Niw0My41OTNsLTIzLjkxOSwxNjguMTU4YzIuNjQzLDAuMDgzLDUuMjkyLDAuMTQsNy45NTQsMC4xNA0KCWMxMTYuNjUzLDAsMjE0LjY0LTc5LjkwMSwyNDIuMjMyLTE4Ny45NTVMMjc0LjAxLDIzOC4xMTN6Ii8+DQo8L3N2Zz4NCg=='
|
|
tags:
|
|
- source
|
|
- steamcmd
|
|
features:
|
|
- gsl_token
|
|
- steam_disk_space
|
|
docker_images:
|
|
Source: 'ghcr.io/parkervcp/games:source'
|
|
file_denylist: { }
|
|
startup_commands:
|
|
Default: './srcds_run -game tf -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart +sv_setsteamaccount {{STEAM_ACC}}'
|
|
config:
|
|
files: { }
|
|
startup:
|
|
done: 'gameserver Steam ID'
|
|
logs: { }
|
|
stop: quit
|
|
scripts:
|
|
installation:
|
|
script: |-
|
|
#!/bin/bash
|
|
# steamcmd Base Installation Script
|
|
#
|
|
# Server Files: /mnt/server
|
|
# Image to install with is 'debian:buster-slim'
|
|
|
|
##
|
|
#
|
|
# 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: 'Default Map'
|
|
description: 'The default map to use when starting the server.'
|
|
env_variable: SRCDS_MAP
|
|
default_value: cp_dustbowl
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- 'regex:/^(\w{1,20})$/'
|
|
sort: 2
|
|
-
|
|
name: 'Game ID'
|
|
description: 'The ID corresponding to the game to download and run using SRCDS.'
|
|
env_variable: SRCDS_APPID
|
|
default_value: 232250
|
|
user_viewable: true
|
|
user_editable: false
|
|
rules:
|
|
- required
|
|
- 'in:232250'
|
|
sort: 1
|
|
-
|
|
name: Steam
|
|
description: |-
|
|
The Steam Game Server Login Token to display servers publicly. Generate one at
|
|
https://steamcommunity.com/dev/managegameservers
|
|
env_variable: STEAM_ACC
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- string
|
|
- alpha_num
|
|
- 'size:32'
|
|
sort: 3
|