RedM

games
Report Issue

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

Contributors:
README

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
Docker Images (1)
Name Image
ghcr.io/ptero-eggs/yolks:debian ghcr.io/ptero-eggs/yolks:debian
Startup Command
$(pwd)/alpine/opt/cfx-server/ld-musl-x86_64.so.1 --library-path "$(pwd)/alpine/usr/lib/v8/:$(pwd)/alpine/lib/:$(pwd)/alpine/usr/lib/" -- $(pwd)/alpine/opt/cfx-server/FXServer +set citizen_dir $(pwd)/alpine/opt/cfx-server/citizen/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3
Variables (6)

CFX license

Required to start the service. Get your keys at https://keymaster.fivem.net/

Environment:
CFX_LICENSE
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Max Players

Set the fivem max play count

Environment:
MAX_PLAYERS
Default:
32
User Viewable:
User Editable:
Rules:
required|integer|between:1,32

Server Hostname

The name that shows up in the server browser

Environment:
SERVER_HOSTNAME
Default:
My new FXServer!
User Viewable:
User Editable:
Rules:
required|string

CFX version

The 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/

Environment:
CFX_VERSION
Default:
latest
User Viewable:
User Editable:
Rules:
required|string|max:50

Download Link

This 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.xz

Environment:
DOWNLOAD_URL
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable

Steam Web Api Key

Use your Steam WebApiKey or set to 'none'. Get your key at https://steamcommunity.com/dev/apikey/

Environment:
STEAM_WEBAPIKEY
Default:
none
User Viewable:
User Editable:
Rules:
required|string
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/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"