added support for tybaus 0.19.4 version

This commit is contained in:
Marcus 2022-09-11 04:54:53 +02:00
parent 7a8b341bdc
commit cd854b53bb
1 changed files with 106 additions and 30 deletions

View File

@ -10,7 +10,7 @@ amxmod_url="http://www.amxmodx.org/release/amxmodx-$amxmod_version-base-linux.ta
jk_botti_url="http://koti.kapsi.fi/jukivili/web/jk_botti/jk_botti-$jk_botti_version-release.tar.xz" jk_botti_url="http://koti.kapsi.fi/jukivili/web/jk_botti/jk_botti-$jk_botti_version-release.tar.xz"
showhelp() { showhelp() {
echo "Usage: ./$0 [server|client] [install|update]" echo "Usage: ./$0 [server|client] [install|update] [0.19|0.20]"
echo "" echo ""
echo "Description: Script to install an Xash3D-FWGS client or Xash3D dedicated server with game data from steamcmd" echo "Description: Script to install an Xash3D-FWGS client or Xash3D dedicated server with game data from steamcmd"
echo "Server tested on Debian 11 ; Client tested on Ubuntu 20.04" echo "Server tested on Debian 11 ; Client tested on Ubuntu 20.04"
@ -19,28 +19,25 @@ showhelp() {
echo "Resources we are using:" echo "Resources we are using:"
echo $steamcmd_url echo $steamcmd_url
echo $hlds_url echo $hlds_url
echo https://github.com/FWGS/xash3d-fwgs echo "0.20: https://github.com/FWGS/xash3d-fwgs"
echo "0.19: https://gitlab.com/tyabus/xash3d"
exit 1 exit 1
} }
case $1 in case $3 in
"client") "0.19")
CLIENT=true XASH_GIT_URL="https://gitlab.com/tyabus/xash3d"
PACKAGES="git curl build-essential gcc-multilib g++-multilib python python2 libsdl2-dev:i386 libfontconfig-dev:i386 libfreetype6-dev:i386"
WAF_OPTION="--enable-utils --enable-stb"
export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
;; ;;
"server")
CLIENT=false "0.20")
XASHDS_PORT=27015 XASH_GIT_URL="https://github.com/FWGS/xash3d-fwgs"
CLIENT=false
PACKAGES="build-essential ca-certificates cmake curl git gnupg2 g++-multilib lib32gcc1-s1 libstdc++6:i386 python unzip xz-utils zip"
WAF_OPTION="-d"
;; ;;
*) *)
showhelp showhelp
;; ;;
esac esac
XASH_INSTALL_VERSION=$3
case $2 in case $2 in
"update") "update")
@ -53,13 +50,50 @@ case $2 in
showhelp showhelp
;; ;;
esac esac
XASH_INSTALL_MODE=$2
case $1 in
"client")
case $XASH_INSTALL_VERSION in
0.19)
CMAKE_OPTIONS='-DXASH_DOWNLOAD_DEPENDENCIES=yes -DXASH_STATIC=ON-DXASH_DLL_LOADER=ON -DXASH_VGUI=ON -DMAINUI_USE_STB=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32"'
;;
0.20)
PACKAGES="git curl build-essential gcc-multilib g++-multilib python python2 libsdl2-dev:i386 libfontconfig-dev:i386 libfreetype6-dev:i386"
WAF_OPTIONS="--enable-utils --enable-stb"
;;
esac
;;
"server")
case $XASH_INSTALL_VERSION in
0.19)
CMAKE_OPTIONS='-DXASH_DEDICATED=ON -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32"'
;;
0.20)
XASHDS_PORT=27015
PACKAGES="build-essential ca-certificates cmake curl git gnupg2 g++-multilib lib32gcc1-s1 libstdc++6:i386 python unzip xz-utils zip"
WAF_OPTIONS="-d"
;;
esac
;;
*)
showhelp
;;
esac
XASH_INSTALL_TYPE=$1
export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
echo "= Creating directories =" echo "= Creating directories ="
XASH3D_BASEDIR=$(pwd)/build XASH3D_BASEDIR=$(pwd)/build
XASH_GIT_DIR="$(echo ${XASH_GIT_URL} | cut -d / -f5)"
XASH3D_RESULTDIR=$XASH3D_BASEDIR/result XASH3D_RESULTDIR=$XASH3D_BASEDIR/result
test -d $XASH3D_RESULTDIR || mkdir -p $XASH3D_RESULTDIR test -d $XASH3D_RESULTDIR || mkdir -p $XASH3D_RESULTDIR
if [ "$2" == "install" ] if [ "$XASH_INSTALL_MODE" == "install" ]
then then
echo "= Performing apt install =" echo "= Performing apt install ="
sudo dpkg --add-architecture i386 sudo dpkg --add-architecture i386
@ -71,17 +105,31 @@ echo "= Compiling xash3d-fwgs ="
## compile xash3ds ## compile xash3ds
# go to build directory # go to build directory
cd $XASH3D_BASEDIR cd $XASH3D_BASEDIR
case $2 in case $XASH_INSTALL_MODE in
"install") "install")
git clone --recursive https://github.com/FWGS/xash3d-fwgs git clone --recursive $XASH_GIT_URL
mkdir -p xash3d-fwgs/bin/ mkdir -p ${XASH_GIT_DIR}/bin/
cd xash3d-fwgs cd ${XASH_GIT_DIR}/bin
;; ;;
"update") "update")
cd xash3d-fwgs cd ${XASH_GIT_DIR}
./waf clean case $XASH_INSTALL_VERSION in
rm bin/* 0.19)
git pull cd bin
cmake --cmake-clean-cache ../
cd ../
rm -Rf bin/*
git pull
cd bin
;;
0.20)
./waf clean
rm bin/*
git pull
;;
esac
;; ;;
*) *)
exit 1 exit 1
@ -95,13 +143,24 @@ esac
## oldstuff ## ## oldstuff ##
## build ## build
./waf configure -T release $WAF_OPTION
./waf -p build case $XASH_INSTALL_VERSION in
./waf install --destdir=bin/ 0.19)
cmake $CMAKE_OPTIONS ../
make -j2 #VERBOSE=1
;;
0.20)
./waf configure -T release $WAF_OPTIONS
./waf -p build
./waf install --destdir=bin/
;;
esac
## here we fetch half-life from steam server ## here we fetch half-life from steam server
if [ "$2" == "install" ] if [ "$XASH_INSTALL_MODE" == "install" ]
then then
mkdir -p $XASH3D_BASEDIR/steam mkdir -p $XASH3D_BASEDIR/steam
cd $XASH3D_BASEDIR/steam cd $XASH3D_BASEDIR/steam
@ -135,11 +194,28 @@ fi
## copy xash3d binaries to result ## copy xash3d binaries to result
## place Xash3D binaries in result and overwrite all ## place Xash3D binaries in result and overwrite all
echo "= copy xash3d binaries to build/result" echo "= copy xash3d binaries to build/result"
cp -R $XASH3D_BASEDIR/xash3d-fwgs/bin/* $XASH3D_RESULTDIR
case $XASH_INSTALL_VERSION in
0.19)
cd $XASH3D_BASEDIR/$XASH_GIT_DIR/bin
case $XASH_INSTALL_TYPE in
server)
cp -R engine/xash3d $XASH3D_RESULTDIR/xash
;;
client)
cp -R engine/xash3d mainui/libxashmenu.so vgui_support/libvgui_support.so vgui_support/vgui.so $XASH3D_RESULTDIR
;;
esac
;;
0.20)
cp -R $XASH3D_BASEDIR/$XASH_GIT_DIR/bin/* $XASH3D_RESULTDIR
;;
esac
# it seems that the build actually (21.08.2022) is buggy and does not exec server.cfg by its own # it seems that the build actually (21.08.2022) is buggy and does not exec server.cfg by its own
if [ "$1" == "server" ] && [ "$2" == "install" ] if [ "$XASH_INSTALL_TYPE" == "server" ] && [ "$XASH_INSTALL_MODE" == "install" ]
then then
echo "= Creating start.sh script for dedicated server in build/result =" echo "= Creating start.sh script for dedicated server in build/result ="
echo "./xash +ip 0.0.0.0 -port $XASHDS_PORT -pingboost 1 -timeout 3 +map boot_camp +exec server.cfg" > $XASH3D_BASEDIR/result/start.sh echo "./xash +ip 0.0.0.0 -port $XASHDS_PORT -pingboost 1 -timeout 3 +map boot_camp +exec server.cfg" > $XASH3D_BASEDIR/result/start.sh