#!/bin/sh # Runs inside the container before the server starts: turns the .env settings (passed in as # environment variables) into home/baseq3/local.cfg, secrets.cfg and mappool_lg.txt. # server.cfg execs secrets.cfg and local.cfg; local.cfg ends with the map command. set -e B=/ql/home/baseq3 clean() { printf '%s' "$1" | tr -d '"\r'; } PW=$(tr -d '\r\n' < /ql/secrets/rcon-password.txt) [ -n "$PW" ] || { echo "mkcfg: secrets/rcon-password.txt is empty (run setup.sh)" >&2; exit 1; } case "$QL_LISTED" in yes|1|true) MASTER=1 ;; *) MASTER=0 ;; esac FACTORY=$(clean "${QL_FACTORY:-lgvamp}") MAP=$(clean "${QL_MAP:-thunderstruck}") case "$FACTORY" in lgvamp_nolag) TAGS="lg,vampiric,ffa" ;; *) TAGS="lg,vampiric,ffa,antilag" ;; esac umask 077 printf 'set zmq_rcon_password "%s"\n' "$(clean "$PW")" > $B/secrets.cfg umask 022 cat > $B/local.cfg < $B/mappool_lg.txt echo "mkcfg: $MAP $FACTORY, listed=$MASTER, port ${QL_PORT}"