Add script for starting mcdr.
This commit is contained in:
58
run.sh
Executable file
58
run.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
##############################################################################
|
||||
# MCDReforged Launch Script (UV Managed)
|
||||
# Function: Standardize MCDReforged startup with UV package manager
|
||||
##############################################################################
|
||||
|
||||
# ======================== Customizable Configuration ========================
|
||||
UV_CMD="${UV_CMD:-uv}"
|
||||
MCDR_ARGS="${MCDR_ARGS:-}"
|
||||
LOG_FILE="${LOG_FILE:-}"
|
||||
|
||||
# ================================ Script Logic ==============================
|
||||
set -euo pipefail
|
||||
|
||||
# Check UV dependency
|
||||
if ! command -v "$UV_CMD" &> /dev/null; then
|
||||
echo "ERROR: UV package manager not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check MCDReforged installation
|
||||
if ! "$UV_CMD" pip list | grep -q "mcdreforged" &> /dev/null; then
|
||||
echo "WARNING: MCDReforged not found in UV managed packages"
|
||||
echo "Installing MCDReforged via UV..."
|
||||
"$UV_CMD" install mcdreforged
|
||||
fi
|
||||
|
||||
# Print UV & MCDReforged version
|
||||
UV_VERSION="$("$UV_CMD" self version | head -n 1 | awk '{print $2}')"
|
||||
MCDR_VERSION="$("$UV_CMD" run mcdreforged --version 2>&1 | awk '{print $2}')"
|
||||
echo "INFO: UV Version: $UV_VERSION"
|
||||
echo "INFO: MCDReforged Version: $MCDR_VERSION"
|
||||
echo ""
|
||||
|
||||
# Construct launch command
|
||||
RUN_COMMAND="$UV_CMD run mcdreforged $MCDR_ARGS"
|
||||
|
||||
# Add log redirection if specified
|
||||
if [ -n "$LOG_FILE" ]; then
|
||||
RUN_COMMAND="$RUN_COMMAND >> $LOG_FILE 2>&1"
|
||||
echo "INFO: Log will be redirected to: $LOG_FILE"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Print startup info
|
||||
echo "=================================================="
|
||||
echo " MCDReforged Launch Script v1.0"
|
||||
echo "=================================================="
|
||||
echo "Startup Time: $(date +'%Y-%m-%d %H:%M:%S')"
|
||||
echo "UV Command: $UV_CMD"
|
||||
echo "MCDR Args: $MCDR_ARGS"
|
||||
echo "Launch Command: $RUN_COMMAND"
|
||||
echo "=================================================="
|
||||
echo "Starting MCDReforged ..."
|
||||
echo ""
|
||||
|
||||
# Execute launch command
|
||||
exec bash -c "$RUN_COMMAND"
|
||||
Reference in New Issue
Block a user