Egg Repository

Pterodactyl Community Egg Repository

RedM

A new RedM egg for the latest builds due to recent changes in RedM

Read Me

Red M

From the RedM Site

RedM, for Red Dead Redemption 2 on PC. Launching now, based on the CitizenFX framework and Cfx.re technology.

Install notes

  • Only installs latest version versions are not selectable.

Server Ports

Ports required to run the server in a table format.

Port default
Game 30120
ServerListing 30110
cfx join links 30130
Yolks
NameTag
ghcr.io/ptero-eggs/yolks:debianghcr.io/ptero-eggs/yolks:debian
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
CFX licenseRequired to start the service. Get your keys at https://keymaster.fivem.net/CFX_LICENSEYesYes
Max PlayersSet the fivem max play countMAX_PLAYERS32YesNo
Server HostnameThe name that shows up in the server browserSERVER_HOSTNAMEMy new FXServer!YesYes
CFX versionThe CFX Server version that is to be installed. Invalid versions will default to latest. an example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096` You can the latest version from here - https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/CFX_VERSIONlatestYesYes
Download LinkThis is the link to download redm 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/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6/fx.tar.xzDOWNLOAD_URLNoNo
Steam Web Api KeyUse your Steam WebApiKey or set to 'none'. Get your key at https://steamcommunity.com/dev/apikey/STEAM_WEBAPIKEYnoneYesYes
Install Script
#!/bin/ash
# CFx Installation Script
#
# Server Files: /mnt/server
apt update -y
apt install -y tar xz-utils file jq

mkdir -p /mnt/server/resources /mnt/server/logs/

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 [[ "${CFX_VERSION}" == "recommended" ]] || [[ -z ${CFX_VERSION} ]]; then
  DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')
elif [[ "${CFX_VERSION}" == "latest" ]]; then
  DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')
else
  VERSION_LINK=$(echo -e "${RELEASE_PAGE}" | grep -Eo '".*/*.tar.xz"' | grep -Po '(?<=href=")[^"]*' | sed 's/\"//g' | sed 's/\.\///1' | grep ${CFX_VERSION})
  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 "server config file exists"
else
  echo "Downloading default fivem config"
  curl https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/gta/fivem/server.cfg >>server.cfg
fi

echo "install complete"