summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Darwinkel2015-06-26 17:09:36 +0200
committerPatrick Darwinkel2015-06-26 17:09:36 +0200
commitde45dac42ceb41fd251c37d97b06d95a80d5e003 (patch)
treeb038bedba45569667ba9e47f9603f48f39b56003
downloadaur-de45dac42ceb41fd251c37d97b06d95a80d5e003.tar.gz
Initial commit
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD34
-rw-r--r--ogar-git.install69
-rw-r--r--ogar.service13
4 files changed, 136 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b23e303feb8e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = ogar-git
+ pkgdesc = A fully functional open source Agar.io server implementation, written in Node.js.
+ pkgver = git
+ pkgrel = 1
+ url = https://github.com/vram4/Ogar
+ install = ogar-git.install
+ arch = any
+ license = Apache
+ depends = nodejs
+ depends = npm
+ depends = git
+ depends = systemd
+ backup = usr/share/ogar/gameserver.ini
+ source = git+https://github.com/vram4/Ogar.git
+ source = ogar.service
+ sha1sums = SKIP
+ sha1sums = 17e04c0c5872f64ed05bf0f6844ee276210d7bda
+
+pkgname = ogar-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..26bcf0be3b9b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Patrick Darwinkel <patrick@darwinkel.net>
+pkgname=ogar-git
+pkgver=git
+pkgrel=1
+pkgdesc="A fully functional open source Agar.io server implementation, written in Node.js."
+arch=(any)
+url="https://github.com/vram4/Ogar"
+license=('Apache')
+depends=('nodejs' 'npm' 'git' 'systemd')
+source=('git+https://github.com/vram4/Ogar.git' 'ogar.service')
+sha1sums=('SKIP' '17e04c0c5872f64ed05bf0f6844ee276210d7bda')
+install="${pkgname}.install"
+backup=('usr/share/ogar/gameserver.ini')
+
+pkgver() {
+ cd Ogar
+ git rev-parse --verify HEAD
+}
+
+package() {
+ cd $srcdir
+ mv Ogar ogar
+ mkdir -p $pkgdir/usr/share
+ mv ogar $pkgdir/usr/share/ogar
+ rm -R $pkgdir/usr/share/ogar/bin
+ rm $pkgdir/usr/share/ogar/Launch.bat
+ rm $pkgdir/usr/share/ogar/src/Start.bat
+ rm $pkgdir/usr/share/ogar/.gitignore
+ rm $pkgdir/usr/share/ogar/ogar-linux-script.sh
+ chmod -R 755 $pkgdir/usr/share/ogar
+
+ install -Dm 644 "ogar.service" "${pkgdir}/usr/lib/systemd/system/ogar.service"
+
+}
diff --git a/ogar-git.install b/ogar-git.install
new file mode 100644
index 000000000000..85da7bd6617d
--- /dev/null
+++ b/ogar-git.install
@@ -0,0 +1,69 @@
+post_install() {
+echo "Creating ogar user and group if they don't exist"
+ if ! getent group "ogar" >/dev/null; then
+ groupadd -r ogar
+ fi
+ if ! getent passwd "ogar" >/dev/null; then
+ useradd -r -M -N -g ogar -d /usr/share/ogar -s /usr/bin/nologin -c 'Ogar Server' ogar
+ fi
+
+echo "Symlinking gameserver.ini to /etc/ogar"
+ln -s /usr/share/ogar/gameserver.ini /etc/ogar
+
+echo "Installing ws module"
+rm -R /root/.npm
+cd /usr/share/ogar
+npm install ws
+
+echo "Setting proper permissions"
+chown -R ogar:ogar /usr/share/ogar
+chmod -R 755 /usr/share/ogar
+}
+
+post_upgrade() {
+echo "Creating ogar user and group if they don't exist"
+ if ! getent group "ogar" >/dev/null; then
+ groupadd -r ogar
+ fi
+ if ! getent passwd "ogar" >/dev/null; then
+ useradd -r -M -N -g ogar -d /usr/share/ogar -s /usr/bin/nologin -c 'Ogar Server' ogar
+ fi
+
+echo "Symlinking gameserver.ini to /etc/ogar"
+ln -s /usr/share/ogar/gameserver.ini /etc/ogar
+
+echo "Installing ws module"
+rm -R /root/.npm
+cd /usr/share/ogar
+npm install ws
+
+echo "Setting proper permissions"
+chown -R ogar:ogar /usr/share/ogar
+chmod -R 755 /usr/share/ogar
+}
+
+pre_remove() {
+ if systemctl --quiet is-active ogar; then
+ systemctl stop ogar
+ fi
+}
+
+post_remove() {
+echo "Removing ogar user and group"
+ if getent passwd "ogar" >/dev/null; then
+ userdel ogar > /dev/null
+ fi
+ if getent group "ogar" >/dev/null; then
+ groupdel ogar >/dev/null
+ fi
+
+echo "Unlinking /etc/ogar"
+unlink /etc/ogar
+
+echo "Removing ws module"
+cd /usr/share/ogar
+npm uninstall ws
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/ogar.service b/ogar.service
new file mode 100644
index 000000000000..2ac4c4308c7d
--- /dev/null
+++ b/ogar.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Ogar Server
+After=network.target
+
+[Service]
+Type=simple
+User=ogar
+Group=ogar
+WorkingDirectory=/usr/share/ogar
+ExecStart=/usr/bin/node /usr/share/ogar/src/index.js
+
+[Install]
+WantedBy=multi-user.target