updates
This commit is contained in:
89
start.sh
89
start.sh
@@ -18,13 +18,7 @@ export RESTART_INTERVAL=$((60 * 60 * 4 + 3))
|
|||||||
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
# Helper functions
|
# Helper functions
|
||||||
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
if [ ! "$DEBUG" ] ; then
|
alias do_sync='rsync -rltDh --delete --partial'
|
||||||
alias do_sync='rsync -rltDhu --delete --partial'
|
|
||||||
alias do_secure_sync='rsync -crltDhu --delete --partial'
|
|
||||||
else
|
|
||||||
alias do_sync='rsync -vrltDhu --delete --partial --progress'
|
|
||||||
alias do_secure_sync='rsync -cvrltDhu --delete --partial --progress'
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg() {
|
msg() {
|
||||||
>&2 printf '[*] %s ...\n' "$*"
|
>&2 printf '[*] %s ...\n' "$*"
|
||||||
@@ -145,9 +139,10 @@ load_mods() {
|
|||||||
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
load_stock_map_data() {
|
load_stock_map_data() {
|
||||||
mkdir -p "$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME"
|
mkdir -p "$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME"
|
||||||
do_sync --exclude="*storage_1*" \
|
do_sync --exclude='*storage_1*' \
|
||||||
"$DAYZ_FILES/stock/maps/$MAP_FOLDER_NAME"/ \
|
"$DAYZ_FILES/stock/maps/$MAP_FOLDER_NAME"/ \
|
||||||
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME"
|
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME" || \
|
||||||
|
die "Failed to copy stock map data"
|
||||||
}
|
}
|
||||||
|
|
||||||
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
@@ -179,7 +174,6 @@ patch_types() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh" ] ; then
|
if [ -f "$DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh" ] ; then
|
||||||
|
|
||||||
cp -f "$DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh" \
|
cp -f "$DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh" \
|
||||||
"$SERVER_HOME"/
|
"$SERVER_HOME"/
|
||||||
|
|
||||||
@@ -188,9 +182,74 @@ patch_types() {
|
|||||||
sh "$SERVER_HOME/$MAP_FOLDER_NAME.sh" \
|
sh "$SERVER_HOME/$MAP_FOLDER_NAME.sh" \
|
||||||
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/db/types.xml" || \
|
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/db/types.xml" || \
|
||||||
die "Failed while running maps types edit script"
|
die "Failed while running maps types edit script"
|
||||||
|
|
||||||
else
|
else
|
||||||
warn "Could not find $DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh"
|
die "Could not find $DAYZ_FILES/server_configs/types/$MAP_FOLDER_NAME.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if we're on namalsk, we will have a types_dzn.xml as well
|
||||||
|
# this file contains the frozen food etc unique namalsk items
|
||||||
|
case $MAP_FOLDER_NAME in
|
||||||
|
*namalsk*)
|
||||||
|
DZN_FILE=namalsk_dzn.sh
|
||||||
|
msg "Patching $DZN_FILE"
|
||||||
|
if [ -f "$DAYZ_FILES/server_configs/types/$DZN_FILE" ] ; then
|
||||||
|
cp -f "$DAYZ_FILES/server_configs/types/$DZN_FILE" \
|
||||||
|
"$SERVER_HOME"/
|
||||||
|
|
||||||
|
cd "$SERVER_HOME" || die "could not cd to $SERVER_HOME"
|
||||||
|
|
||||||
|
sh "$SERVER_HOME/$DZN_FILE" \
|
||||||
|
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/db/types_dzn.xml" || \
|
||||||
|
die "Failed while running maps types edit script on types_dzn.xml"
|
||||||
|
else
|
||||||
|
die "Could not find $DAYZ_FILES/server_configs/types/$DZN_FILE"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
load_customtypes() {
|
||||||
|
if [ -d "$DAYZ_FILES/server_configs/types/custom.$MAP_FOLDER_NAME" ] ; then
|
||||||
|
CUSTOM_TYPES="$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/customtypes"
|
||||||
|
CFG_ECORE="$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/cfgeconomycore.xml"
|
||||||
|
|
||||||
|
mkdir -p "$CUSTOM_TYPES"
|
||||||
|
do_sync "$DAYZ_FILES/server_configs/types/custom.$MAP_FOLDER_NAME"/ \
|
||||||
|
"$CUSTOM_TYPES"
|
||||||
|
|
||||||
|
for xml in "$CUSTOM_TYPES"/*.xml ; do
|
||||||
|
debug " - Found custom type: ${xml##*/}"
|
||||||
|
if [ -f "$xml" ] ; then
|
||||||
|
sed -E -i '/<\/economycore>/d' "$CFG_ECORE"
|
||||||
|
|
||||||
|
printf '\n<ce folder="db">\n<file name="customtypes/%s" type="types" />\n</ce>\n\n' "${xml##*/}" \
|
||||||
|
>> "$CFG_ECORE"
|
||||||
|
|
||||||
|
printf '%s\n' '</economycore>' >> "$CFG_ECORE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ============== custom SPAWNABLE types ===================
|
||||||
|
if [ -d "$DAYZ_FILES/server_configs/types/spawnabletypes.$MAP_FOLDER_NAME" ] ; then
|
||||||
|
msg "Copying custom spawnable types"
|
||||||
|
|
||||||
|
CUSTOM_SPAWNABLE_TYPES="$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/spawnabletypes"
|
||||||
|
CFG_SPAWNABLE_TYPES="$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/cfgspawnabletypes.xml"
|
||||||
|
|
||||||
|
mkdir -p "$CUSTOM_SPAWNABLE_TYPES"
|
||||||
|
do_sync "$DAYZ_FILES/server_configs/types/spawnabletypes.$MAP_FOLDER_NAME"/ \
|
||||||
|
"$CUSTOM_SPAWNABLE_TYPES"
|
||||||
|
|
||||||
|
for xml in "$CUSTOM_SPAWNABLE_TYPES"/*.xml ; do
|
||||||
|
debug " - Found custom spawnabletype: ${xml##*/}"
|
||||||
|
if [ -f "$xml" ] ; then
|
||||||
|
sed -E -i '/<\/spawnabletypes>/d' "$CFG_SPAWNABLE_TYPES"
|
||||||
|
cat "$xml" >> "$CFG_SPAWNABLE_TYPES"
|
||||||
|
printf '%s\n' '</spawnabletypes>' >> "$CFG_SPAWNABLE_TYPES"
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,7 +279,7 @@ load_configs() {
|
|||||||
|
|
||||||
if [ -f "$DAYZ_FILES/server_configs/mpmissions/$MAP_FOLDER_NAME/init.c" ] ; then
|
if [ -f "$DAYZ_FILES/server_configs/mpmissions/$MAP_FOLDER_NAME/init.c" ] ; then
|
||||||
debug "Found: init.c -- Copying."
|
debug "Found: init.c -- Copying."
|
||||||
do_secure_sync \
|
do_sync \
|
||||||
"$DAYZ_FILES/server_configs/mpmissions/$MAP_FOLDER_NAME/init.c" \
|
"$DAYZ_FILES/server_configs/mpmissions/$MAP_FOLDER_NAME/init.c" \
|
||||||
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/init.c" || \
|
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME/init.c" || \
|
||||||
die "failed to copy init.c"
|
die "failed to copy init.c"
|
||||||
@@ -290,8 +349,8 @@ main() {
|
|||||||
msg "Copying server configs"
|
msg "Copying server configs"
|
||||||
load_configs || die "Failed to load configs"
|
load_configs || die "Failed to load configs"
|
||||||
|
|
||||||
# msg "Creating custom types list"
|
msg "Creating custom types list"
|
||||||
#############################
|
load_customtypes || die "Failed to load custom types"
|
||||||
|
|
||||||
echo '===================================='
|
echo '===================================='
|
||||||
printf '%s - Server started.\n' "$(date)"
|
printf '%s - Server started.\n' "$(date)"
|
||||||
|
|||||||
Reference in New Issue
Block a user