aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSchala2015-06-08 09:49:51 -0700
committerSchala2015-06-08 09:49:51 -0700
commitcf26246049ad15da722dbba5a01ae88d65dd02ae (patch)
treedbfc0cf0acb54be348cb3eab5da0423324862dfb
downloadaur-cf26246049ad15da722dbba5a01ae88d65dd02ae.tar.gz
initial import
-rw-r--r--.SRCINFO29
-rwxr-xr-xPKGBUILD30
-rwxr-xr-xspigot.install18
-rwxr-xr-xspigot.service11
-rwxr-xr-xspigot.sh61
5 files changed, 149 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c5594c9de865
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = spigot
+ pkgdesc = High performance Minecraft server implementation
+ pkgver = 1.8.7
+ pkgrel = 1
+ url = http://www.spigotmc.org/
+ install = spigot.install
+ arch = any
+ license = LGPL
+ makedepends = java-environment
+ makedepends = git
+ depends = java-runtime-headless
+ depends = tmux
+ depends = sudo
+ depends = fontconfig
+ provides = bukkit
+ provides = craftbukkit=1.8.7
+ conflicts = bukkit
+ conflicts = craftbukkit
+ conflicts = spigot-patcher
+ noextract = BuildTools.jar
+ source = https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
+ source = spigot.service
+ source = spigot.sh
+ md5sums = SKIP
+ md5sums = 55eb03d443e1aa1a013aa01798e056d4
+ md5sums = 8933d1710304dfdf99632f53551672ef
+
+pkgname = spigot
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..166cb349dcda
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,30 @@
+pkgname=spigot
+pkgver=1.8.7
+pkgrel=1
+pkgdesc="High performance Minecraft server implementation"
+arch=(any)
+url="http://www.spigotmc.org/"
+license=("LGPL")
+depends=(java-runtime-headless tmux sudo fontconfig)
+makedepends=(java-environment git)
+conflicts=(bukkit craftbukkit spigot-patcher)
+provides=(bukkit "craftbukkit=${pkgver%_*}")
+install=spigot.install
+source=("https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar"
+"spigot.service"
+"spigot.sh")
+noextract=("BuildTools.jar")
+md5sums=('SKIP'
+ '55eb03d443e1aa1a013aa01798e056d4'
+ '8933d1710304dfdf99632f53551672ef')
+build() {
+ export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=1g"
+ java -jar BuildTools.jar --rev $pkgver
+}
+package() {
+ install -Dm644 spigot-$pkgver.jar "$pkgdir/srv/craftbukkit/spigot.jar"
+ install -m755 spigot.sh "$pkgdir/srv/craftbukkit/spigot.sh"
+ install -Dm644 spigot.service "$pkgdir/usr/lib/systemd/system/spigot.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/spigot.install b/spigot.install
new file mode 100755
index 000000000000..68524cf55999
--- /dev/null
+++ b/spigot.install
@@ -0,0 +1,18 @@
+post_install() {
+ getent group craftbukkit >/dev/null 2>&1 || groupadd craftbukkit
+ getent passwd craftbukkit >/dev/null 2>&1 || useradd -g craftbukkit -d /srv/craftbukkit -s /bin/bash craftbukkit
+ chown -R craftbukkit:craftbukkit /srv/craftbukkit/
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ if getent passwd craftbukkit >/dev/null 2>&1; then
+ userdel craftbukkit
+ fi
+ if getent group craftbukkit >/dev/null 2>&1; then
+ groupdel craftbukkit
+ fi
+}
diff --git a/spigot.service b/spigot.service
new file mode 100755
index 000000000000..5849fc6e11e2
--- /dev/null
+++ b/spigot.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Spigot
+After=local-fs.target network.target
+
+[Service]
+ExecStart=/srv/craftbukkit/spigot.sh start
+ExecStop=/srv/craftbukkit/spigot.sh stop
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/spigot.sh b/spigot.sh
new file mode 100755
index 000000000000..87eeb9e3083d
--- /dev/null
+++ b/spigot.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+BACKUPPATH="/srv/craftbukkit/backup/"
+WORLDPATH="/srv/craftbukkit/world/"
+
+USER="$2"
+
+if [ -z $2 ]; then
+ USER="craftbukkit"
+fi
+
+save_stop() {
+ su -s /bin/bash -c "tmux send-keys 'save-off' C-m" ${USER}
+ su -s /bin/bash -c "tmux send-keys 'save-all' C-m" ${USER}
+}
+
+save_start() {
+ su -s /bin/bash -c "tmux send-keys 'save-on' C-m" ${USER}
+}
+
+case "$1" in
+ start)
+ if [ -z "`pgrep -f -n 'spigot.jar'`" ]; then
+ sudo -u ${USER} tmux new-session -d -s spigot-console -d 'cd /srv/craftbukkit; java -Xmx1024M -Xms1024M -jar /srv/craftbukkit/spigot.jar nogui'
+ if [ $? -gt 0 ]; then
+ exit 1
+ fi
+ else
+ echo "Spigot already started"
+ exit 1
+ fi
+ ;;
+
+ stop)
+ sudo -u ${USER} tmux send-keys -t spigot-console 'broadcast NOTICE: Server shutting down in 5 seconds!' C-m
+ sleep 5
+ sudo -u ${USER} tmux send-keys -t spigot-console 'stop' C-m
+ sleep 10
+ ;;
+
+ console)
+ sudo -u ${USER} tmux attach -t spigot-console
+ ;;
+
+ backup)
+ stat_busy "Starting backup"
+ FILE="`date +%Y%m%d%H%M`.tar.gz"
+ path="$BACKUPPATH/$FILE"
+ su -s /bin/bash -c "mkdir -p $BACKUPPATH" ${USER}
+ save_stop
+ su -s /bin/bash -c "tar -czf $path $WORLDPATH" ${USER}
+ save_start
+ stat_done "Backup finished"
+ ;;
+
+ *)
+ echo "usage: $0 {start|backup|console} user"
+esac
+
+exit 0
+