Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- . /etc/rc.conf
- . /etc/rc.d/functions
- PID=`pidof -x /usr/bin/minecraft-server`
- case "$1" in
- start)
- stat_busy "Starting minecraft-server"
- if [ -z "$PID" ]; then
- cd /srv/minecraft
- su minecraft -c "screen -dmS minecraft /usr/bin/minecraft-server nogui"
- fi
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon minecraft-server
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping minecraft-server"
- if [ ! -z "$PID" ]; then
- su minecraft -c "screen -p0 -S minecraft -X eval \
- 'stuff \"say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015' \
- 'stuff \"save-all\"\015'" \
- && sleep 10
- su minecraft -c "screen -p0 -S minecraft -X eval \
- 'stuff \"stop\"\015'"
- fi
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon minecraft-server
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- status)
- stat_busy "Checking minecraft-server status"
- ck_status minecraft-server
- ;;
- saveoff)
- stat_busy "Suspending saves on minecraft-server"
- if [ ! -z "$PID" ]; then
- su minecraft -c "screen -p0 -S minecraft -X eval \
- 'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015' \
- 'stuff \"save-off\"\015' \
- 'stuff \"save-all\"\015'"
- fi
- [ $? -gt 0 ] && stat_fail || stat_done
- ;;
- saveon)
- stat_busy "Resuming saves on minecraft-server"
- if [ ! -z "$PID" ]; then
- su minecraft -c "screen -p0 -S minecraft -X eval \
- 'stuff \"save-on\"\015' \
- 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
- fi
- [ $? -gt 0 ] && stat_fail || stat_done
- ;;
- *)
- echo "usage: $0 {start|stop|restart|status|saveoff|saveon}"
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement