asdf
This commit is contained in:
@@ -39,10 +39,10 @@ alias do_sync='rsync -avhu --progress --delete --partial --links'
|
|||||||
|
|
||||||
################### GLOBAL FUNCTIONS #########################
|
################### GLOBAL FUNCTIONS #########################
|
||||||
msg() {
|
msg() {
|
||||||
printf '\n[*] %s\n\n' "$*"
|
printf '[MESSAGE]: %s\n' "$*"
|
||||||
}
|
}
|
||||||
errmsg() {
|
errmsg() {
|
||||||
>&2 printf '\n[Error]: %s\n\n' "$*"
|
>&2 printf '\n[ERROR]: %s\n\n' "$*"
|
||||||
}
|
}
|
||||||
die() {
|
die() {
|
||||||
errmsg "$*"
|
errmsg "$*"
|
||||||
|
|||||||
@@ -92,14 +92,14 @@ check() {
|
|||||||
die "Remote server already locked?"
|
die "Remote server already locked?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "Health checks passed successfully."
|
msg "(MODSERVER): Health checks passed successfully."
|
||||||
}
|
}
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
# 05. Begin functions
|
# 05. Begin functions
|
||||||
# ===================================================
|
# ===================================================
|
||||||
update_server() {
|
update_server() {
|
||||||
msg "============== UPDATING DAYZ SERVER ================="
|
msg "(MODSERVER): STARTING UPDATING DAYZ SERVER"
|
||||||
steamcmd -tcp \
|
steamcmd -tcp \
|
||||||
+force_install_dir "$LOCAL_STOCK_SERVER" \
|
+force_install_dir "$LOCAL_STOCK_SERVER" \
|
||||||
+@sSteamCmdForcePlatformType windows \
|
+@sSteamCmdForcePlatformType windows \
|
||||||
@@ -110,11 +110,11 @@ update_server() {
|
|||||||
|
|
||||||
is_network_drive_mounted &&
|
is_network_drive_mounted &&
|
||||||
do_sync "$LOCAL_STOCK_SERVER"/ "$REMOTE_STOCK_SERVER"
|
do_sync "$LOCAL_STOCK_SERVER"/ "$REMOTE_STOCK_SERVER"
|
||||||
msg "============ DONE UPDATING SERVER ====================="
|
msg "(MODSERVER): FINISHED UPDATING DAYZ SERVER"
|
||||||
}
|
}
|
||||||
|
|
||||||
update_game() {
|
update_game() {
|
||||||
msg "========== UPDATING DAYZ GAME ================"
|
msg "(MODSERVER): STARTING UPDATING DAYZ GAME"
|
||||||
steamcmd -tcp \
|
steamcmd -tcp \
|
||||||
+force_install_dir "$LOCAL_STOCK_GAME" \
|
+force_install_dir "$LOCAL_STOCK_GAME" \
|
||||||
+@sSteamCmdForcePlatformType windows \
|
+@sSteamCmdForcePlatformType windows \
|
||||||
@@ -125,12 +125,12 @@ update_game() {
|
|||||||
|
|
||||||
is_network_drive_mounted &&
|
is_network_drive_mounted &&
|
||||||
do_sync "$LOCAL_STOCK_GAME"/ "$REMOTE_STOCK_GAME"
|
do_sync "$LOCAL_STOCK_GAME"/ "$REMOTE_STOCK_GAME"
|
||||||
msg "============= DONE UPDATING GAME ==================="
|
msg "(MODSERVER): FINISHED UPDATING DAYZ GAME"
|
||||||
}
|
}
|
||||||
|
|
||||||
# args: $1 = server_modlist.txt to update
|
# args: $1 = server_modlist.txt to update
|
||||||
update_mods_for_server() {
|
update_mods_for_server() {
|
||||||
msg "======= UPDATING MODS FOR MAP: $1 ========"
|
msg "(MODSERVER): UPDATING MODS FOR MAP: $1"
|
||||||
|
|
||||||
mods_file="$MODLISTS/$1"
|
mods_file="$MODLISTS/$1"
|
||||||
map_name=${1%.txt}
|
map_name=${1%.txt}
|
||||||
@@ -182,12 +182,11 @@ update_mods_for_server() {
|
|||||||
die "Problem downloading mods for $map_name"
|
die "Problem downloading mods for $map_name"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "------------ RENAMING MODS -------------"
|
msg "(MODSERVER): RENAMING MODS"
|
||||||
mods_to_copy="$LOCAL_MODS/mods_to_copy"
|
|
||||||
rm -rf "$mods_to_copy" 2>/dev/null ||:
|
# blank map's mods.txt
|
||||||
mkdir -p "$mods_to_copy"
|
:> "$remote_map_mod_dir/mods.txt"
|
||||||
|
|
||||||
:> "$mods_to_copy/mods.txt"
|
|
||||||
while read -r mod ; do
|
while read -r mod ; do
|
||||||
# skip comments, blank lines
|
# skip comments, blank lines
|
||||||
case "$mod" in
|
case "$mod" in
|
||||||
@@ -199,30 +198,27 @@ update_mods_for_server() {
|
|||||||
if [ ! -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" ] ; then
|
if [ ! -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" ] ; then
|
||||||
die "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id does not exist"
|
die "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id does not exist"
|
||||||
fi
|
fi
|
||||||
cp -raf "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" "$mods_to_copy/@${mod_name}"
|
do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id"/ "$remote_map_mod_dir/@${mod_name}"
|
||||||
msg "Finished: $mod_name"
|
printf '@%s\n' "$mod_name" >> "$remote_map_mod_dir/mods.txt"
|
||||||
printf '@%s\n' "$mod_name" >> "$mods_to_copy/mods.txt"
|
msg "(MODSERVER): Finished syncing: $mod_name"
|
||||||
esac
|
esac
|
||||||
done < "$mods_file"
|
done < "$mods_file"
|
||||||
|
|
||||||
msg "----------- SYNCING MODS -------------"
|
|
||||||
do_sync "$mods_to_copy"/ "$remote_map_mod_dir"
|
|
||||||
|
|
||||||
rm -f "$tempfile" 2>/dev/null ||:
|
rm -f "$tempfile" 2>/dev/null ||:
|
||||||
unset tempfile mod map_name mods_file mods_to_copy mod_name mod_id remote_map_mod_dir
|
unset tempfile mod map_name mods_file mod_name mod_id remote_map_mod_dir
|
||||||
|
|
||||||
msg "======= DONE UPDATING MODS FOR: $1 ========"
|
msg "(MODSERVER): FINISHED UPDATING MODS FOR MAP: $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
update_stock_maps() {
|
update_stock_maps() {
|
||||||
msg "----------- UPDATING MAPS -------------"
|
msg "(MODSERVER): UPDATING MAPS"
|
||||||
|
|
||||||
msg "Copying Stock Chernarus"
|
msg "(MODSERVER): Copying Stock Chernarus"
|
||||||
do_sync \
|
do_sync \
|
||||||
"$LOCAL_STOCK_SERVER/mpmissions/$CHERNARUS_MAP_NAME"/ \
|
"$LOCAL_STOCK_SERVER/mpmissions/$CHERNARUS_MAP_NAME"/ \
|
||||||
"$REMOTE_MAPS/$CHERNARUS_MAP_NAME"
|
"$REMOTE_MAPS/$CHERNARUS_MAP_NAME"
|
||||||
|
|
||||||
msg "Updating Namalsk Survival"
|
msg "(MODSERVER): Updating Namalsk Survival"
|
||||||
steamcmd \
|
steamcmd \
|
||||||
-tcp \
|
-tcp \
|
||||||
+force_install_dir "$LOCAL_MODS" \
|
+force_install_dir "$LOCAL_MODS" \
|
||||||
@@ -244,7 +240,7 @@ update_stock_maps() {
|
|||||||
die "failed to copy Namalsk map files"
|
die "failed to copy Namalsk map files"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "Updating Namalsk Island"
|
msg "(MODSERVER): Updating Namalsk Island"
|
||||||
steamcmd \
|
steamcmd \
|
||||||
-tcp \
|
-tcp \
|
||||||
+force_install_dir "$LOCAL_MODS" \
|
+force_install_dir "$LOCAL_MODS" \
|
||||||
@@ -262,7 +258,7 @@ update_stock_maps() {
|
|||||||
|
|
||||||
####################TODO: # msg "Updating Optimized Namalsk Server PBOs"
|
####################TODO: # msg "Updating Optimized Namalsk Server PBOs"
|
||||||
|
|
||||||
msg "Updating TakistanPlus"
|
msg "(MODSERVER): Updating TakistanPlus"
|
||||||
steamcmd \
|
steamcmd \
|
||||||
-tcp \
|
-tcp \
|
||||||
+force_install_dir "$LOCAL_MODS" \
|
+force_install_dir "$LOCAL_MODS" \
|
||||||
@@ -296,7 +292,7 @@ main() {
|
|||||||
|
|
||||||
for server in $(ls "$MODLISTS" | xargs) ; do
|
for server in $(ls "$MODLISTS" | xargs) ; do
|
||||||
if [ ! -f "$MODLISTS/$server" ] ; then
|
if [ ! -f "$MODLISTS/$server" ] ; then
|
||||||
msg "Could not find modlist for: $MODLISTS/$server"
|
msg "(MODSERVER): Could not find modlist for: $MODLISTS/$server"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
update_mods_for_server "$server"
|
update_mods_for_server "$server"
|
||||||
|
|||||||
@@ -234,8 +234,15 @@ EOF
|
|||||||
# ===================================================
|
# ===================================================
|
||||||
# 07. Main loop
|
# 07. Main loop
|
||||||
# ===================================================
|
# ===================================================
|
||||||
|
|
||||||
|
NUMBER_OF_STARTS=0
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
while true ; do
|
while true ; do
|
||||||
|
NUMBER_OF_STARTS=$((NUMBER_OF_STARTS + 1))
|
||||||
|
msg "Server is preparing to start..."
|
||||||
|
msg "NUMBER OF STARTS: $NUMBER_OF_STARTS"
|
||||||
|
|
||||||
cd "$ORIGINAL_DIR" || die "Can no longer cd to $ORIGINAL_DIR"
|
cd "$ORIGINAL_DIR" || die "Can no longer cd to $ORIGINAL_DIR"
|
||||||
|
|
||||||
if [ -e ./SERVER.ENV ] ; then
|
if [ -e ./SERVER.ENV ] ; then
|
||||||
|
|||||||
Reference in New Issue
Block a user