How to setup a RedM Server

This tutorial is a brief overview of how to setup a basic RedM server. I will go over simple instructions to get you going.

Overall, the setup process is very similar to Setting up a FiveM Server

Note: Once the RedM documentation exists, this post will be void, albeit still with valuable information

This post will be a wiki entry so anyone can add steps I may have forgotten. Don’t completely mess up the post though. Doing such “troll” actions are not permitted!


Requirements

You must know basic command prompt / terminal usage and Git. If you are unfamiliar with these, please follow some guides online. You must know how to create a folder, change folders, clone a Git repository and start a file.

Installation

The file paths we are going to use may be different, but make sure your file path does not contain spaces

BAD - C:\Users\John Smith\Desktop\MyRedMServer
GOOD - C:\Projects\MyRedMServer

Since the majority of beginner users will be setting up a server on their home PC, I will have more detailed instructions for Windows.

Windows

  1. Create a new base folder (e.g. C:\MyRedMServer)
  2. Inside that folder, create two new folders
    a. C:\MyRedMServer\server-files, for server binaries
    b. C:\MyRedMServer\server-data, for your server resources/scripts
  3. Navigate to the http://runtime.fivem.net/artifacts/fivem/build_server_windows/master/ and download the Latest Recommended artifact.
  4. Open the downloaded server.zip file and extract the contents to your server binaries folder created in step 2a (e.g. C:\MyRedMServer\server-files)
  5. Assuming you have Git installed, open up a command prompt window
    a. Press Windows key + R
    b. In the dialog that opened, type cmd and press Enter
  6. Navigate to your server-data folder
    a. cd C:\MyRedMServer\server-data
  7. Clone the cfx-server-data repository
    a. git clone https://github.com/citizenfx/cfx-server-data .
    b. BEWARE Don’t forget the dot!!!
  8. Open up Notepad or any other file editor (Notepad++, vscode)
    a. Create a new file and copy+paste the example server.cfg that can be found at the end of this post.
    b. Generate a license key on https://keymaster.fivem.net
    c. Change the sv_licenseKey changeme with your license key (e.g. sv_licenseKey myl1c3nsekey)
    d. Save the file as server.cfg in the server-data folder (e.g. C:\MyRedMServer\server-data) - Don’t forget to set the file extension in the save prompt to ‘All Files’!
  9. In the command prompt window from step 5, start your server
    a. Type ..\server-files\FXServer.exe +exec server.cfg +set gamename rdr3
    b. Press Enter and your server will start

Should your server not start or you get an error like “Error authenticating your license key”, please reread the instructions. You missed a step or did it incorrectly.

Linux

Assuming you are SSHed into your machine or have otherwise access.

  1. Create a new base folder (e.g. ~/redm)
  2. Inside that folder, create two new folders
    a. ~/redm/server-files, for server binaries
    b. ~/redm/server-data, for your server resources/scripts
  3. Navigate in your browser to http://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/
    a. Right click on the latest artifact
    b. Click “Copy link location” or similar prompts
  4. Navigate to the server-files folder
    a. cd ~/redm/server-files
  5. Download the artifact using the link we copied in step 3.
    a. wget <link_url>
  6. Extract the files using tar
    a. tar xf fx.tar.xz
  7. Navigate to your server-data folder and clone the cfx-server-data repository
    a. cd ~/redm/server-data && git clone https://github.com/citizenfx/cfx-server-data .
  8. Create a server.cfg file and copy the example found at the end of this post
    a. nano server.cfg
    b. Copy + paste example server.cfg
  9. Go to https://keymaster.fivem.net and generate a license key
  10. Enter the generated license key in your server.cfg by replacing the changeme value
  11. Exit nano (Ctrl+X -> Y -> Enter)
  12. Start your server
    a. bash ../server-files/run.sh +exec server.cfg +set gamename rdr3

If you are experiencing any issues, please reread the instructions carefully.

Notes

  1. If you are hosting this on your own PC, you can connect to it using localhost
  2. Hosting outside of your home network will require you to open the following ports
    a. Port 30120 UDP/TCP incoming & outgoing for server traffic
    b. Port 30110 UDP outgoing for the server listing
    c. Port 30130 UDP outgoing for cfx.re/join proxy links
  3. If you wish your server not to be listed on the server list (assuming ports are setup correctly), add sv_master "" in your server.cfg

Example server.cfg

# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

ensure spawnmanager
ensure mapmanager
ensure basic-gamemode

