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