Compare commits
2 Commits
6aee4a8b8c
...
9e6355ed94
Author | SHA1 | Date | |
---|---|---|---|
9e6355ed94 | |||
cbf15e2bde |
8
PKGBUILD
8
PKGBUILD
@ -1,7 +1,7 @@
|
|||||||
# Maintainer: NullBite <aur.archlinux@nullbite.com>
|
# Maintainer: NullBite <aur.archlinux@nullbite.com>
|
||||||
pkgname=mcserver
|
pkgname=mcserver
|
||||||
pkgver=0.0.1
|
pkgver=0.0.2
|
||||||
pkgrel=4
|
pkgrel=2
|
||||||
pkgdesc="Minecraft server manager"
|
pkgdesc="Minecraft server manager"
|
||||||
arch=("any")
|
arch=("any")
|
||||||
url="https://gitea.protogen.io/nullbite/mcserver"
|
url="https://gitea.protogen.io/nullbite/mcserver"
|
||||||
@ -9,8 +9,8 @@ license=('GPL')
|
|||||||
depends=('tmux')
|
depends=('tmux')
|
||||||
source=(mcserver
|
source=(mcserver
|
||||||
mcserver@.service)
|
mcserver@.service)
|
||||||
sha256sums=('ee656e76d7a53c64f82aac7f79a5e4d36aa08a28b079b4fe0b74902e2e24dd8e'
|
sha256sums=('c45db69d0b991e37e7ad586f7eeba61aee274e7fc62c1e67dadea4eced14fdc1'
|
||||||
'f4fbd63759bef7e99a6d0fbde67dd179817103b30d5486681b2390b8b5f047a7')
|
'e6a901e658acdd23c0ec9dc6a60d672a1cdf931535a16fe634c57fcdb28fb90e')
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "$pkgdir"
|
cd "$pkgdir"
|
||||||
|
19
mcserver
19
mcserver
@ -8,26 +8,30 @@ die () {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [[ "$(id -u)" == 0 ]] ; then
|
||||||
|
die 'This script should not be run as root. Plase change the default user with `systemctl --edit mcserver@.service`'
|
||||||
|
fi
|
||||||
|
|
||||||
_stop_and_wait () {
|
_stop_and_wait () {
|
||||||
tmux $TMUX_OPTS send-keys -t "$TMUX_SESSION" -l "$code_clear" 'stop' "$code_send"
|
tmux -L "$TMUX_SOCKET" send-keys -t "$TMUX_SESSION" -l "$code_clear" 'stop' "$code_send"
|
||||||
echo Waiting for session to exit...
|
echo Waiting for session to exit...
|
||||||
while tmux $TMUX_OPTS has-session -t "$TMUX_SESSION" ; do
|
while tmux -L "$TMUX_SOCKET" has-session -t "$TMUX_SESSION" ; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
_start () {
|
_start () {
|
||||||
! tmux $TMUX_OPTS has-session > /dev/null 2>&1 && \
|
! tmux -L "$TMUX_SOCKET" has-session -t "$TMUX_SESSION" > /dev/null 2>&1 && \
|
||||||
tmux $TMUX_OPTS new-session -d -s $TMUX_SESSION "./start.sh" || \
|
tmux -L "$TMUX_SOCKET" new-session -d -s "$TMUX_SESSION" "./start.sh" || \
|
||||||
die "Instance $instance is already running."
|
die "Instance $instance is already running."
|
||||||
}
|
}
|
||||||
|
|
||||||
_send_command() {
|
_send_command() {
|
||||||
exec tmux $TMUX_OPTS send-keys -t "$TMUX_SESSION" -l "$code_clear" "$*" "$code_send"
|
exec tmux -L "$TMUX_SOCKET" send-keys -t "$TMUX_SESSION" -l "$code_clear" "$*" "$code_send"
|
||||||
}
|
}
|
||||||
|
|
||||||
_attach() {
|
_attach() {
|
||||||
tmux $TMUX_OPTS attach -t "$TMUX_SESSION"
|
tmux -L "$TMUX_SOCKET" attach -t "$TMUX_SESSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
# directories
|
# directories
|
||||||
@ -68,7 +72,8 @@ source ./vars
|
|||||||
# override value defined in vars for compatibility with old servers
|
# override value defined in vars for compatibility with old servers
|
||||||
TMUX_SESSION=mcserver-"$instance"
|
TMUX_SESSION=mcserver-"$instance"
|
||||||
# set socket for tmux to separate it from user sessions
|
# set socket for tmux to separate it from user sessions
|
||||||
TMUX_OPTS="-L mcserver"
|
# also each server gets its own socket so systemd doesn't break
|
||||||
|
TMUX_SOCKET="mcserver-$instance"
|
||||||
|
|
||||||
case "$cmd" in
|
case "$cmd" in
|
||||||
stop) _stop_and_wait ;;
|
stop) _stop_and_wait ;;
|
||||||
|
@ -6,7 +6,6 @@ After=network.target
|
|||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
ExitType=cgroup
|
ExitType=cgroup
|
||||||
User=nobody
|
|
||||||
ExecStart=/usr/bin/env mcserver start %i
|
ExecStart=/usr/bin/env mcserver start %i
|
||||||
ExecStop =/usr/bin/env mcserver stop %i
|
ExecStop =/usr/bin/env mcserver stop %i
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
Loading…
x
Reference in New Issue
Block a user