Battlelore version merge

Prefered version
This commit is contained in:
ChocoTaco 2019-12-22 15:22:08 -05:00
parent 09eb245515
commit 881c922b99
14 changed files with 385 additions and 69 deletions

166
_scripts/cfg-admin-prefs Normal file
View file

@ -0,0 +1,166 @@
#!/bin/bash
SRVUSER=gameserv
ADMINPREFS_FILE=/home/$SRVUSER/.wine32/drive_c/Dynamix/Tribes2/GameData/Classic/scripts/autoexec/AdminPrefs.cs
SECRETS=/run/secrets
# -- set Admin Password
cat ${SECRETS}/t2.admin.password >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set classic SA PW
cat ${SECRETS}/t2.classic.superadmin.password >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set classic telnet listen password
cat ${SECRETS}/t2.classic.telnet.listen.password >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set classic telnet password
cat ${SECRETS}/t2.classic.telnet.password >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set sa/admin lists
echo "\$Host::AdminList = \"${T2_ADMIN_LIST}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::SuperAdminList = \"${T2_SA_LIST}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set server name
echo "\$Host::GameName = \"${T2_SERVERNAME}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set mission type
echo "\$Host::MissionType = \"${T2_DEFAULT_MISSIONTYPE}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- time limit
echo "\$Host::TimeLimit = \"${T2_TimeLimit}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set map
echo "\$Host::Map = \"${T2_DEFAULT_MAP}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set max players
echo "\$Host::MaxPlayers = \"${T2_MAX_PLAYERS}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set telnet on/off
echo "\$Host::ClassicTelnet = ${T2_Telnet};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::ClassicTelnetPort = ${T2_Telnet_Port};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set admin voting options
echo "\$Host::allowAdminPlayerVotes = ${T2_VoteAdmin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EvoAdminMinPlayers = ${T2_VoteAdminPlayerMin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EvoAdminAdmin = ${T2_Admin2AdminOthers};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set baserape
echo "\$Host::EvoNoBaseRapeClassicPlayerCount = ${T2_BaseRapeMin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EvoNoBaseRapePlayerCount = ${T2_BaseRapeMin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set turret min
echo "\$Host::EnableTurretPlayerCount = ${T2_TurretMin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set cloak pack min
echo "\$Host::AntiCloakPlayerCount = ${T2_CloakMin};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set packet settings
echo "\$Host::ClassicPacketRateToClient = ${T2_PacketRate};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::ClassicPacketSize = ${T2_PacketSize};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set observer timeout
echo "\$Host::EvoKickObservers = ${T2_ObserverTimeout};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set ban time
echo "\$Host::BanTime = ${T2_BanTime};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set empty server reset
if [ "T2_EmptyServerReset" = 1 ]
then
echo "\$Host::EmptyServerReset = ${T2_EmptyServerReset};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EmptyServerResetTime = ${T2_EmptyServerResetTime};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
fi
# -- set PUG always on
if [ "$T2_PUGPW_ALWAYSON" = 1 ]
then
echo "\$Host::PUGpasswordAlwaysOn = ${T2_PUGPW_ALWAYSON};" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
fi
# -- set server/pug pw
echo "\$Host::PUGPassword = \"${T2_PUG_PASSWORD}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::PUGautoPassword = \"${T2_PUGAUTOPW_TOURNY}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set smurfs
echo "\$Host::NoSmurfs = \"${T2_NoSmurfs}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set Evo Centerprint Banner
echo "\$Host::EvoMOTD = \"${T2_JoinBanner}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EvoMOTDlines = \"${T2_JoinBannerLines}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::EvoMOTDtime = \"${T2_JoinBannerTime}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
# -- set Loading Screen Options
echo "\$Host::LoadScreenColor1 = \"${T2_LoadScreenColor1}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenColor2 = \"${T2_LoadScreenColor2}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenColor3 = \"${T2_LoadScreenColor3}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine1 = \"${T2_LoadScreenLine1}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine1_Msg = \"${T2_LoadScreenLine1_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine2 = \"${T2_LoadScreenLine2}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine2_Msg = \"${T2_LoadScreenLine2_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine3 = \"${T2_LoadScreenLine3}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine3_Msg = \"${T2_LoadScreenLine3_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine4 = \"${T2_LoadScreenLine4}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine4_Msg = \"${T2_LoadScreenLine4_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine5 = \"${T2_LoadScreenLine5}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine5_Msg = \"${T2_LoadScreenLine5_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine6 = \"${T2_LoadScreenLine6}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenLine6_Msg = \"${T2_LoadScreenLine6_Msg}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenMOTD1 = \"${T2_LoadScreenMOTD1}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenMOTD2 = \"${T2_LoadScreenMOTD2}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenMOTD3 = \"${T2_LoadScreenMOTD3}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE
echo "\$Host::LoadScreenMOTD4 = \"${T2_LoadScreenMOTD4}\";" >> $ADMINPREFS_FILE
printf "\n" >> $ADMINPREFS_FILE

