commit 92fbdbb39d7508d772b2409a54cf0faa8f80bcaa parent ef797db9e68aab881f8125a5077c014ddcef866d Author: mrgrouse <bdmfegys@duck.com> Date: Sun, 3 Aug 2025 23:20:33 -0400 create svc scripts for a minecraft server Diffstat:
| A | svc/services/minecraft | | | 26 | ++++++++++++++++++++++++++ |
| A | svc/services/minecraft.conf | | | 13 | +++++++++++++ |
2 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/svc/services/minecraft b/svc/services/minecraft @@ -0,0 +1,25 @@ +#!/usr/bin/execlineb -S1 +# Use execlineb -WS1 for debug/testing (errors out on bad syntax) + +envfile /etc/svc.d/default/minecraft.conf + +case -N -- $1 + { + "-s" { + foreground { printf "Starting minecraft server...\n" } + cd ${serverdir} + background { s6-setuidgid ${serveruser} java -jar ${serverdir}/${jarfile} ${javaflags} } + # save pid(s) to pidfile + redirfd -w 1 /run/minecraft.pid { pidof -o %PPID java } + } + "-k" { + # set PID to pid of running process (may (not) exist) + #backtick PID { pidof -o %PPID dropbear } + backtick PID { cat /run/minecraft.pid } + foreground { printf "Stopping dropbear daemon...\n" } + forx x { $PID } + { + foreground { kill -9 $x } + } + } + } foreground { /usr/bin/printf "usage: %s -s|-k\n" $0 } exit 1 +\ No newline at end of file diff --git a/svc/services/minecraft.conf b/svc/services/minecraft.conf @@ -0,0 +1,13 @@ +# minecraft server service config file + +# user to be setuidgid'ed into +serveruser=minecraft + +# directory of mc server to be cd'ed into +serverdir=/home/${serveruser}/main-server + +# java jarfile to be ran in $serverdir +jarfile=paper-current.jar + +# flags for the java jarfile +javaflags="-Xms=8G -Xmx=8G"