Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2016
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. #!/bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: myprog
  4. # Required-Start: $remote_fs $syslog
  5. # Required-Stop: $remote_fs $syslog
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Arkserser init script
  9. # Descripton: this script manages Ark dedicated server
  10.  
  11. NAME=arkserver
  12. USER=steam
  13. ARKPATH=/home/steam/Steam/steamapps/common/ARK\ Survival\ Evolved\ Dedicated\ Server/ShooterGame/
  14. PIDFILE=/var/run/${NAME}.pid
  15. DAEMON="${ARKPATH}Binaries/Linux/ShooterGameServer"
  16. DAEMONOPTS="TheIsland?listen?bRawSockets?SessionName=lijsdfgsg?ServerPassword=mklsjdlf?ServerAdminPassword=mùopiksdf?MapPlayerLocation?MaxPlayers=10 -server -log"
  17. Backuppath=/home/steam/backups/ark/
  18. Steamcmd="/home/steam/steamcmd.sh +login anonymous +force_install_dir "${GAMELOCATION}" +app_update 376030 validate +quit"
  19. name=$(date +%Y-%m-%d_%H-%M-%S)
  20. Sourcepath=${ARKPATH}Saved/SavedArks/
  21.  
  22. [ -x "${DAEMON}" ] || exit 0
  23. #. /lib/lsb/init-functions
  24.  
  25. case "$1" in
  26. coldbackup)
  27. if ! [ -s ${PIDFILE} ]
  28. then
  29. find "${Sourcepath}" -name "TheIsland_*.*.ark" -exec mv '{}' ${Backuppath}auto \;
  30. find "${Backuppath}auto" -mtime +1 -delete
  31. rsync -avh --delete --exclude *.bak "${Sourcepath}" "${Backuppath}latest"
  32. cd "${Backuppath}latest/"
  33. tar cvzf "${Backuppath}archives/${name}.tar.gz" ./*
  34. find "${Backuppath}archives/" -mtime +2 -delete
  35. chown -R ${USER}:${USER} "${Backuppath}"
  36. else
  37. echo "$NAME is running\nUse hotbackup"
  38. fi
  39. ;;
  40. hotbackup)
  41. if [ -s ${PIDFILE} ]
  42. then
  43. if [ $(find "${Sourcepath}" -mmin -15 | wc -l) -gt 0 ]
  44. then
  45. find "${Sourcepath}" -name "TheIsland_*.*.ark" -exec mv '{}' ${Backuppath}auto \;
  46. rsync -avh --delete --exclude *.bak "${Sourcepath}" "${Backuppath}latest"
  47. cd "${Backuppath}latest/"
  48. tar cvzf "${Backuppath}live/${name}.tar.gz" ./*
  49. find "${Backuppath}live/" -mmin +90 -delete
  50. chown -R ${USER}:${USER} "${Backuppath}"
  51. fi
  52. else
  53. echo "$NAME Process is not running"
  54. fi
  55. ;;
  56. update)
  57. if ! [ -s ${PIDFILE} ]
  58. then
  59. if [ "$(id -nu)" = "${USER}" ]
  60. then
  61. ${Steamcmd}
  62. else
  63. su - steam -c "${Steamcmd}"
  64. fi
  65. else
  66. echo "$NAME is curently running"
  67. fi
  68. ;;
  69. start)
  70. echo "Starting Ark dedicated server daemon, wait a minute to connect"
  71. start-stop-daemon --start --background -m --pidfile ${PIDFILE} --user ${USER} --exec "${DAEMON}" -- ${DAEMONOPTS}
  72.  
  73. ;;
  74. stop)
  75. echo "Stoping Ark dedicated server daemon"
  76. PID=$(cat ${PIDFILE})
  77. start-stop-daemon --stop --pidfile ${PIDFILE}
  78. while [ -d /proc/${PID} ]
  79. do
  80. sleep 1
  81. done
  82.  
  83. ;;
  84. restart)
  85. $0 stop
  86. $0 start
  87. ;;
  88. status)
  89. if [ -e $PIDFILE ]; then
  90. status_of_proc -p ${PIDFILE} ${DAEMON} && exit 0 || exit $?
  91. else
  92. echo "$NAME Process is not running"
  93. fi
  94. ;;
  95.  
  96. *)
  97. N=$0
  98. echo "Usage: $N {start|stop|restart|coldbackup|hotbackup|update}" >&2
  99. exit 1
  100. ;;
  101. esac
  102.  
  103. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement