45 lines
1.7 KiB
Bash
Executable File
45 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
HERE="$(dirname "$(readlink -f "${0}")")"
|
|
|
|
# Stash original environment values so they can be restored
|
|
# when switching to other mods using restore-environment
|
|
export OPENRA_ORIG_PATH="${PATH}"
|
|
export OPENRA_ORIG_XDG_DATA_DIRS="${XDG_DATA_DIRS}"
|
|
export OPENRA_ORIG_DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}"
|
|
export OPENRA_ORIG_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
|
|
export OPENRA_ORIG_MONO_PATH="${MONO_PATH}"
|
|
export OPENRA_ORIG_MONO_CFG_DIR="${MONO_CFG_DIR}"
|
|
export OPENRA_ORIG_MONO_CONFIG="${MONO_CONFIG}"
|
|
|
|
# Override runtime paths to use bundled mono and shared libraries
|
|
export PATH="${HERE}/usr/bin:${PATH}"
|
|
export XDG_DATA_DIRS="${HERE}/usr/share:${XDG_DATA_DIRS}"
|
|
export DYLD_LIBRARY_PATH="${HERE}/usr/lib:${DYLD_LIBRARY_PATH}"
|
|
export LD_LIBRARY_PATH="${HERE}/usr/lib:${LD_LIBRARY_PATH}"
|
|
export MONO_PATH="${HERE}/usr/lib/mono/4.5"
|
|
export MONO_CFG_DIR="${HERE}/etc"
|
|
export MONO_CONFIG="${HERE}/etc/mono/config"
|
|
|
|
# Update/create the mono certificate store to enable https web queries
|
|
if [ -f "/etc/pki/tls/certs/ca-bundle.crt" ]; then
|
|
mono "${HERE}/usr/lib/mono/4.5/cert-sync.exe" --quiet --user /etc/pki/tls/certs/ca-bundle.crt
|
|
elif [ -f "/etc/ssl/certs/ca-certificates.crt" ]; then
|
|
mono "${HERE}/usr/lib/mono/4.5/cert-sync.exe" --quiet --user /etc/ssl/certs/ca-certificates.crt
|
|
else
|
|
echo "WARNING: Unable to sync system certificate store - https requests will fail"
|
|
fi
|
|
|
|
# Run the game or server
|
|
if [ -n "$1" ] && [ "$1" = "--server" ]; then
|
|
# Drop the --server argument
|
|
shift
|
|
exec "openra-{MODID}-server" "$@"
|
|
elif [ -n "$1" ] && [ "$1" = "--utility" ]; then
|
|
# Drop the --utility argument
|
|
shift
|
|
exec "openra-{MODID}-utility" "$@"
|
|
else
|
|
exec "openra-{MODID}" "$@"
|
|
fi
|