summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorilmikko2016-10-17 23:25:58 +0100
committerilmikko2016-10-17 23:25:58 +0100
commit3cd5546fba87819d8cd6e644c5e226af1fc09eaf (patch)
tree0a01b67ec793b98421278504dedb9ec36f00ac8e
parent7d9587c7ab1b45ac3f6e327b0155b70297141a72 (diff)
downloadaur-3cd5546fba87819d8cd6e644c5e226af1fc09eaf.tar.gz
Modified the service file slightly to work with less effort.
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rw-r--r--terraria-server@.service11
3 files changed, 11 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ffe7e7b87f51..933c30a91563 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = terraria-server
pkgdesc = Official dedicated server for Terraria
pkgver = 1.3.3.3
- pkgrel = 12
+ pkgrel = 13
url = https://terraria.org/
install = terraria-server.install
arch = x86_64
@@ -17,7 +17,7 @@ pkgbase = terraria-server
sha256sums = ecd6ec686d6f46defb3ae0e75d49ce50cd324a4d390fc067177668ea990ad8bc
sha256sums = 100b68ee3b88e7b095d23cd9d56e9480b21788b5165ebbf752c16b19693299f7
sha256sums = 9d93c86ade7c5a6ffe4eb9f8a43e9306f4ca14a8075cb8018334c34fbfc9472e
- sha256sums = 27dfa3e01b4da26bccace69bcf02fd91293cac701e48ab358d9495070365c2ac
+ sha256sums = 24478cfa6e4e21066454ab47a7748c49d6a07d644bfb740d9c284275d6428e3a
pkgname = terraria-server
diff --git a/PKGBUILD b/PKGBUILD
index 2ea2465a9f0d..1c6b9c6902d1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=terraria-server
pkgver=1.3.3.3
-pkgrel=12
+pkgrel=13
pkgdesc="Official dedicated server for Terraria"
arch=('x86_64' 'x86')
license=('unknown')
@@ -21,7 +21,7 @@ source=("http://terraria.org/server/${pkgname}-${_pkgver}.zip"
sha256sums=('ecd6ec686d6f46defb3ae0e75d49ce50cd324a4d390fc067177668ea990ad8bc'
'100b68ee3b88e7b095d23cd9d56e9480b21788b5165ebbf752c16b19693299f7'
'9d93c86ade7c5a6ffe4eb9f8a43e9306f4ca14a8075cb8018334c34fbfc9472e'
- '27dfa3e01b4da26bccace69bcf02fd91293cac701e48ab358d9495070365c2ac')
+ '24478cfa6e4e21066454ab47a7748c49d6a07d644bfb740d9c284275d6428e3a')
package() {
unzip -o "${pkgname}-${_pkgver}.zip"
diff --git a/terraria-server@.service b/terraria-server@.service
index e4f97ecf93f1..68ef964ad530 100644
--- a/terraria-server@.service
+++ b/terraria-server@.service
@@ -1,12 +1,15 @@
[Unit]
-Description=Terraria server %i
+Description=Terraria Server %i
After=network.target
[Service]
User=terraria
-ExecStart=/usr/bin/screen -DmS terraria-%i /usr/bin/terraria-server -config /etc/terraria-server/%i.conf
-ExecStop=/usr/bin/screen -p 0 -S terraria-%i -X eval 'stuff "say Server shutting down. Saving world."\\015'
-ExecStop=/usr/bin/screen -p 0 -S terraria-%i -X eval 'stuff "exit"\\015'
+Type=simple
+# Screen is used, because the terraria server binary crashes if called on its own.
+ExecStart=/usr/bin/screen -DmS terraria-server-%i /usr/bin/terraria-server -config /etc/terraria-server/%i.conf
+# Send a warning message to all players and the exit command through screen to let the program terminate itself gracefully
+ExecStop=/usr/bin/screen -S terraria-server-%i -X stuff "say Server shutting down. Saving world.\015"
+ExecStop=/usr/bin/screen -S terraria-server-%i -X stuff "exit\015"
# Don't stop process automatically, but still send SIGKILL after a timeout
KillMode=control-group
KillSignal=SIGCONT