Wait a bit longer after sending SIGTERM; add service control script for BSD init
3 files changed
tree: 966dfa38616d52d447cb878dbe7776680b7c43c2
  1. README.md
  2. init.d/
  3. rc.d/
README.md

Service control script: init.d/minecraft

Configuration file /etc/default/minecraft |Variable |Description |Default value | |-------------------------------|-------------------------------------------------------|-----------------------| |MINECRAFT_USER_NAME |The user name to run Minecraft server |minecraft | |MINECRAFT_HOME |Home directory of Minecraft server instances |/home/minecraft | |MINECRAFT_START_COMMAND |Server startup command |exec sh start.sh | |MINECRAFT_USE_TMUX |Enable to uses of tmux(1) |NO | |MINECRAFT_SESSION_NAME |Base session name of tmux(1) sessions |minecraft | |MINECRAFT_ALTERNATIVE_LOG_FILE |Redirect outputs to this file if tmux(1) is not used |/dev/null | |MINECRAFT_SERVERS |Space separated server instances | |

Server instances are directories under MINECRAFT_HOME; each server instance will be started under its instance directory by running MINECRAFT_START_COMMAND. Enabling tmux(1) is recommended if using Bukkit server framework, as this server didn't save worlds when exiting on signals. Session name of each server instance will be ‘MINECRAFT_SESSION_NAME-INSTANCE_NAME’.

/etc/default/minecraft example:

MINECRAFT_HOME=/export/home/minecraft
MINECRAFT_SERVERS="1.7-server 1.8-server"
MINECRAFT_USE_TMUX=YES

The startup script (start.sh by default) must write the PID of server program to server.pid, and must not fork the server program into background.

start.sh example:

#!/bin/sh
JAVA_HOME=/opt/jdk1.7.0_80
echo $$ > server.pid
exec "$JAVA_HOME/bin/java" -jar /opt/minecraft/minecraft-server-1.7.10.jar --nogui

Dependency

  • sudo(1)
  • tmux(1) if enabled by MINECRAFT_USE_TMUX

Service control script for BSD init: rc.d/minecraft

This is very similar with init.d/minecraft, except the configuration variables are in lower case and set from rc.conf instead of /etc/default/minecraft

Example configuration in rc.conf:

minecraft_enable="YES"
minecraft_home="/usr/home/minecraft"
minecraft_use_tmux="YES"
minecraft_servers="1.7-server 1.8-server"

The startup script requirement is same with init.d/minecraft.

Dependency

  • tmux(1) if enabled by using minecraft_use_tmux="YES"