Skip to content

Instantly share code, notes, and snippets.

@bse666
Created April 16, 2020 17:55
Show Gist options
  • Save bse666/75639131072d575ff8373063abaeead2 to your computer and use it in GitHub Desktop.
Save bse666/75639131072d575ff8373063abaeead2 to your computer and use it in GitHub Desktop.
minetest jail startupscript
# REQUIRE: LOGIN
# KEYWORD: shutdown
# FILE: /usr/local/etc/rc.d/minetest
# Add the following line to /etc/rc.conf[.local] to enable minetest server
#
# minetest_enable (bool): Set to "NO" by default
# Set it to "YES" to enable minetest server
# minetest_conffile (str): Path to config file (required).
# (default: /usr/local/etc/minetest.conf)
# minetest_rundir (str): Path to directory holding a pidfile.
# (default: /var/run/minetest)
# minetest_user (str): User to run as
# (default: minetest)
# minetest_group (str): Group to run as
# (default: minetest)
# minetest_logdir (str): Path to log directory
# (default: /var/log/minetest)
# minetest_dbdir (str): Path to world database directory
# (default: /var/db/minetest)
. /etc/rc.subr
name=minetest
rcvar=minetest_enable
load_rc_config ${name}
: ${minetest_enable="NO"}
: ${minetest_config="/usr/local/etc/minetest.conf"}
: ${minetest_rundir="/var/run/minetest"}
: ${minetest_user="minetest"}
: ${minetest_group="minetest"}
: ${minetest_logdir="/var/log/minetest"}
: ${minetest_dbdir="/var/db/minetest"}
: ${minetest_args:="--logfile ${minetest_logdir}/debug.log --world ${minetest_dbdir}/world ${minetest_flags}"}
pidfile=
case "${minetest_args}" in
*--config\ *)
echo "Warning \$minetest_args includes --config option." \
"Please use \$minetest_conffile instead."
;;
*)
minetest_args="--config ${minetest_config} ${minetest_args}"
;;
esac
command=/usr/sbin/daemon
procname=/usr/local/bin/minetestserver
pidfile=${minetest_rundir}/minetest.pid
command_args="-c -f -p ${pidfile} /usr/bin/env HOME='${minetest_dbdir}' ${procname} ${minetest_args}"
required_files=${minetest_config}
start_precmd=minetest_prestart
minetest_prestart () {
if [ ! -d ${minetest_rundir} ]; then
mkdir -m 755 -p ${minetest_rundir}
chown -R ${minetest_user}:${minetest_group} ${minetest_rundir}
fi
if [ ! -d ${minetest_logdir} ]; then
mkdir -m 755 -p ${minetest_logdir}
chown -R ${minetest_user}:${minetest_group} ${minetest_logdir}
fi
if [ ! -d ${minetest_dbdir} ]; then
mkdir -m 755 -p ${minetest_dbdir}/data
chown -R ${minetest_user}:${minetest_group} ${minetest_dbdir}
fi
}
run_rc_command "$1"
@bse666
Copy link
Author

bse666 commented Apr 16, 2020

  • put file in /usr/local/etc/rc.d/
  • enable in /etc/rc.d
    minetest_enable="YES"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment