Advertisement
Guest User

minecraft-server.rc

a guest
Jul 27th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.82 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. . /etc/rc.conf
  4. . /etc/rc.d/functions
  5.  
  6. PID=`pidof -x /usr/bin/minecraft-server`
  7. case "$1" in
  8.   start)
  9.     stat_busy "Starting minecraft-server"
  10.     if [ -z "$PID" ]; then
  11.       cd /srv/minecraft
  12.       su minecraft -c "screen -dmS minecraft /usr/bin/minecraft-server nogui"
  13.     fi
  14.     if [ $? -gt 0 ]; then
  15.       stat_fail
  16.     else
  17.       add_daemon minecraft-server
  18.       stat_done
  19.     fi
  20.     ;;
  21.   stop)
  22.     stat_busy "Stopping minecraft-server"
  23.     if [ ! -z "$PID" ]; then
  24.       su minecraft -c "screen -p0 -S minecraft -X eval \
  25.        'stuff \"say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015' \
  26.        'stuff \"save-all\"\015'" \
  27.         &&  sleep 10
  28.       su minecraft -c "screen -p0 -S minecraft -X eval \
  29.        'stuff \"stop\"\015'"
  30.     fi
  31.     if [ $? -gt 0 ]; then
  32.       stat_fail
  33.     else
  34.       rm_daemon minecraft-server
  35.       stat_done
  36.     fi
  37.     ;;
  38.   restart)
  39.     $0 stop
  40.     sleep 1
  41.     $0 start
  42.     ;;
  43.   status)
  44.     stat_busy "Checking minecraft-server status"
  45.     ck_status minecraft-server
  46.     ;;
  47.   saveoff)
  48.     stat_busy "Suspending saves on minecraft-server"
  49.     if [ ! -z "$PID" ]; then
  50.       su minecraft -c "screen -p0 -S minecraft -X eval \
  51.        'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015' \
  52.        'stuff \"save-off\"\015' \
  53.        'stuff \"save-all\"\015'"
  54.     fi
  55.     [ $? -gt 0 ] && stat_fail || stat_done
  56.     ;;
  57.   saveon)
  58.     stat_busy "Resuming saves on minecraft-server"
  59.     if [ ! -z "$PID" ]; then
  60.       su minecraft -c "screen -p0 -S minecraft -X eval \
  61.        'stuff \"save-on\"\015' \
  62.        'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
  63.     fi
  64.     [ $? -gt 0 ] && stat_fail || stat_done
  65.     ;;
  66.   *)
  67.     echo "usage: $0 {start|stop|restart|status|saveoff|saveon}"
  68. esac
  69. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement