#!/usr/bin/env bash SERVICE_NAME="" SERVICE_FILE="" SERVICE_CREATED="no" SERVICE_MODE_ACTIVE="none" stop_service_if_running() { local service_name="${1:-${SERVICE_NAME:-${CORE}_minecraft}}" if [[ "$INIT_SYSTEM" != "systemd" ]]; then return 0 fi if [[ "${DRY_RUN:-no}" == "yes" ]]; then info "[dry-run] systemctl stop ${service_name}" return 0 fi emit_step "service_stop" "$service_name" systemctl stop "$service_name" >/dev/null 2>&1 || true } create_service() { local core="$1" local dir="$2" local mode="$3" local start_script="$4" local start_script_escaped="$4" start_script_escaped="${start_script_escaped//\\/\\\\}" start_script_escaped="${start_script_escaped//\"/\\\"}" start_script_escaped="${start_script_escaped//%/%%}" SERVICE_NAME="${core}_minecraft" SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" if [[ "$mode" == "none" || "$INIT_SYSTEM" != "systemd" ]]; then warn "$(t service_create_skipped "$mode" "$INIT_SYSTEM")" SERVICE_MODE_ACTIVE="none" return 0 fi emit_step "service_create" "$core:$mode" if [[ "$mode" == "tmux-systemd" ]]; then run_cmd bash -c "cat > '$SERVICE_FILE' < '$SERVICE_FILE' < '$SERVICE_FILE' <