20
_scripts/clean-up Normal file
View file

@ -0,0 +1,20 @@
#!/bin/bash
echo "Removing old installers"
[ -f TribesNext_RC2_LinuxVersion.zip ] && rm TribesNext_RC2_LinuxVersion.zip
[ -f TribesNext_rc2a.exe ] && rm TribesNext_rc2a.exe
[ -f classic_v152.zip ] && rm classic_v152.zip
[ -f ruby-1.9.0-2-i386-mswin32.zip ] && rm ruby-1.9.0-2-i386-mswin32.zip
[ -f tribes2gsi.exe ] && rm tribes2gsi.exe
echo "Done!"
echo "Removing TacoServer TribesNext Incompatibilities"
# Remove zAdvancedStatsLogless.vl2: causes issues connecting without TN
rm $1/GameData/Classic/zAdvancedStatsLogless.vl2
# Remove checkVer: Wont work anyway without TN
rm $1/GameData/Classic/scripts/autoexec/zCheckVer.cs
echo "Done!"

View file

@ -1,11 +1,18 @@
#!/bin/bash
export WINEPREFIX=/home/gameserv/.wine
export WINEPREFIX=/home/gameserv/.wine32
export WINEARCH=win32
BASEDIR=$WINEPREFIX/drive_c/Dynamix/Tribes2/GameData
echo "Update Admin & Server Prefs..."
/tmp/tribes2/cfg-admin-prefs
echo "Finished!"
find ${BASEDIR} -name \*.dso -execdir /bin/rm {} \;
cd $WINEPREFIX/drive_c/Dynamix/Tribes2/GameData
wine --version
xvfb-run -a -w 5 $WINEVER Tribes2.exe -dedicated -mod Classic
echo "Running the Tribes 2 server"
xvfb-run -a -w 5 wine Tribes2d.exe -nologin -dedicated -mod Classic

View file

