Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -x
- DT=$(date +"%Y-%m-%d-%H")
- # Edit These
- telnetpw="xxx"
- telnetport="80x"
- logfile=/home/mg7d/logs/7dtd_serverlog-pvp1-${DT}.log
- spath=/home/mg7d/7d2d_pvp1
- ename=7DaysToDieServerPvP1.x86_64
- # Anti Double Execution with PID files.
- pidfile=$(basename "$0").pid
- echo $$ > "${pidfile}"
- trap 'rm -f ${pidfile}; exit;' EXIT SIGHUP SIGINT SIGQUIT SIGTERM
- for pid in $(pidof -x "$(basename "$0")"); do
- if [ "${pid}" != $$ ]; then
- echo "startup.sh : Process is already running with PID $pid"
- exit 1
- fi
- done
- #Anti execution of incorrect user.
- if [ ! "$(id -u)" = 1x ]; then
- clear
- echo -e "Script must ban run under user x."
- sleep 3
- exit 1
- fi
- # Attempts graceful shutdown of server before forcing restart.
- if pgrep -f "${ename}" > /dev/null; then
- ./serverwarnings $telnetport $telnetpw "[00FFFF]Server will restart in 1 minute. Please refrain from using minibikes during this time.[-]" saveworld
- clear
- echo "Server warning has been sent: 60 seconds to restart."
- sleep 30
- echo
- ./serverwarnings $telnetport $telnetpw "[00FFFF]Server will restart in 30 seconds. Please feel free to not lose minibikes and get off of them during this time.[-]" saveworld
- clear
- echo "Server warning has been sent: 30 seconds to restart."
- sleep 20
- echo
- ./serverwarnings $telnetport $telnetpw "[00FFFF]Server will restart in 10 seconds.[-]" saveworld
- clear
- sleep 10
- ./serverwarnings $telnetport $telnetpw "[00FFFF]Server shutting down. GOODBYE CRUEL WORLD![-]" shutdown
- clear
- sleep 3
- echo
- killall ${ename}
- # Cycles the log file and keeps old one.
- cd ${spath} || return
- ./${ename} -configfile=serverconfig.xml -logfile "${logfile}" & disown
- else
- cd ${spath} && ./${ename} -configfile=serverconfig.xml -logfile "${logfile}" & disown
- exit 1
- fi
- exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement