Merge pull request #217 from FSMaxB/master

Added support for systemd and Arch Linux
This commit is contained in:
Zach Latta 2013-10-03 18:01:56 -07:00
commit f7b5027ba5
2 changed files with 52 additions and 0 deletions

15
init/msm.service Normal file
View File

@ -0,0 +1,15 @@
[Unit]
Description=Minecraft Server Manager
Requires=network.target
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/msm start
ExecStop=/usr/local/bin/msm stop
ExecReload=/usr/local/bin/msm restart
[Install]
WantedBy=multi-user.target

37
installers/arch.sh Executable file
View File

@ -0,0 +1,37 @@
UPDATE_URL="https://raw.github.com/marcuswhybrow/minecraft-server-manager/master"
curl "${UPDATE_URL}/installers/common.sh" -o /tmp/msmcommon.sh #wget isn't installed on Arch by default
source /tmp/msmcommon.sh && rm -f /tmp/msmcommon.sh
function update_system_packages() {
install_log "Updating sources"
sudo pacman -Syy || install_error "Couldn't update packages"
}
function install_dependencies() {
install_log "Installing required packages"
sudo pacman --noconfirm -S screen rsync zip wget || install_error "Couldn't install dependencies"
}
function enable_init() {
install_log "Installing systemd service unit"
sudo wget ${UPDATE_URL}/init/msm.service \
-O /etc/systemd/system/msm.service
install_log "Enabling automatic startup and shutdown"
sudo systemctl enable msm.service
}
# Verifies existence and permissions of msm server directory (default /opt/msm)
function create_msm_directories() {
install_log "Creating MSM directories"
if [ ! -d "$msm_dir" ]; then
sudo mkdir -p "$msm_dir" || install_error "Couldn't create directory '$msm_dir'"
fi
sudo chown -R $msm_user:$msm_user "$msm_dir" || install_error "Couldn't change file ownership for '$msm_dir'"
if [ ! -d "/etc/init.d" ]; then
sudo mkdir -p "/etc/init.d/" || install_error "Couldn't create directory '/etc/init.d'"
fi
}
install_msm