Script cleanup.
This commit is contained in:
39
tools/setup-env.sh
Executable file
39
tools/setup-env.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
# Source (bash or zsh) to export the shared server config from ../.env
|
||||
# (relative to this script):
|
||||
# PAPER_VERSION, PAPER_BUILD, MINECRAFT_SERVER_PATH, MINECRAFT_SERVER_JAR, MINECRAFT_BACKUP_PATH
|
||||
|
||||
_setup_env_self="${BASH_SOURCE[0]:-${(%):-%x}}"
|
||||
_setup_env_root="$(cd "$(dirname "$_setup_env_self")/.." && pwd)"
|
||||
_setup_env_file="${MINECRAFT_ENV_FILE:-$_setup_env_root/.env}"
|
||||
|
||||
if [[ -f "$_setup_env_file" ]]; then
|
||||
while IFS= read -r _line || [[ -n "$_line" ]]; do
|
||||
_line="${_line%$'\r'}"
|
||||
[[ "$_line" =~ ^[[:space:]]*(#|$) ]] && continue
|
||||
_key="${_line%%=*}"
|
||||
_value="${_line#*=}"
|
||||
_key="${_key//[[:space:]]/}"
|
||||
[[ "$_key" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]] || continue
|
||||
_value="${_value#\"}"; _value="${_value%\"}"
|
||||
_value="${_value#\'}"; _value="${_value%\'}"
|
||||
eval "_current=\"\${$_key:-}\""
|
||||
[[ -z "$_current" ]] && export "$_key=$_value"
|
||||
done < "$_setup_env_file"
|
||||
fi
|
||||
|
||||
PAPER_VERSION="${PAPER_VERSION:-}"
|
||||
PAPER_BUILD="${PAPER_BUILD:-}"
|
||||
MINECRAFT_SERVER_PATH="${MINECRAFT_SERVER_PATH:-MCServer}"
|
||||
MINECRAFT_SERVER_PATH="${MINECRAFT_SERVER_PATH/#\~/$HOME}"
|
||||
[[ "$MINECRAFT_SERVER_PATH" == /* ]] || MINECRAFT_SERVER_PATH="$_setup_env_root/$MINECRAFT_SERVER_PATH"
|
||||
MINECRAFT_BACKUP_PATH="${MINECRAFT_BACKUP_PATH:-backups}"
|
||||
MINECRAFT_BACKUP_PATH="${MINECRAFT_BACKUP_PATH/#\~/$HOME}"
|
||||
[[ "$MINECRAFT_BACKUP_PATH" == /* ]] || MINECRAFT_BACKUP_PATH="$_setup_env_root/$MINECRAFT_BACKUP_PATH"
|
||||
|
||||
if [[ -z "${MINECRAFT_SERVER_JAR:-}" && -n "$PAPER_VERSION" && -n "$PAPER_BUILD" ]]; then
|
||||
MINECRAFT_SERVER_JAR="paper-${PAPER_VERSION}-${PAPER_BUILD}.jar"
|
||||
fi
|
||||
|
||||
export PAPER_VERSION PAPER_BUILD MINECRAFT_SERVER_PATH MINECRAFT_SERVER_JAR MINECRAFT_BACKUP_PATH
|
||||
unset _setup_env_self _setup_env_root _setup_env_file _line _key _value _current
|
||||
Reference in New Issue
Block a user