diff --git a/version-2.0/notes.txt b/version-2.0/notes.txt new file mode 100644 index 0000000..6b27132 --- /dev/null +++ b/version-2.0/notes.txt @@ -0,0 +1,5 @@ + + +mkdir /mnt/dayz + +mount -t drvfs '\\truenas.home.weaver\dayz' /mnt/dayz diff --git a/version-2.0/start.bat b/version-2.0/start.bat new file mode 100644 index 0000000..65f6107 --- /dev/null +++ b/version-2.0/start.bat @@ -0,0 +1,71 @@ +@echo off +:start + +set NAS=//truenas.home.weaver/dayz + +::################Server name +set serverName="ZyaD Chernaurus (Traditional, True DayZ) | discord.gg/mD5KGCrn2f" +set modFolderName="chernaurus" +set serverPort=2302 +set serverCPU=8 + +set mods_generic="mods/@dabsframework;mods/@cf;mods/@vppadmintools;mods/@earplugs;mods/@notes;mods/@noweaponraise;mods/@healthregen;mods/@enoughstamina;mods/@tentbackpacks;mods/@causeofdeath;mods/@bearbuff;mods/@durablesuppressors;mods/@customanimations;mods/@wornrepair;mods/@firefuel;mods/@gunmovesounds;mods/@badfood" +set mods_sUDE="mods/@sframework;mods/@svisual" +set mods_generic_after_sUDE="mods/@nodof" +set mods_cherno="mods/@spurglesbagz;mods/@fliptransport;mods/@novehicledamage;mods/@docscarfixes;mods/@ladslightingoverhaul;mods/@uncuepascivilianclothing" + +::#####################Server files location +set serverLocation="c:\dayzserver\DZSALModServer" +cd "%serverLocation%" +set serverConfig=serverDZ.cfg + +:: ################ COPY STOCK DAYZ SERVER DATA ######################### +echo Copying stock server data +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/addons/ addons +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/keys/ keys +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/battleye/ battleye +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/bliss/ bliss +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/docs/ docs +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/dta/ dta +rsync -arvhu --progress --delete --partial %NAS%/DayZServer/mpmissions/ mpmissions + +:: ################ COPY SERVER MOD FILES ######################### +echo COPYING MODS +rsync -arvhu --progress --delete --partial "%NAS%/mods/%modFolderName%"/ mods" +echo COPYING MOD ADDONS +FOR /d %%y IN (mods\*) DO robocopy %%y/addons addons /E /XC /XN /XO /njh /njs /ndl /nc /ns /nfl + +echo COPYING MOD KEYS +FOR /d %%y IN (mods\*) DO robocopy %%y/keys keys /E /XC /XN /XO /njh /njs /ndl /nc /ns /nfl +FOR /d %%y IN (mods\*) DO robocopy %%y/key keys /E /XC /XN /XO /njh /njs /ndl /nc /ns /nfl + +:: ################ COPY SERVER CONFIG FILES ######################### +echo Copying Config Files +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/all/messages.xml mpmissions/dayzOffline.chernarusplus/db/messages.xml +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/chernaurus/globals.xml mpmissions/dayzOffline.chernarusplus/db/globals.xml +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/chernaurus/economy.xml mpmissions/dayzOffline.chernarusplus/db/economy.xml +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/chernaurus/types.xml mpmissions/dayzOffline.chernarusplus/db/types.xml +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/chernaurus/cfggameplay.json mpmissions/dayzOffline.chernarusplus/cfggameplay.json +rsync -acrvhu --progress --delete --partial %NAS%/server_configs/Profilesfolder/sUDE/ Profilesfolder/sUDE + +:: ################ COPY SERVER STORAGE ######################### +echo Copying Server Storage +rsync -acrvhu --progress --delete --partial %NAS%/STORAGE/cherno/ mpmissions/dayzOffline.chernarusplus/storage_1 + +::###########Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=) +echo (%time%) %serverName% started. +start "DayZ Server" /min "DZSALModServer.exe" -config=%serverConfig% -port=2302 -profiles=Profilesfolder "-mod=%mods_generic%;%mods_sUDE%;%mods_generic_after_sUDE%;%mods_cherno%" -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck + +::###############Time in seconds before kill server process (14400 = 4 hours) +timeout 14403 +taskkill /im DayZServer_x64.exe /F + +::##### Save Storage +echo Sleeping 10 and storing storage +timeout 10 +rsync -acrvhu --progress --delete --partial mpmissions/dayzOffline.chernarusplus/storage_1/ %NAS%/STORAGE/cherno + +::##################Loop +echo Storage saved we are now restarting +timeout 10 +goto start diff --git a/version-2.0/start.sh b/version-2.0/start.sh new file mode 100755 index 0000000..bc397b6 --- /dev/null +++ b/version-2.0/start.sh @@ -0,0 +1,78 @@ +#!/bin/sh -e + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# General Settings +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +export DAYZ_FILES=/mnt/dayz +export STOCK_SERVER_DATA="$DAYZ_FILES/stock/DayZServer" +export SERVERS="$HOME/servers" +export CACHE="$HOME/cache" +export MOD_CACHE="$CACHE/mods" + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# SERVER SPECIFIC SETTINGS +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +export SERVER_NAME='ZyaD Chernaurus' +export SERVER_HOME="$SERVERS/$SERVER_NAME" +export MAP_FOLDER_NAME='chernaurus' +export SERVER_PORT=2302 +export SERVER_CPU=8 +export SERVER_CONFIG_FILE="$SERVER_HOME/serverDZ.cfg" + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# Helper functions +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +alias do_sync='rsync -arvhu --progress --delete --partial' +alias do_secure_sync='rsync -arcvhu --progress --delete --partial' + +msg() { + >&2 printf '[*] %s\n' "$*" +} + +die() { + msg "$*" + exit 1 +} + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# Checks +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +check() { + mkdir -p "$DAYZ_FILES" + + if ! mount | grep -i "$DAYZ_FILES" >/dev/null ; then + msg "mount -t drvfs XXXXXXX $DAYZ_FILES" + die "$DAYZ_FILES is not mounted!" + fi +} + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# Environment Setup +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +init() { + mkdir -p "$SERVER_HOME" "$MOD_CACHE/$MAP_FOLDER_NAME" +} + +setup_environment() { + msg "Copying stock server data." + do_sync "$STOCK_SERVER_DATA"/ "$SERVER_HOME" || die "Failed to sync $STOCK_SERVER_DATA to $SERVER_HOME" +} + +copy_mods() { + msg "Coyping mod files" + do_sync "$DAYZ_FILES/mods/$MAP_FOLDER_NAME"/ "$MOD_CACHE/$MAP_FOLDER_NAME" +} + +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +# Main +# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +main() { + init + cd "$SERVER_HOME" || die "Could not cd to '$SERVER_HOME'" + check + msg "Setting up environment." + setup_environment + copy_mods +} + +main "$@"