Egg Repository

Pterodactyl Community Egg Repository

Tachyon

A multiplayer version of FTL.

Read Me
Yolks
NameTag
Java_11ghcr.io/pterodactyl/yolks:java_11
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
VersionVERSIONlatestYesYes
Install Script
#!/bin/bash

apt update
apt install -y curl jq file unzip

if [ ! -d /mnt/server/ ]; then
    mkdir -p /mnt/server/
fi

cd /mnt/server/

## get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/Dav-Edward/TachyonsCE/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/Dav-Edward/TachyonsCE/releases")
MATCH=TachyonsCE

if [ "$(echo ${LATEST_JSON} | jq -r '.message')" != "Not Found" ] && [[ -z "${VERSION}" || "${VERSION}" == "latest" ]]; then
    echo -e "grabbing latest version"
    DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
elif [ "$(echo ${LATEST_JSON} | jq -r '.message')" == "Not Found" ]; then
    ## emergency fallback if latest isn't found
    ## grabs the latest release even it it's a pre-release
    echo -e "grabbing latest pre-release"
    DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})
else
    echo -e "grabbing version $VERSION"
    VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
    if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
        DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
    else
        echo -e "defaulting to latest release"
        DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
    fi
fi

if [ ! -z "${DOWNLOAD_URL}" ]; then 
    if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then
        echo -e "link is valid. setting download link to ${DOWNLOAD_URL}"
        DOWNLOAD_LINK=${DOWNLOAD_URL}
    else        
        echo -e "link is invalid closing out"
        exit 2
    fi
fi

curl --progress-bar -sSL -o ${DOWNLOAD_URL##*/} ${DOWNLOAD_URL}

FILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2)
if [ "$FILETYPE" == "gzip" ]; then
    tar xzvf ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "Zip" ]; then
    unzip -o ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "XZ" ]; then
    tar xvf ${DOWNLOAD_LINK##*/}
else
    echo -e "unknown filetype. Exeting"
    exit 2 
fi

#move all server files out
mv ./server/* ./

#remove zip and unneeded client-side and dev files
rm -rf server/ JRE/ client/ *.zip

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"