Setting up a server

Running FXServer

FXServer is the name of the current CitizenFX server version. This page shows you how to run it.

Having trouble running your server? Visit server issues, use the Discord #fxserver-support channel or create a topic in the Server Discussion sub-category on the forum.

Windows

Prerequisites

  1. Visual C++ Redistributable 2019 or newer.
  2. Git to assure a correct installation.

Installation

  1. Create a new folder (for example D:\FXServer).
  2. Download the latest master branch build for Windows from the artifacts server.
  3. Extract the build.
    3b. Use any archiving tool (such as WinRAR or 7-Zip).
  4. Clone cfx-server-data in a new folder (outside of your FXServer folder).
    4b. git clone https://github.com/citizenfx/cfx-server-data.git server-data
  5. Make a server.cfg in your server-data folder. You need to copy the example cfg below into the file.
  6. Generate a license key at https://keymaster.fivem.net.
  7. Set the license key in your server.cfg using sv_licenseKey "licenseKeyGoesHere".
  8. Run the server from the server-data folder. For example, in a plain Windows command prompt (cmd.exe) window:

    cd /d D:\FXServer\server-data
    D:\FXServer\server\run.cmd +exec server.cfg

    (the /d flag is only needed when changing directory to somewhere on a different drive)


Linux

  1. Create a new folder (for example mkdir /home/username/server).
  2. Download the latest master branch build for Linux from the artifacts server(copy the URL for the latest server version and use wget <url> to download it).
  3. Extract the build using cd path/to/server/folder && tar xf fx.tar.xz (you need to have xz installed, on Debian/Ubuntu this is in the xz-utils package).
  4. Clone cfx-server-data in a new folder (other than your FXServer folder).
    4b. For example git clone https://github.com/citizenfx/cfx-server-data.git /home/username/server-data
  5. Make a server.cfg file in your server-data folder (copy the example server.cfg file below into that file).
  6. Generate a license key at https://keymaster.fivem.net.
  7. Set the license key in your server.cfg using sv_licenseKey "licenseKeyGoesHere".
  8. Run the server from the server-data folder.
    8b. bash /home/username/server/run.sh +exec server.cfg

Common issues

server.cfg

An example server.cfg follows.

# 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"

# These resources will start by default.
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure fivem
ensure hardcap
ensure rconlog
ensure scoreboard

# This allows players to use scripthook-based plugins such as the legacy Lambda Menu.
# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins.
sv_scriptHookAllowed 0

# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD"
#rcon_password ""

# 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"

# Set an optional server info and connecting banner image url.
# Size doesn't matter, any banner sized image will be fine.
#sets banner_detail "https://url.to/image.png"
#sets banner_connecting "https://url.to/image.png"

# Set your server's hostname
sv_hostname "FXServer, but unconfigured"

# Nested configs!
#exec server_internal.cfg

# Loading a server icon (96x96 PNG file)
#load_server_icon myLogo.png

# convars which can be used in scripts
set temp_convar "hey world!"

# Uncomment this line if you do not want your server to be listed in the server browser.
# Do not edit it if you *do* want your server listed.
#sv_master1 ""

# 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.steam:110000100000000 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

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

What’s next?