Add dependency list
1 file changed
tree: 4ca4b811fbb5fcabd0d227c0fe7f0d8298da26a6
  1. README.md
  2. init.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