first
This commit is contained in:
@@ -15,5 +15,4 @@ chmod +x update.sh
|
|||||||
# =========================================================
|
# =========================================================
|
||||||
|
|
||||||
# for modserver
|
# for modserver
|
||||||
sudo apt install -y xmlstarlet jq
|
sudo apt install -y xmlstarlet jq cifs-utils samba-common
|
||||||
|
|
||||||
|
|||||||
@@ -9,16 +9,19 @@ export DAYZ_SERVER_ID=223350
|
|||||||
export STEAM_USER="yzaddayz"
|
export STEAM_USER="yzaddayz"
|
||||||
|
|
||||||
export DEBUG=false
|
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 VARS ##############################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################### GLOBAL ALIASES ###########################
|
################### GLOBAL ALIASES ###########################
|
||||||
alias do_sync='rsync -rvltDhu --delete --partial --progress'
|
alias do_sync='rsync -rvltDhu --delete --partial --progress'
|
||||||
################### GLOBAL ALIASES ###########################
|
################### GLOBAL ALIASES ###########################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################### GLOBAL FUNCTIONS #########################
|
################### GLOBAL FUNCTIONS #########################
|
||||||
msg() {
|
msg() {
|
||||||
printf '[*] %s\n' "$*"
|
printf '[*] %s\n' "$*"
|
||||||
@@ -26,9 +29,45 @@ msg() {
|
|||||||
errmsg() {
|
errmsg() {
|
||||||
>&2 printf '[Error]: %s\n' "$*"
|
>&2 printf '[Error]: %s\n' "$*"
|
||||||
}
|
}
|
||||||
################### GLOBAL FUNCTIONS #########################
|
mount_dayz_network_drive() {
|
||||||
|
if ! is_network_drive_mounted ; then
|
||||||
|
|
||||||
mount_dayz() {
|
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 \
|
sudo mount -t drvfs -o user=samba \
|
||||||
//truenas.local.wvr.sh/dayz /mnt/dayz
|
//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 #########################
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,59 @@ else
|
|||||||
>&2 echo "Could not load: $GLOBALS_FILE"
|
>&2 echo "Could not load: $GLOBALS_FILE"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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