Compare commits

14 Commits

Author SHA1 Message Date
cclecle
7e66f9ea1c upload fixed version 2025-08-25 20:56:05 +02:00
b74f552dd5 Update 'Run.sh' 2023-04-15 20:04:53 +02:00
6216679c83 Mise à jour de 'Run.sh' 2022-07-25 18:24:50 +00:00
b6d173f0fc Mise à jour de 'Run.sh' 2022-07-25 17:50:24 +00:00
2a704ffe2d Mise à jour de 'Run.sh' 2022-07-25 13:48:42 +00:00
a52fba8c37 Mise à jour de 'Run.sh' 2022-07-24 18:43:35 +00:00
3fce42284d Mise à jour de 'Run.sh' 2022-07-24 18:41:11 +00:00
85a145d15f Mise à jour de 'Run.sh' 2022-07-24 18:38:54 +00:00
dde16732b2 Mise à jour de 'Run.sh' 2022-07-24 18:34:57 +00:00
802b2b032a Mise à jour de 'Run.sh' 2022-06-10 21:58:13 +00:00
09c04f4037 Mise à jour de 'Run.sh' 2022-05-15 21:55:36 +00:00
5528554efa integ 2022-05-14 11:29:04 +02:00
21234d6aae Mise à jour de 'Run.sh' 2022-05-08 23:18:17 +00:00
a196f7d4c8 fix install script 2022-05-08 19:21:37 +02:00
2 changed files with 104 additions and 38 deletions

142
Run.sh Normal file → Executable file
View File

