FiveM ONLY supports amd64. arm64 is NOT supported (like Oracle free cloud)
Pterodactyl will not be providing support for FiveM. You are free to run a FiveM server but no support will be provided in the Pterodactyl Discord, check the discord annoucement below for details.
Worth a read if you plan on running a FiveM server Pterodactyl Discord Announcement
FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers.
Currently the script can get versions from the builds site.
The FIVEM_VERSION
variable.
latest
which is the latest recommended2431-350dd7bd5c0176216c38625ad5b1108ead44674d
.The DOWNLOAD_URL
only needs to be used if they turn on ddos protection. The variable needs to point to a fx.tar.xz
file as I am too lazy to update the entire script.
txAdmin is now supported and disabled by default. You set TXADMIN_ENABLED
to 1
to enable it.
The last update to the egg changes the server to use txadmin to run. On first startup it will print a key to use to sign into the txadmin panel.
Ports required to run the server in a table format.
Port | default |
---|---|
Game | 30110 |
Game+1 | 30120 |
txAdmin | 40120 |
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:debian | ghcr.io/ptero-eggs/yolks:debian |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
fivem license | Required to start the service. Get your keys at https://keymaster.fivem.net/ | FIVEM_LICENSE | Yes | Yes | |
Max Players | Set the fivem max play count | MAX_PLAYERS | 48 | Yes | No |
Server Hostname | The name that shows up in the server browser | SERVER_HOSTNAME | My new FXServer! | Yes | Yes |
fivem version | The fivem version that is to be installed. Invalid versions will default to recommended. An example is `6013-d8ae399d15680da569022f57ab7f2474d307c821` You can get the latest version from here - https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ | FIVEM_VERSION | recommended | Yes | Yes |
Download Link | This is the link to download fivem from. This is only used in the install script. The file you link to needs to be an fx.tar.zx file. Example: https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/6013-d8ae399d15680da569022f57ab7f2474d307c821/fx.tar.xz | DOWNLOAD_URL | No | No | |
Steam Web Api Key | Use your Steam WebApiKey or set to 'none'. Get your key at https://steamcommunity.com/dev/apikey/ | STEAM_WEBAPIKEY | none | Yes | Yes |
txAdmin Port | The port for the txAdmin panel | TXADMIN_PORT | 40120 | Yes | No |
Enable txadmin | Enables txadmin. set to 1 to enable. (default is 0 for false) | TXADMIN_ENABLE | 0 | Yes | Yes |
#!/bin/bash
# FiveM Installation Script
#
# Server Files: /mnt/server
apt update -y
apt install -y tar xz-utils file jq
mkdir -p /mnt/server/resources
cd /mnt/server
echo "updating citizenfx resource files"
git clone https://github.com/citizenfx/cfx-server-data.git /tmp
cp -Rf /tmp/resources/* resources/
RELEASE_PAGE=$(curl -sSL https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)
CHANGELOGS_PAGE=$(curl -sSL https://changelogs-live.fivem.net/api/changelog/versions/linux/server)
if [[ "${FIVEM_VERSION}" == "recommended" ]] || [[ -z ${FIVEM_VERSION} ]]; then
DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')
elif [[ "${FIVEM_VERSION}" == "latest" ]]; then
DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')
else
VERSION_LINK=$(echo -e "${RELEASE_PAGE}" | grep -Eo '".*/*.tar.xz"' | grep -Eo '".*/*.tar.xz"' | sed 's/\"//g' | sed 's/\.\///1' | grep -i "${FIVEM_VERSION}" | grep -o =.* | tr -d '=')
if [[ "${VERSION_LINK}" == "" ]]; then
echo -e "defaulting to recommedned as the version requested was invalid."
DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')
else
DOWNLOAD_LINK=$(echo https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/${VERSION_LINK})
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
echo -e "Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*/}"
curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*/}
echo "Extracting fivem files"
FILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2)
if [ "$FILETYPE" == "gzip" ]; then
tar xzvf ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "Zip" ]; then
unzip ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "XZ" ]; then
tar xvf ${DOWNLOAD_LINK##*/}
else
echo -e "unknown filetype. Exiting"
exit 2
fi
rm -rf ${DOWNLOAD_LINK##*/} run.sh
if [ -e server.cfg ]; then
echo "Skipping downloading default server config file as one already exists"
else
echo "Downloading default fivem config"
curl https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/gta/fivem/server.cfg >>server.cfg
fi
mkdir -p logs/
echo "install complete"