|
1 | 1 | #!/bin/bash
|
2 |
| -cd /home/container |
| 2 | +# Wait for the container to fully initialize |
| 3 | +sleep 1 |
3 | 4 |
|
4 |
| -# Make internal Docker IP address available to processes. |
| 5 | +# Default the TZ environment variable to UTC. |
| 6 | +TZ=${TZ:-UTC} |
| 7 | +export TZ |
| 8 | + |
| 9 | +# Set environment variable that holds the Internal Docker IP |
5 | 10 | INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
|
6 | 11 | export INTERNAL_IP
|
7 | 12 |
|
| 13 | +# Switch to the container's working directory |
| 14 | +cd /home/container || exit 1 |
| 15 | + |
| 16 | +if [ ! -z "${SRCDS_APPID}" ]; then |
| 17 | + ## just in case someone removed the defaults. |
| 18 | + if [ "${STEAM_USER}" == "" ]; then |
| 19 | + echo -e "steam user is not set.\n" |
| 20 | + echo -e "Using anonymous user.\n" |
| 21 | + STEAM_USER=anonymous |
| 22 | + STEAM_PASS="" |
| 23 | + STEAM_AUTH="" |
| 24 | + else |
| 25 | + echo -e "user set to ${STEAM_USER}" |
| 26 | + fi |
| 27 | + |
| 28 | + ## if auto_update is not set or to 1 update |
| 29 | + if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then |
| 30 | + # Update Source Server |
| 31 | + if [ ! -z ${SRCDS_APPID} ]; then |
| 32 | + if [ "${STEAM_USER}" == "anonymous" ]; then |
| 33 | + ./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit |
| 34 | + else |
| 35 | + numactl --physcpubind=+0 ./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit |
| 36 | + fi |
| 37 | + else |
| 38 | + echo -e "No appid set. Starting Server" |
| 39 | + fi |
| 40 | + |
| 41 | + else |
| 42 | + echo -e "Not updating game server as auto update was set to 0. Starting Server" |
| 43 | + fi |
| 44 | +fi |
| 45 | + |
| 46 | + |
8 | 47 | # Replace Startup Variables
|
9 |
| -MODIFIED_STARTUP="eval $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')" |
10 |
| -echo ":/home/container$ ${MODIFIED_STARTUP}" |
| 48 | +MODIFIED_STARTUP=$(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') |
| 49 | +echo -e ":/home/container$ ${MODIFIED_STARTUP}" |
11 | 50 |
|
12 | 51 | # Run the Server
|
13 |
| -${MODIFIED_STARTUP} |
| 52 | +eval ${MODIFIED_STARTUP} |
0 commit comments