Skip to content

Commit

Permalink
Merge pull request #55 from joedwards32/53-metamod-gameinfogi-and-pre…
Browse files Browse the repository at this point in the history
…-hooks

Added basic support for pre/post hooks
  • Loading branch information
joedwards32 authored Nov 5, 2023
2 parents f4e25c5 + b8d6fe4 commit 47b8929
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 0 deletions.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,17 @@ TV_MAXRATE=0 (Max CSTV spectator bandwidth rate allowed, 0 == unl
TV_DELAY=0 (CSTV broadcast delay in seconds)
```

# Customizing this Container

## Pre and Post Hooks

The container includes two scripts for executing custom actions:

* `/home/steam/cs2-dedicated/pre.sh` is executed before the CS2 server starts
* `/home/steam/cs2-dedicated/post.sh` is executed after the CS2 server stops

When using a persient volume mounted at `/home/steam/cs2-dedicated/` you may edit these scripts to perform custom actions, such as enabling metamod.

# Credits

This container leans heavily on the work of [CM2Walki](https://github.com/CM2Walki/), especially his [SteamCMD](https://github.com/CM2Walki/steamcmd) container image. GG!
2 changes: 2 additions & 0 deletions bullseye/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ ENV CFG_URL https://raw.githubusercontent.com/joedwards32/CS2/settings.tgz

COPY etc/entry.sh "${HOMEDIR}/entry.sh"
COPY etc/server.cfg "/etc/server.cfg"
COPY etc/pre.sh "/etc/pre.sh"
COPY etc/post.sh "/etc/post.sh"

RUN set -x \
# Install, update & upgrade packages
Expand Down
16 changes: 16 additions & 0 deletions bullseye/etc/entry.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash

# Create App Dir
mkdir -p "${STEAMAPPDIR}" || true

# Download Updates
Expand Down Expand Up @@ -27,6 +29,14 @@ sed -i -e "s/{{SERVER_HOSTNAME}}/${CS2_SERVERNAME}/g" \
-e "s/{{TV_DELAY}}/${TV_DELAY}/g" \
"${STEAMAPPDIR}"/game/csgo/cfg/server.cfg

# Install hooks
if [[ ! -f "${STEAMAPPDIR}/pre.sh" ]] ; then
cp /etc/pre.sh "${STEAMAPPDIR}/pre.sh"
fi
if [[ ! -f "${STEAMAPPDIR}/post.sh" ]] ; then
cp /etc/post.sh "${STEAMAPPDIR}/post.sh"
fi

# Rewrite Config Files

if [[ ! -z $CS2_BOT_DIFFICULTY ]] ; then
Expand All @@ -42,6 +52,9 @@ fi
# Switch to server directory
cd "${STEAMAPPDIR}/game/bin/linuxsteamrt64"

# Pre Hook
bash "${STEAMAPPDIR}/pre.sh"

# Construct server arguments

if [[ -z $CS2_GAMEALIAS ]]; then
Expand Down Expand Up @@ -70,3 +83,6 @@ eval "./cs2" -dedicated \
+rcon_password "${CS2_RCONPW}" \
+sv_password "${CS2_PW}" \
"${CS2_ADDITIONAL_ARGS}"

# Post Hook
bash "${STEAMAPPDIR}/post.sh"
5 changes: 5 additions & 0 deletions bullseye/etc/post.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

# POST HOOK
# Make your customisation here
echo "post-hook: noop"
5 changes: 5 additions & 0 deletions bullseye/etc/pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

# PRE HOOK
# Make your customisation here
echo "pre-hook: noop"

0 comments on commit 47b8929

Please sign in to comment.