Add user requirement
2 files changed
tree: f2701cc4a52306f58ff2791604a4e8a39250d3eb
  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 user (minecraft by default) must have a sh(1) compatible shell in order to run shell commands with the default shell.

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 user and startup script requirements are same with init.d/minecraft.

Dependency

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