#!/bin/bash export TYPE=FEED-THE-BEAST function isURL { local value=$1 if [[ ${value:0:8} == "https://" || ${value:0:7} = "http://" ]]; then return 0 else return 1 fi } echo "Looking for Feed-The-Beast server modpack." if [[ -z $FTB_SERVER_MOD ]]; then echo "Environment variable FTB_SERVER_MOD not set." echo "Set FTB_SERVER_MOD to the file name of the FTB server modpack." echo "(And place the modpack in the /data directory.)" exit 2 fi srv_modpack=${FTB_SERVER_MOD} if isURL ${srv_modpack}; then case $srv_modpack in https://www.feed-the-beast.com/*/download) break;; https://www.feed-the-beast.com/*) srv_modpack=${srv_modpack}/download;; esac file=$(basename $(dirname $srv_modpack)) downloaded=/data/${file}.zip if [ ! -e $downloaded ]; then echo "Downloading FTB modpack... $srv_modpack -> $downloaded" curl -sSL -o $downloaded $srv_modpack fi srv_modpack=$downloaded fi if [[ ${srv_modpack:0:5} == "data/" ]]; then # Prepend with "/" srv_modpack=/${srv_modpack} fi if [[ ! ${srv_modpack:0:1} == "/" ]]; then # If not an absolute path, assume file is in "/data" srv_modpack=/data/${srv_modpack} fi if [[ ! -f ${srv_modpack} ]]; then echo "FTB server modpack ${srv_modpack} not found." exit 2 fi if [[ ! ${srv_modpack: -4} == ".zip" ]]; then echo "FTB server modpack ${srv_modpack} is not a zip archive." echo "Please set FTB_SERVER_MOD to a file with a .zip extension." exit 2 fi if [ ! -d ${FTB_DIR} ]; then echo "Unpacking FTB server modpack ${srv_modpack} ..." mkdir -p ${FTB_DIR} unzip -o ${srv_modpack} -d ${FTB_DIR} cp -f /data/eula.txt ${FTB_DIR}/eula.txt fi export FTB_SERVER_START=${FTB_DIR}/ServerStart.sh chmod a+x ${FTB_SERVER_START} sed -i "s/-jar/-Dfml.queryResult=confirm -jar/" ${FTB_SERVER_START} # Continue to Final Setup exec /start-finalSetup01World $@