mirror of
https://github.com/ChocoTaco1/docker-tribesnext-server.git
synced 2026-07-11 22:24:34 +00:00
Battlelore version merge
Prefered version
This commit is contained in:
parent
09eb245515
commit
881c922b99
14 changed files with 385 additions and 69 deletions
166
_scripts/cfg-admin-prefs
Normal file
166
_scripts/cfg-admin-prefs
Normal 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
20
_scripts/clean-up
Normal 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!"
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue