Add team fortress 2
This commit is contained in:
parent
4c68a04a4b
commit
a25f9ed620
23
charts/team-fortress-2/.helmignore
Normal file
23
charts/team-fortress-2/.helmignore
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
6
charts/team-fortress-2/Chart.lock
Normal file
6
charts/team-fortress-2/Chart.lock
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
dependencies:
|
||||||
|
- name: softplayer-lib-workload
|
||||||
|
repository: oci://git.badhouseplants.net/softplayer
|
||||||
|
version: 0.1.2
|
||||||
|
digest: sha256:309dcf8ff3e54beea96a5f3397b4b0c121089c579202681a02dc372d75b2bb74
|
||||||
|
generated: "2024-05-19T20:39:53.311958+02:00"
|
18
charts/team-fortress-2/Chart.yaml
Normal file
18
charts/team-fortress-2/Chart.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: team-fortress-2
|
||||||
|
description: A Helm chart for running a Team Fortress 2 server
|
||||||
|
type: application
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "base"
|
||||||
|
maintainers:
|
||||||
|
- name: allanger
|
||||||
|
email: allanger@badhouseplants.net
|
||||||
|
url: https://badhouseplants.net
|
||||||
|
dependencies:
|
||||||
|
- name: softplayer-lib-workload
|
||||||
|
version: 0.1.2
|
||||||
|
repository: oci://git.badhouseplants.net/softplayer
|
||||||
|
annotations:
|
||||||
|
allowed_workload_kinds: "Deployment"
|
||||||
|
# -- Skipping tests because it requires a very big volume
|
||||||
|
skip_tests: "true"
|
BIN
charts/team-fortress-2/charts/softplayer-lib-workload-0.1.2.tgz
Normal file
BIN
charts/team-fortress-2/charts/softplayer-lib-workload-0.1.2.tgz
Normal file
Binary file not shown.
7
charts/team-fortress-2/templates/install.yaml
Normal file
7
charts/team-fortress-2/templates/install.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{{ include "lib.workload" . }}
|
||||||
|
{{ include "lib.service" . }}
|
||||||
|
{{ include "lib.config.env" . }}
|
||||||
|
{{ include "lib.config.files" . }}
|
||||||
|
{{ include "lib.pvc" . }}
|
||||||
|
{{ include "lib.traefik.ingress_route_udp" . }}
|
||||||
|
{{ include "lib.traefik.ingress_route_tcp" . }}
|
233
charts/team-fortress-2/values.yaml
Normal file
233
charts/team-fortress-2/values.yaml
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
---
|
||||||
|
workload:
|
||||||
|
kind: Deployment
|
||||||
|
containers:
|
||||||
|
tf2:
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: cm2network/tf2
|
||||||
|
tag:
|
||||||
|
pullPolicy: Always
|
||||||
|
ports:
|
||||||
|
- tf2
|
||||||
|
- rcon
|
||||||
|
- tv
|
||||||
|
mounts:
|
||||||
|
storage:
|
||||||
|
data:
|
||||||
|
path: /home/steam/tf-dedicated/
|
||||||
|
extraVolumes:
|
||||||
|
steam:
|
||||||
|
path: /Steam
|
||||||
|
envFrom:
|
||||||
|
- environment
|
||||||
|
- secrets
|
||||||
|
initContainers:
|
||||||
|
0-prepare-config:
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: alpine
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: Always
|
||||||
|
mounts:
|
||||||
|
storage:
|
||||||
|
data:
|
||||||
|
path: /tf-data
|
||||||
|
files:
|
||||||
|
server-cfg:
|
||||||
|
mode: 420
|
||||||
|
path: /src/server.cfg
|
||||||
|
subPath: server.cfg
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- mkdir -p /tf-data/tf/cfg && cp /src/server.cfg /tf-data/tf/cfg/server.cfg
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
tf2:
|
||||||
|
port: 27015
|
||||||
|
targetPort: 27015
|
||||||
|
protocol: UDP
|
||||||
|
tv:
|
||||||
|
port: 27020
|
||||||
|
targetPort: 27020
|
||||||
|
protocol: TCP
|
||||||
|
rcon:
|
||||||
|
port: 27015
|
||||||
|
targetPort: 27015
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
udpRoutes:
|
||||||
|
tf2:
|
||||||
|
routes:
|
||||||
|
- services:
|
||||||
|
- name: "{{ .Release.Name }}"
|
||||||
|
port: 27015
|
||||||
|
weight: 10
|
||||||
|
nativeLB: false
|
||||||
|
|
||||||
|
tcpRoutes:
|
||||||
|
rcon:
|
||||||
|
routes:
|
||||||
|
- match: HostSNI(`*`)
|
||||||
|
services:
|
||||||
|
- name: "{{ .Release.Name }}"
|
||||||
|
port: 27015
|
||||||
|
nativeLB: true
|
||||||
|
storage:
|
||||||
|
data:
|
||||||
|
storageClassName: default
|
||||||
|
size: 45G
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
env:
|
||||||
|
environment:
|
||||||
|
sensitive: false
|
||||||
|
data:
|
||||||
|
SRCDS_PORT: "27015"
|
||||||
|
SRCDS_TV_PORT: "27020"
|
||||||
|
SRCDS_IP: "0"
|
||||||
|
SRCDS_FPSMAX: "300"
|
||||||
|
SRCDS_TICKRATE: "66"
|
||||||
|
SRCDS_MAXPLAYERS: "14"
|
||||||
|
SRCDS_REGION: "3"
|
||||||
|
SRCDS_STARTMAP: "ctf_2fort"
|
||||||
|
SRCDS_HOSTNAME: "New TF Server" # -- first launch only
|
||||||
|
SRCDS_CFG: "server.cfg"
|
||||||
|
SRCDS_MAPCYCLE: "mapcycle_default.txt" # -- value can be overwritten by tf/cfg/server.cfg
|
||||||
|
SRCDS_SECURED: "1" # -- 0 to start the server as insecured
|
||||||
|
secrets:
|
||||||
|
sensitive: true
|
||||||
|
data:
|
||||||
|
SRCDS_TOKEN: "" # -- value is is required to be listed & reachable, retrieve token here (AppID 440): https://steamcommunity.com/dev/managegameservers
|
||||||
|
extraVolumes:
|
||||||
|
# -- Because by default the fs is read-only, we need to add an emtpy dir volume
|
||||||
|
steam:
|
||||||
|
emptyDir: {}
|
||||||
|
files:
|
||||||
|
server-cfg:
|
||||||
|
sensitive: true
|
||||||
|
data:
|
||||||
|
server.cfg: |-
|
||||||
|
// General Settings //
|
||||||
|
// Hostname for server.
|
||||||
|
hostname "Team Fortress 2 Server"
|
||||||
|
// Overrides the max players reported to prospective clients
|
||||||
|
sv_visiblemaxplayers 24
|
||||||
|
// Maximum number of rounds to play before server changes maps
|
||||||
|
mp_maxrounds 5
|
||||||
|
// Set to lock per-frame time elapse
|
||||||
|
host_framerate 0
|
||||||
|
// Set the pause state of the server
|
||||||
|
setpause 0
|
||||||
|
// Control where the client gets content from
|
||||||
|
// 0 = anywhere, 1 = anywhere listed in white list, 2 = steam official content only
|
||||||
|
sv_pure 0
|
||||||
|
// Is the server pausable
|
||||||
|
sv_pausable 0
|
||||||
|
// Type of server 0=internet 1=lan
|
||||||
|
sv_lan 0
|
||||||
|
// Collect CPU usage stats
|
||||||
|
sv_stats 1
|
||||||
|
// Server password
|
||||||
|
sv_password "qwertyu9"
|
||||||
|
// Execute Banned Users //
|
||||||
|
exec banned_user.cfg
|
||||||
|
exec banned_ip.cfg
|
||||||
|
writeid
|
||||||
|
writeip
|
||||||
|
// Contact & Region //
|
||||||
|
// Contact email for server sysop
|
||||||
|
sv_contact test@example.com
|
||||||
|
// The region of the world to report this server in.
|
||||||
|
// -1 is the world, 0 is USA east coast, 1 is USA west coast
|
||||||
|
// 2 south america, 3 europe, 4 asia, 5 australia, 6 middle east, 7 africa
|
||||||
|
sv_region -1
|
||||||
|
// Rcon Settings //
|
||||||
|
// Password for rcon authentication (Remote CONtrol)
|
||||||
|
rcon_password "12345"
|
||||||
|
// Number of minutes to ban users who fail rcon authentication
|
||||||
|
sv_rcon_banpenalty 1440
|
||||||
|
// Max number of times a user can fail rcon authentication before being banned
|
||||||
|
sv_rcon_maxfailures 5
|
||||||
|
// Log Settings //
|
||||||
|
// Enables logging to file, console, and udp < on | off >.
|
||||||
|
log on
|
||||||
|
// Log server information to only one file.
|
||||||
|
sv_log_onefile 0
|
||||||
|
// Log server information in the log file.
|
||||||
|
sv_logfile 1
|
||||||
|
// Log server bans in the server logs.
|
||||||
|
sv_logbans 1
|
||||||
|
// Echo log information to the console.
|
||||||
|
sv_logecho 1
|
||||||
|
// Rate Settings //
|
||||||
|
// Frame rate limiter
|
||||||
|
fps_max 600
|
||||||
|
// Min bandwidth rate allowed on server, 0 == unlimited
|
||||||
|
sv_minrate 0
|
||||||
|
// Max bandwidth rate allowed on server, 0 == unlimited
|
||||||
|
sv_maxrate 20000
|
||||||
|
// Minimum updates per second that the server will allow
|
||||||
|
sv_minupdaterate 66
|
||||||
|
// Maximum updates per second that the server will allow
|
||||||
|
sv_maxupdaterate 66
|
||||||
|
// Download Settings //
|
||||||
|
// Allow clients to upload customizations files
|
||||||
|
sv_allowupload 1
|
||||||
|
// Allow clients to download files
|
||||||
|
sv_allowdownload 1
|
||||||
|
// Maximum allowed file size for uploading in MB
|
||||||
|
net_maxfilesize 15
|
||||||
|
// Team Balancing //
|
||||||
|
// Enable team balancing
|
||||||
|
mp_autoteambalance 1
|
||||||
|
// Time after the teams become unbalanced to attempt to switch players.
|
||||||
|
mp_autoteambalance_delay 60
|
||||||
|
// Time after the teams become unbalanced to print a balance warning
|
||||||
|
mp_autoteambalance_warning_delay 30
|
||||||
|
// Teams are unbalanced when one team has this many more players than the other team. (0 disables check)
|
||||||
|
mp_teams_unbalance_limit 1
|
||||||
|
// Round and Game Times //
|
||||||
|
// Enable timers to wait between rounds. WARNING: Setting this to 0 has been known to cause a bug with setup times lasting 5:20 (5 minutes 20 seconds) on some servers!
|
||||||
|
mp_enableroundwaittime 1
|
||||||
|
// Time after round win until round restarts
|
||||||
|
mp_bonusroundtime 8
|
||||||
|
// If non-zero, the current round will restart in the specified number of seconds
|
||||||
|
mp_restartround 0
|
||||||
|
// Enable sudden death
|
||||||
|
mp_stalemate_enable 1
|
||||||
|
// Timelimit (in seconds) of the stalemate round.
|
||||||
|
mp_stalemate_timelimit 300
|
||||||
|
// Game time per map in minutes
|
||||||
|
mp_timelimit 35
|
||||||
|
// Client CVars //
|
||||||
|
// Restricts spectator modes for dead players
|
||||||
|
mp_forcecamera 0
|
||||||
|
// Toggles whether the server allows spectator mode or not
|
||||||
|
mp_allowspectators 1
|
||||||
|
// Toggles footstep sounds
|
||||||
|
mp_footsteps 1
|
||||||
|
// Toggles game cheats
|
||||||
|
sv_cheats 0
|
||||||
|
// After this many seconds without a message from a client, the client is dropped
|
||||||
|
sv_timeout 900
|
||||||
|
// Maximum time a player is allowed to be idle (in minutes), made this and sv_timeout equal same time?
|
||||||
|
mp_idlemaxtime 15
|
||||||
|
// Deals with idle players 1=send to spectator 2=kick
|
||||||
|
mp_idledealmethod 2
|
||||||
|
// Time (seconds) between decal sprays
|
||||||
|
decalfrequency 30
|
||||||
|
// Communications //
|
||||||
|
// enable voice communications
|
||||||
|
sv_voiceenable 1
|
||||||
|
// Players can hear all other players, no team restrictions 0=off 1=on
|
||||||
|
sv_alltalk 0
|
||||||
|
// Amount of time players can chat after the game is over
|
||||||
|
mp_chattime 10
|
||||||
|
// Enable party mode
|
||||||
|
tf_birthday 0
|
Loading…
Reference in New Issue
Block a user