@@ -1,53 +1,118 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
OUTPUT_DIR="$2"
CFG_FILE="$3"
DEFAULT_CFG_FILE=UnrealTournament.ini
CFG_FILE="${3:-$DEFAULT_CFG_FILE}"
function add_iniKeyEx() {
crudini --set $OUTPUT_DIR/System/$1 "$2" __"$3" "$4"
# Warning: ugly hack with sed to allow multiple key instances + to remove space around '='
sed -i "s/[[:space:]]*__$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*/$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')=/g" $OUTPUT_DIR/System/$1
}
function set_iniKeyEx() {
crudini --set $OUTPUT_DIR/System/$1 "$2" "$3" "$4"
}
# !!Warning!! section is not considered
function del_iniKeyEx() {
sed -i "/[[:space:]]*$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*$(echo $4 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/d" $OUTPUT_DIR/System/$1
}
function add_iniKey() {
add_iniKeyEx $CFG_FILE "$1" "$2" "$3"
}
function set_iniKey() {
set_iniKeyEx $CFG_FILE "$1" "$2" "$3"
}
# !!Warning!! section is not considered
function del_iniKey() {
del_iniKeyEx $CFG_FILE "$1" "$2" "$3"
}
function add_ServerPackage() {
add_iniKey 'Engine.GameEngine' ServerPackages "$1"
add_iniKey 'XC_Engine.XC_GameEngine' ServerPackages "$1"
}
function del_ServerPackage() {
del_iniKey 'Engine.GameEngine' ServerPackages "$1"
del_iniKey 'XC_Engine.XC_GameEngine' ServerPackages "$1"
}
function add_ServerActors() {
add_iniKey 'Engine.GameEngine' ServerActors "$1"
add_iniKey 'XC_Engine.XC_GameEngine' ServerActors "$1"
}
function del_ServerActors() {
del_iniKey 'Engine.GameEngine' ServerActors "$1"
del_iniKey 'XC_Engine.XC_GameEngine' ServerActors "$1"
}
function getmodprefix() {
echo "XServerQuery"
}
function install() {
cp $SCRIPT_DIR/Help $OUTPUT_DIR/Help -Rf
cp $SCRIPT_DIR/System $OUTPUT_DIR/System -Rf
rsync -a $SCRIPT_DIR/System/ $OUTPUT_DIR/System/ --exclude '.git'
echo install ok
}
function enable() {
# Warning: ugly hack with sed to allow multiple key instances
#crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerPackages $SSBBaseName
#sed -i 's/_ServerPackages/ServerPackages/g' $OUTPUT_DIR/System/$CFG_FILE
#crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerActors $SSBBaseName.SmartSBServerActor
#sed -i 's/_ServerActors/ServerActors/g' $OUTPUT_DIR/System/$CFG_FILE
# TODO
BaseName="$(getmodprefix)"
del_ServerActors IpServer.UdpServerQuery
del_ServerActors "IpServer.UdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900"
del_ServerActors "IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900"
del_ServerActors "IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900"
del_ServerActors "IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900"
del_ServerActors "IpServer.UdpServerUplink MasterServerAddress=master.telefragged.com MasterServerPort=27500"
add_ServerActors XServerQuery.XServerQuery
add_ServerActors "XServerQuery.XServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900"
add_ServerActors "XServerQuery.XServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900"
add_ServerActors "XServerQuery.XServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900"
echo enable ok
}
function disable() {
#sed -i "/ServerPackages[[:space:]]*=[[:space:]]*$SSBBaseName/d" $OUTPUT_DIR/System/$CFG_FILE
#sed -i "/ServerPackages[[:space:]]*=[[:space:]]*SmartSBStats/d" $OUTPUT_DIR/System/$CFG_FILE
#sed -i "/ServerActors[[:space:]]*=[[:space:]]*$SSBBaseName.SmartSBServerActor/d" $OUTPUT_DIR/System/$CFG_FILE
# TODO
BaseName="$(getmodprefix)"
add_ServerActors IpServer.UdpServerQuery
add_ServerActors "IpServer.UdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900"
add_ServerActors "IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900"
add_ServerActors "IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900"
del_ServerActors XServerQuery.XServerQuery
del_ServerActors "XServerQuery.XServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900"
del_ServerActors "XServerQuery.XServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900"
del_ServerActors "XServerQuery.XServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900"
echo disable ok
}
function show_help() {
echo
echo "Usage: $0 { install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
echo "Usage: $0 { getmodprefix | install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>] [<CONFIG_KEY> <CONFIG_VALUE>]"
echo
}
function check_cfg_file() {
if [ -z ${CFG_FILE} ]
function check_cfg_file_config() {
if [ $# -eq 4 ]
then
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
CFG_FILE=$DEFAULT_CFG_FILE
else
elif [ $# -eq 5 ]
then
echo "CFG_FILE is set to '$CFG_FILE'"
else
echo "Wrong number of arguments"
show_help
exit 9999 # die with error code 9999
fi
if [ ! -f $OUTPUT_DIR/System/$CFG_FILE ]
then
echo "$OUTPUT_DIR/System/$CFG_FILE does not exist"
show_help
exit 9999 # die with error code 9999
fi
}
function check_cfg_file_gen() {
if [ -z ${CFG_FILE} ]
then
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
CFG_FILE=$DEFAULT_CFG_FILE
else
echo "CFG_FILE is set to '$CFG_FILE'"
fi
if [ ! -f $OUTPUT_DIR/System/$CFG_FILE ]
then
echo "$OUTPUT_DIR/System/$CFG_FILE does not exist"
@@ -55,37 +120,38 @@ function check_cfg_file() {
exit 9999 # die with error code 9999
fi
}
function check_game_dir() {
### Check if a directory does not exist ###
if [ ! -d $OUTPUT_DIR ]
if [ -z $OUTPUT_DIR ]
then
echo "incorrect <UT99_INSTALL_DIR>"
show_help
exit 9999 # die with error code 9999
fi
}
case "$1" in
'install')
'getmodprefix')
check_game_dir
install
getmodprefix
;;
'install')
check_game_dir "$@"
install "$@"
;;
'enable')
check_game_dir
check_cfg_file
disable
enable
check_game_dir "$@"
check_cfg_file_gen "$@"
disable "$@"
enable "$@"
;;
'disable')
check_game_dir
check_cfg_file
disable
check_game_dir "$@"
check_cfg_file_gen "$@"
disable "$@"
;;
*)
show_help
exit 1
;;
esac
exit 0
exit 0

Binary file not shown.