Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides:
- # Required-Start: $remote_fs $syslog
- # Required-Stop: $remote_fs $syslog
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Start daemon at boot time
- # Description: Enable service provided by daemon.
- ### END INIT INFO
- user="atlas"
- backupdir="/home/atlas/server/backup"
- name=`basename $0`
- pid_file="/var/run/$name.pid"
- stdout_log="/home/atlas/server/logs/$name.log"
- stderr_log="/home/atlas/server/logs/$name.err"
- get_pid() {
- cat "$pid_file"
- }
- is_running() {
- [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
- }
- do_start() {
- screen -dmS A4 /home/atlas/server/ShooterGame/Binaries/Linux/ShooterGameServer Ocean?ServerX=0?ServerY=3?listen?AltSaveDirectoryName=A4?ServerAdminPassword=MvXAdminsee?MaxPlayers=45?ReservedPlayerSlots=10?Port=6255?QueryPort=58255?RCONPort=58330?SeamlessIP=89.163.145.180 -log -server -BattlEye > /dev/null
- screen -dmS B3 /home/atlas/server/ShooterGame/Binaries/Linux/ShooterGameServer Ocean?ServerX=1?ServerY=2?listen?AltSaveDirectoryName=B3?ServerAdminPassword=MvXAdminsee?MaxPlayers=45?ReservedPlayerSlots=10?Port=6155?QueryPort=58155?SeamlessIP=89.163.145.180 -log -server -BattlEye > /dev/null
- screen -dmS C2 /home/atlas/server/ShooterGame/Binaries/Linux/ShooterGameServer Ocean?ServerX=2?ServerY=1?listen?AltSaveDirectoryName=C2?ServerAdminPassword=MvXAdminsee?MaxPlayers=45?ReservedPlayerSlots=10?Port=6055?QueryPort=58055?SeamlessIP=89.163.145.180 -log -server -BattlEye > /dev/null
- screen -dmS D1 /home/atlas/server/ShooterGame/Binaries/Linux/ShooterGameServer Ocean?ServerX=3?ServerY=0?listen?AltSaveDirectoryName=D1?ServerAdminPassword=MvXAdminsee?MaxPlayers=45?ReservedPlayerSlots=10?Port=5955?QueryPort=57955?SeamlessIP=89.163.145.180 -log -server -BattlEye > /dev/null
- }
- do_stop() {
- screen -X -S A4 quit
- screen -X -S B3 quit
- screen -X -S C2 quit
- screen -X -S D1 quit
- }
- su ${user}
- case "$1" in
- start)
- if is_running; then
- echo "Already started"
- else
- echo "Starting $name"
- do_start
- echo $! > "$pid_file"
- if ! is_running; then
- echo "Unable to start, see $stdout_log and $stderr_log"
- exit 1
- fi
- fi
- ;;
- stop)
- if is_running; then
- echo -n "Stopping $name.."
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 1 minute heruntergefahren" >> /dev/null
- sleep 30
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 30 sekunden heruntergefahren" >> /dev/null
- sleep 20
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 10 sekunden heruntergefahren" >> /dev/null
- sleep 10
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird heruntergefahren" >> /dev/null
- do_stop
- for i in {1..10}
- do
- if ! is_running; then
- break
- fi
- echo -n "."
- sleep 1
- done
- echo
- if is_running; then
- echo "Not stopped; may still be shutting down or shutdown may have failed"
- exit 1
- else
- echo "Stopped"
- if [ -f "$pid_file" ]; then
- rm "$pid_file"
- fi
- fi
- else
- echo "Not running"
- fi
- ;;
- restart)
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 1 minute neugestartet" >> /dev/null
- sleep 30
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 30 sekunden neugestartet" >> /dev/null
- sleep 20
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 10 sekunden neugestartet" >> /dev/null
- sleep 10
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird neugestartet" >> /dev/null
- do_stop
- if is_running; then
- echo "Unable to stop, will not attempt to start"
- exit 1
- fi
- do_start
- ;;
- status)
- if is_running; then
- echo "Running"
- else
- echo "Stopped"
- exit 1
- fi
- ;;
- update)
- if is_running; then
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 1 minute fuer die taegliche Wartung heruntergefahren. Es kann einige Minuten dauern bis der Server wieder erreichbar ist."
- sleep 30
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 30 sekunden heruntergefahren" >> /dev/null
- sleep 20
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird in 10 sekunden heruntergefahren" >> /dev/null
- sleep 10
- /home/atlas/scripts/rcon -PMvXAdminsee -a89.163.145.180 -p58330 ServerChat "[A4-B3-C2-D1] : Der Server wird heruntergefahren" >> /dev/null
- do_stop
- fi
- /home/atlas/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/atlas/server +app_update "1006030" +quit >> "$stdout_log" 2>> "$stderr_log" &
- start
- ;;
- backup)
- echo -n "backing up atlas-data ..."
- tar cfz $backupdir/backup_ark_`date +%Y%m%d`.tar.gz /home/atlas/server/ShooterGame/Saved/ >> "$stdout_log" 2>> "$stderr_log"
- echo "done"
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status|update|backup}"
- exit 1
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement