Support config parameters in init.pp.
[puppet-minecraft.git] / files / init / debian.sh
1 #!/bin/sh
2 # Start/stop the minecraft server.
3 #
4 ### BEGIN INIT INFO
5 # Provides:          minecraft
6 # Required-Start:
7 # Required-Stop:
8 # Should-Start:
9 # Should-Stop:
10 # Default-Start:     2 3 4 5
11 # Default-Stop:
12 # Short-Description: Minecraft multiplayer server
13 # Description:       Minecraft is a game about breaking and 
14 #                    placing blocks. At first, people built
15 #                    structures to protect against nocturnal
16 #                    monsters, but as the game grew players
17 #                    worked together to create wonderful,
18 #                    imaginative things.
19 ### END INIT INFO
20
21
22 PIDFILE=/var/run/minecraft/minecraft_server.pid
23
24 test -f /usr/bin/minecraft_server || exit 0
25
26 . /lib/lsb/init-functions
27
28
29 case "$1" in
30 start)  log_daemon_msg "Starting Minecraft server"
31         start-stop-daemon --start --quiet \
32             --user minecraft --chuid minecraft \
33             --background --pidfile $PIDFILE --make-pidfile \
34             --chdir /var/lib/minecraft --startas /usr/bin/minecraft_server --name java \
35             -- -Xincgc -Xms32M -Xmx384M $EXTRA_OPTS
36         log_action_end_msg $?
37         ;;
38 stop)   log_daemon_msg "Stopping Minecraft server"
39         echo '/stop' >/var/run/minecraft/minecraft_server
40         log_action_end_msg $?
41         ;;
42 kill)   log_daemon_msg "Killing Minecraft server"
43         start-stop-daemon --stop --quiet --user minecraft --pidfile $PIDFILE --name java
44         log_action_end_msg 0
45         ;;
46 restart) log_daemon_msg "Restarting Minecraft server"
47         start-stop-daemon --stop --retry 5 --quiet --user minecraft --pidfile $PIDFILE --name java
48         start-stop-daemon --start --quiet \
49             --user minecraft --chuid minecraft \
50             --background --pidfile $PIDFILE--make-pidfile \
51             --chdir /var/lib/minecraft --startas /usr/bin/minecraft_server --name java \
52             -- -Xincgc -Xms32M -Xmx384M $EXTRA_OPTS
53         log_action_end_msg $?
54         ;;
55 reload) log_daemon_msg "Reloading configuration files for Minecraft server"
56         echo '/reload' >/var/run/minecraft/minecraft_server
57         log_action_end_msg 0
58         ;;
59 status)
60        log_action_begin_msg "Checking Minecraft server"
61        if pidofproc -p "$PIDFILE" >/dev/null; then
62             log_action_end_msg 0 "running"
63             exit 0
64        else
65            log_action_end_msg 0 "not running"
66            exit 3
67        fi
68          ;;
69 *)      log_action_msg "Usage: /etc/init.d/minecraft {start|stop|kill|status|restart|reload}"
70         exit 2
71         ;;
72 esac
73 exit 0