# A comma-separated list of tags for your server.
# For example:
# - sets tags "drifting, cars, racing"
# Or:
# - sets tags "roleplay, military, tanks"
sets tags "default"

# A valid locale identifier for your server's primary language.
# For example "en-US", "fr-CA", "nl-NL", "de-DE", "en-GB", "pt-BR"
sets locale "root-AQ" 
# please DO replace root-AQ on the line ABOVE with a real language!
 
# Set your server's hostname
sv_hostname "FXServer, but unconfigured"

# Add system admins
add_ace group.admin command allow # allow all commands
add_ace group.admin command.quit deny # but don't allow quit
add_principal identifier.fivem:1 group.admin # add the admin to the group

# Hide player endpoints in external log output.
sv_endpointprivacy true

# Server player slot limit (must be between 1 and 32, unless using OneSync)
sv_maxclients 32

# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey)
# -> replace "" with the key
set steam_webApiKey ""

# License key for your server (https://keymaster.fivem.net)
sv_licenseKey changeme

We have learned how to download server files, download default resources and setup a basic RedM server.

If you are still having issues, please read the #redm-hello channel on the Cfx.re Discord

11 Likes

thanks for writing this down, surely will be helpful for a lot of people

2 Likes

I love you. I mean that seriously, from one server admin to another. Worked like a charm.

1 Like

Nice! Can’t wait to try this out.

Hmm, maybe I am just stupid or this is not working for me. I have done everything it says to do but when I try to run the start command, it gives me an error saying can not find sessionmanager-rdr3 and it also says that my server.cfg does not exist along with I do not have a license. Which is all a bit weird because I do have a license and the server.cfg does exist. If you know a fix to the problem please let me know. I might just be being stupid.

You are not using the latest cfx-server-data. As you can see, it’s there https://github.com/citizenfx/cfx-server-data/tree/master/resources/[system]

This usually happens because you are not in the right folder when launching the server (step 9 on Windows). Make sure you are in the server-data folder (which also contains the server.cfg)

What do you mean by this? Like have that folder opened in file explorer?

No, please read the tutorial again. To run a RedM server you require basic knowledge of the Windows command prompt or Linux terminal, as said under Requirements. If you are not comfortable with any of the terms discussed in the tutorial, please learn about them on websites specific to that subject.

If you follow the tutorial “to the T” you won’t have this issue.

2 Likes

The config is flawed by design. I don’t know if this is the same still used by the fivem docs but the endpoints should be defined at the end of the config so all scripts are initialized before the opening up the floodgates for people to connect to the server. I suggest revising the example config you posted.

I didn’t put the . at the end but I didn’t get any error:

D:\servers\RedM\server-data>git clone https://github.com/citizenfx/cfx-server-data
Cloning into ‘cfx-server-data’…
remote: Enumerating objects: 796, done.
remote: Total 796 (delta 0), reused 0 (delta 0), pack-reused 796
Receiving objects: 100% (796/796), 3.44 MiB | 25.15 MiB/s, done.
Resolving deltas: 100% (336/336), done.

Is that ok?

No, because now you have the following -> D\servers\RedM\server-data\cfx-server-data

This can be problematic for the rest of the steps. If you’re comfortable with what you’re doing, it’s fine.

Would you mind posting a config like yours is currently?

The config file is perfectly fine.

Seems some people don’t understand this is not how the cfx servers run anymore. Go into the server-data folder then cut the resources folder/server.cfg and put it in the server-files folder. You will have that problem fixed. My current problem is the nucleus wont authenticate for me lol, so annoying.

Could you please add the step for Windows I do not know if this works for Linux but, you NEED to transfer the contents of the server-data folder into the server-files folder in order for the server to discover the resources. The server.cfg file needs to also be in the server-files folder or if you want to be smart and simplify it just make a RedMServer Folder and transfer all the files from the server-files/data folders into that one folder then the server will start with your run command without issue.

Just make a new server directory/folder and put all the files from the server-files/server-data folders and the server will work. Your server folder should look something similar to this after you run it for the first time. https://imgur.com/a/byIXWSl

No you don’t. If you do, then you are not running the server correctly. You first need to be in the server-data folder and then run <path-to-server-files>\run.cmd +exec server.cfg

It has been like that for years and 100% guaranteed did not change.

I run my FiveM server this way and have no issues.

I have been getting this when i run the server
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.
Reauthenticating with Nucleus…
Authenticating with Nucleus failed! That’s possibly bad.

same, everything seems ok beside the “Nucleus failed!” spammed in the console.