summaryrefslogtreecommitdiff
path: root/community/sauerbraten/sauerbraten-server
diff options
context:
space:
mode:
Diffstat (limited to 'community/sauerbraten/sauerbraten-server')
-rwxr-xr-xcommunity/sauerbraten/sauerbraten-server22
1 files changed, 22 insertions, 0 deletions
diff --git a/community/sauerbraten/sauerbraten-server b/community/sauerbraten/sauerbraten-server
new file mode 100755
index 000000000..b4c79cb7f
--- /dev/null
+++ b/community/sauerbraten/sauerbraten-server
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+SAUER_USER=nobody
+LOGDIR=/var/log/sauerbraten
+[ -f /etc/conf.d/sauerbraten ] && . /etc/conf.d/sauerbraten
+
+cd /opt/sauerbraten
+
+if [ "$(id -u)" == "0" ]; then
+ if [ ! -d "$LOGDIR" ]; then
+ mkdir -p "$LOGDIR"
+ chown "$SAUER_USER:log" "$LOGDIR"
+ fi
+
+ sudo -Hu "$SAUER_USER" \
+ nohup /opt/sauerbraten/bin/linux_server \
+ >> "$LOGDIR/main.log" \
+ 2>> "$LOGDIR/error.log" \
+ < /dev/null &
+else
+ bin/linux_server
+fi