@ -7,10 +7,11 @@
#
SRVUSER=gameserv
INSBASE=/home/$SRVUSER/.wine/drive_c/Dynamix/
INSBASE=/home/$SRVUSER/.wine32/drive_c/Dynamix/
export TMPBASE=/tmp/tribes2
export WINEPREFIX=/home/$SRVUSER/.wine/
export REQUIREMENTS=($WINEVER Xvfb)
export WINEARCH=win32
export WINEPREFIX=/home/$SRVUSER/.wine32/
export REQUIREMENTS=(wine Xvfb)
# -- server requirements
function check_requirements {
@ -51,13 +52,9 @@ fi
# -- download files
get_files tribes2gsi.exe "https://www.the-construct.net/downloads/tribes2/" "$TMPBASE"
get_files TribesNext_rc2a.exe "https://www.tribesnext.com/files/" "$TMPBASE"
get_files ruby-1.9.0-2-i386-mswin32.zip "https://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/unstable/" "$TMPBASE"
get_files tribes2-lan-fix-win32.zip "http://t2.plugh.us/" "$TMPBASE"
get_files classic_v152.zip "https://tribes2stats.com/files/mods/" "$TMPBASE"
git clone "https://github.com/ChocoTaco1/TacoServer/" "$TMPBASE/TacoServer"
git clone "https://github.com/ChocoTaco1/TacoMaps/" "$TMPBASE/TacoMaps"
# -- some items require an headerless
export DISPLAY=:99
[ ! $(pidof Xvfb) ] && Xvfb :99 -screen 0 640x480x8 -nolisten tcp & 2>&1 > /dev/null
@ -67,9 +64,9 @@ export DISPLAY=:99
sleep 1
# -- extract the main installer, the silent installer is a lie!
echo "Installing tribes2gsi.exe..."
/usr/bin/$WINEVER $TMPBASE/tribes2gsi.exe /x Z:\\tmp\\tribes2\\game
# -- extract the main installer, the silent installer is a lie!
echo "Installing T2..."
/usr/bin/wine $TMPBASE/tribes2gsi.exe /x Z:\\tmp\\tribes2\\game
# -- move all extract files into place
@ -248,41 +245,30 @@ then
mv $TMPBASE/game/weapTurretCode.cs $INSBASE/Tribes2/GameData/Classic/scripts/weapTurretCode.cs
mv $TMPBASE/game/zz_Classic_client_v1.vl2 $INSBASE/Tribes2/GameData/base/zz_Classic_client_v1.vl2
mv $TMPBASE/game/zz.ini $INSBASE/Tribes2/GameData/zz.ini
echo "T2 installed!"
fi
# -- install tribesnext silently
echo "Installing TribesNext_rc2a.exe..."
[ -f $TMPBASE/TribesNext_rc2a.exe ] && /usr/bin/$WINEVER $TMPBASE/TribesNext_rc2a.exe /S
# -- update Ruby v1.9.0-2
echo "Installing Ruby Interpreter v1.9.0-2..."
[ -f $TMPBASE/ruby-1.9.0-2-i386-mswin32.zip ] && /usr/bin/unzip -o $TMPBASE/ruby-1.9.0-2-i386-mswin32.zip -d $TMPBASE/ruby 2>&1 > /dev/null
if [ -f $TMPBASE/ruby-1.9.0-2-i386-mswin32.zip ]
then
cp -r $TMPBASE/ruby/bin/msvcrt-ruby190.dll $INSBASE/Tribes2/GameData/msvcrt-ruby190.dll
fi
echo "Installing Classic Mod v1.5.2"
# -- update Classic mod to v1.5.2
echo "Installing Classic mod to v1.5.2..."
[ -f $TMPBASE/classic_v152.zip ] && /usr/bin/unzip -o $TMPBASE/classic_v152.zip -d $TMPBASE/classic 2>&1 > /dev/null
[ -f $TMPBASE/classic/classic_files_v152.zip ] && /usr/bin/unzip -o $TMPBASE/classic/classic_files_v152.zip -d $TMPBASE/classic 2>&1 > /dev/null
# -- move all extract files into place
if [ -f $TMPBASE/classic/classic_files_v152.zip ]
then
# /home/gameserv/.wine/drive_c/Dynamix/Tribes2/GameData/Classic
# /home/gameserv/.wine32/drive_c/Dynamix/Tribes2/GameData/Classic
mv -f $TMPBASE/classic/base/zz_classic_client_v1.vl2 $INSBASE/Tribes2/GameData/base/zz_Classic_client_v1.vl2
cp -r $TMPBASE/classic/classic/. $INSBASE/Tribes2/GameData/Classic/.
fi
# -- install TacoServer
echo "Installing TacoServer..."
cp -r $TMPBASE/TacoServer/Classic/. $INSBASE/Tribes2/GameData/Classic/.
# -- install TacoMaps
echo "Installing TacoMaps..."
mkdir -p $INSBASE/Tribes2/GameData/Classic/Maps
cp -r $TMPBASE/TacoMaps/. $INSBASE/Tribes2/GameData/Classic/Maps/
# -- install LAN fix
echo "Installing Tribes2 Lan Fix (Win32)..."
# -- run the bat and output the patched file (Tribes2d.exe)
[ -f $TMPBASE/tribes2-lan-fix-win32.zip ] && /usr/bin/unzip -o $TMPBASE/tribes2-lan-fix-win32.zip -d $INSBASE/Tribes2/GameData 2>&1 > /dev/null
cd $INSBASE/Tribes2/GameData/ && wineconsole xdelta3 decode -s Tribes2.exe tribes2-lan-fix-win32.xdelta Tribes2d.exe
exit 0
echo "Finished setting up T2!"
exit 0