#!/bin/bash set -eu . /start-utils export TYPE=FABRIC FABRIC_INSTALLER=${FABRIC_INSTALLER:-} FABRIC_INSTALLER_URL=${FABRIC_INSTALLER_URL:-} FABRICVERSION=${FABRICVERSION:-LATEST} if [[ -z $FABRIC_INSTALLER && -z $FABRIC_INSTALLER_URL ]]; then log "Checking Fabric version information." case $FABRICVERSION in LATEST) FABRIC_VERSION=$(maven-metadata-release https://maven.fabricmc.net/net/fabricmc/fabric-installer/maven-metadata.xml) ;; *) FABRIC_VERSION=$FABRICVERSION ;; esac FABRIC_INSTALLER="/tmp/fabric-installer-$FABRIC_VERSION.jar" elif [[ -z $FABRIC_INSTALLER ]]; then FABRIC_INSTALLER="/tmp/fabric-installer.jar" elif [[ ! -e $FABRIC_INSTALLER ]]; then log "ERROR: the given Fabric installer doesn't exist : $FABRIC_INSTALLER" exit 2 fi installMarker=".fabric-installed-${VANILLA_VERSION}-${FABRIC_VERSION:-manual}" debug Checking for installMarker ${installMarker} if [[ ! -e $installMarker ]]; then if [[ ! -e $FABRIC_INSTALLER ]]; then if [[ -z $FABRIC_INSTALLER_URL ]]; then log "Downloading $FABRIC_VERSION" downloadUrl="https://maven.fabricmc.net/net/fabricmc/fabric-installer/$FABRIC_VERSION/fabric-installer-$FABRIC_VERSION.jar" log "...trying $downloadUrl" curl -o $FABRIC_INSTALLER -fsSL $downloadUrl else log "Downloading $FABRIC_INSTALLER_URL ..." if ! curl -o $FABRIC_INSTALLER -fsSL $FABRIC_INSTALLER_URL; then log "Failed to download from given location $FABRIC_INSTALLER_URL" exit 2 fi fi fi if isDebugging; then debug "Installing Fabric $FABRIC_VERSION using $FABRIC_INSTALLER with mcversion ${VANILLA_VERSION}" else log "Installing Fabric $FABRIC_VERSION using $FABRIC_INSTALLER" fi tries=3 set +e while ((--tries >= 0)); do java -jar $FABRIC_INSTALLER server -mcversion $VANILLA_VERSION -downloadMinecraft if [[ $? == 0 ]]; then break fi done set -e if (($tries < 0)); then log "Fabric failed to install after several tries." >&2 exit 10 fi export SERVER=fabric-server-launch.jar log "Using server $SERVER" echo $SERVER > $installMarker else export SERVER=$(< $installMarker) fi # Contineut to Final Setup exec /start-finalSetup01World $@