first
This commit is contained in:
@@ -9,16 +9,19 @@ export DAYZ_SERVER_ID=223350
|
||||
export STEAM_USER="yzaddayz"
|
||||
|
||||
export DEBUG=false
|
||||
|
||||
export REMOTE_DIR="/mnt/dayz"
|
||||
export REMOTE_MAPS="$REMOTE_DIR/stock/maps"
|
||||
export REMOTE_MODS="$REMOTE_DIR/mods"
|
||||
|
||||
export REMOTE_STOCK_SERVER="$REMOTE_DIR/stock/DayZServer"
|
||||
export REMOTE_STOCK_GAME="$REMOTE_DIR/stock/DayZ"
|
||||
################### GLOBAL VARS ##############################
|
||||
|
||||
|
||||
|
||||
################### GLOBAL ALIASES ###########################
|
||||
alias do_sync='rsync -rvltDhu --delete --partial --progress'
|
||||
################### GLOBAL ALIASES ###########################
|
||||
|
||||
|
||||
|
||||
################### GLOBAL FUNCTIONS #########################
|
||||
msg() {
|
||||
printf '[*] %s\n' "$*"
|
||||
@@ -26,9 +29,45 @@ msg() {
|
||||
errmsg() {
|
||||
>&2 printf '[Error]: %s\n' "$*"
|
||||
}
|
||||
mount_dayz_network_drive() {
|
||||
if ! is_network_drive_mounted ; then
|
||||
|
||||
if [ -e /proc/version ] ; then
|
||||
read -r ver < /proc/version
|
||||
case $ver in
|
||||
# WSL
|
||||
*icrosoft*)
|
||||
msg "Detected WSL, mounting via drvfs"
|
||||
sudo mount -t drvfs -o user=samba \
|
||||
//truenas.local.wvr.sh/dayz /mnt/dayz
|
||||
;;
|
||||
*)
|
||||
msg "Detected Linux, mounting via cifs"
|
||||
sudo mount -t cifs //truenas.local.wvr.sh/dayz /mnt/dayz \
|
||||
-o credentials=/root/sambacreds.txt \
|
||||
-o uid=1000 \
|
||||
-o gid=1000 \
|
||||
-o iocharset=utf8 \
|
||||
-o vers=3.0
|
||||
esac
|
||||
|
||||
unset ver
|
||||
# asdf
|
||||
else
|
||||
errmsg 'could not find /proc/version'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fi
|
||||
if ! is_network_drive_mounted ; then
|
||||
errmsg 'Could not mount network drive'
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
is_network_drive_mounted() {
|
||||
if [ ! -f "$REMOTE_DIR/canary" ] ; then
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
################### GLOBAL FUNCTIONS #########################
|
||||
|
||||
mount_dayz() {
|
||||
sudo mount -t drvfs -o user=samba \
|
||||
//truenas.local.wvr.sh/dayz /mnt/dayz
|
||||
}
|
||||
|
||||
@@ -15,11 +15,59 @@ else
|
||||
>&2 echo "Could not load: $GLOBALS_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ===================================================
|
||||
# 02. Local script variables
|
||||
# ===================================================
|
||||
export LOCAL_STOCK_GAME="$HOME/DayZ"
|
||||
export LOCAL_STOCK_SERVER="$HOME/DayZServer"
|
||||
mkdir -p "$LOCAL_STOCK_GAME" "$LOCAL_STOCK_SERVER"
|
||||
|
||||
# ===================================================
|
||||
# 03. Mount network drive
|
||||
# ===================================================
|
||||
if ! is_network_drive_mounted ; then
|
||||
mount_dayz_network_drive
|
||||
|
||||
if ! is_network_drive_mounted ; then
|
||||
errmsg "Could not mount network drive"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# ===================================================
|
||||
# 04. Begin functions
|
||||
# ===================================================
|
||||
update_server() {
|
||||
msg "-------- UPDATING DAYZ SERVER -------------------"
|
||||
steamcmd -tcp \
|
||||
+force_install_dir "$LOCAL_STOCK_SERVER" \
|
||||
+@sSteamCmdForcePlatformType windows \
|
||||
+@ShutdownOnFailedCommand 1 \
|
||||
+login "$STEAM_USER" \
|
||||
+app_update "$DAYZ_SERVER_ID" \
|
||||
+quit
|
||||
|
||||
is_network_drive_mounted &&
|
||||
do_sync "$LOCAL_STOCK_SERVER"/ "$REMOTE_STOCK_SERVER"
|
||||
msg "-------- DONE UPDATING SERVER -------------------"
|
||||
# LOCAL_INSTALL_DIR="${HOME}/.steam/debian-installation/steamapps/common/DayZServer"
|
||||
}
|
||||
|
||||
update_game() {
|
||||
:
|
||||
# steamcmd -tcp +login "$STEAM_USER" +app_update "$DAYZ_GAME_ID" +quit
|
||||
}
|
||||
|
||||
main() {
|
||||
update_server
|
||||
# update_game
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
##### GARBAGE BELOW
|
||||
# LOCAL_MODS_DIR="$HOME/steam_data/steamapps/workshop/content/$DAYZ_GAME_ID"
|
||||
# LOCAL_SERVER_INSTALL_DIR="$HOME/steam_data/steamapps/workshop/content/$DAYZ_GAME_ID"
|
||||
|
||||
######### LOCAL SCRIPT VARS ###############
|
||||
LOCAL_MODS_DIR="$HOME/steam_data/steamapps/workshop/content/$DAYZ_GAME_ID"
|
||||
REMOTE_MAPS="/mnt/dayz/stock/maps"
|
||||
REMOTE_MODS="/mnt/dayz/mods"
|
||||
###########################################
|
||||
|
||||
|
||||
Reference in New Issue
Block a user