Tachyon
A multiplayer version of FTL.
Ports
Add an allocation on the node for each port.
- Game 30303
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 69 lines
Image
- Java_11 ghcr.io/pterodactyl/yolks:java_11
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
1 variable
Startup command
java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar TachyonsCEServer.jarVERSIONUsers can edit
required|string|max:32
Wings
- Stop command
- /exit
- Running when the console shows
- [Server] SERVER STARTED.
Files Wings edits
Wings sets these values in these files before each start.
config.cfg file
- SERVER_PORT=
- SERVER_PORT={{server.build.default.port}}
Readme
Tachyon
Tachyon is a multiplayer FTL server and client.
Server Ports
The Tachyon server requires a single port for access.
| Port | default |
|---|---|
| Game | 30303 |
Server Specific
Latest client and standalone server can be found at https://github.com/Dav-Edward/TachyonsCE/releases
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 69 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/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 "-----------------------------------------"