2022-08-21 15:06:00 +02:00
|
|
|
#!bin/bash
|
|
|
|
|
|
|
|
hlds_build=8308
|
|
|
|
amxmod_version=1.8.2
|
|
|
|
jk_botti_version=1.43
|
|
|
|
steamcmd_url="https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"
|
|
|
|
hlds_url="https://github.com/DevilBoy-eXe/hlds/releases/download/$hlds_build/hlds_build_$hlds_build.zip"
|
|
|
|
metamod_url="https://github.com/mittorn/metamod-p/releases/download/1/metamod.so"
|
|
|
|
amxmod_url="http://www.amxmodx.org/release/amxmodx-$amxmod_version-base-linux.tar.gz"
|
|
|
|
jk_botti_url="http://koti.kapsi.fi/jukivili/web/jk_botti/jk_botti-$jk_botti_version-release.tar.xz"
|
|
|
|
|
2022-08-21 16:04:07 +02:00
|
|
|
if [ "$1" -z ]
|
2022-08-21 16:00:37 +02:00
|
|
|
then
|
|
|
|
XASHDS_PORT=27015
|
|
|
|
else
|
|
|
|
XASHDS_PORT=$1
|
|
|
|
fi
|
|
|
|
|
2022-08-21 15:28:03 +02:00
|
|
|
XASH3D_BASEDIR=$(pwd)/build
|
|
|
|
mkdir -p $XASH3D_BASEDIR/result
|
2022-08-21 15:06:00 +02:00
|
|
|
|
2022-08-21 15:28:03 +02:00
|
|
|
# Prerequisits satisfied?
|
2022-08-21 15:06:00 +02:00
|
|
|
sudo dpkg --add-architecture i386
|
2022-08-21 15:12:07 +02:00
|
|
|
apt-get install -y --no-install-recommends build-essential ca-certificates cmake curl git gnupg2 g++-multilib lib32gcc1-s1 libstdc++6:i386 python unzip xz-utils zip
|
2022-08-21 15:28:03 +02:00
|
|
|
|
|
|
|
## compile xash3ds
|
|
|
|
# go to build directory
|
|
|
|
cd $XASH3D_BASEDIR
|
2022-08-21 15:06:00 +02:00
|
|
|
git clone --recursive https://github.com/FWGS/xash3d
|
|
|
|
mkdir -p xash3d/build
|
|
|
|
|
|
|
|
cd xash3d/build
|
|
|
|
cmake -DXASH_DEDICATED=ON -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32" ../
|
|
|
|
make
|
2022-08-21 15:45:21 +02:00
|
|
|
mv engine/xash3d $XASH3D_BASEDIR/result/xashds
|
2022-08-21 15:06:00 +02:00
|
|
|
|
2022-08-21 15:28:03 +02:00
|
|
|
## get half-life data from steam
|
|
|
|
mkdir -p $XASH3D_BASEDIR/steam
|
|
|
|
cd $XASH3D_BASEDIR/steam
|
2022-08-21 15:06:00 +02:00
|
|
|
echo "login anonymous
|
2022-08-21 15:45:21 +02:00
|
|
|
force_install_dir $XASH3D_BASEDIR/result
|
2022-08-21 15:06:00 +02:00
|
|
|
app_set_config 90 mod valve
|
|
|
|
app_update 90
|
|
|
|
app_update 90
|
|
|
|
app_update 90 validate
|
|
|
|
app_update 90 validate
|
2022-08-21 15:28:03 +02:00
|
|
|
quit" > $XASH3D_BASEDIR/steam/hlds.install
|
2022-08-21 15:06:00 +02:00
|
|
|
|
|
|
|
curl -sL "$steamcmd_url" | tar xzvf -
|
|
|
|
./steamcmd.sh +runscript hlds.install
|
|
|
|
|
2022-08-21 15:48:13 +02:00
|
|
|
## i really dont know why, but in FGWS dockerfile they overwrite the fresh pulled steam hlds stuff with the release specific one.
|
2022-08-21 15:06:00 +02:00
|
|
|
curl -sLJO "$hlds_url"
|
2022-08-21 15:45:21 +02:00
|
|
|
unzip "hlds_build_$hlds_build.zip" -d "hlds_build_$hlds_build"
|
|
|
|
cp -R "hlds_build_$hlds_build/hlds"/* $XASH3D_BASEDIR/result/
|
2022-08-21 15:06:00 +02:00
|
|
|
|
|
|
|
|
2022-08-21 15:28:03 +02:00
|
|
|
touch $XASH3D_BASEDIR/result/valve/listip.cfg
|
|
|
|
touch $XASH3D_BASEDIR/result/valve/banned.cfg
|
2022-08-21 16:00:37 +02:00
|
|
|
echo "./xash3ds +ip 0.0.0.0 +port $XASHDS_PORT -pingboost 1 -timeout 3" > $XASH3D_BASEDIR/result/start.sh
|
2022-08-21 15:28:03 +02:00
|
|
|
chmod +x $XASH3D_BASEDIR/result/start.sh
|
|
|
|
cd $XASH3D_BASEDIR/result
|