Skip to Content
Getting StartedVanilla Server Setup

Install a vanilla FXServer

A vanilla setup runs the server directly from its data directory. It does not require a roleplay framework or a database. Use txAdmin quick start instead when you want managed configuration and recipe deployment.

Register a server key in the Cfx Portal . Choose a recommended artifact for your operating system and Legacy or Enhanced from the official server download page . Do not hardcode an old artifact URL as “latest.” The upstream installation source  distinguishes binary and server-data folders; preserve that separation during updates.

Windows

Install Git to clone the base resources and an archive utility capable of the downloaded format. Enhanced also requires the Visual C++ redistributable linked by the official onboarding guide. The Legacy archive is named server.7z; the Enhanced download uses the cfx-server_win_x64 package naming. Inspect the actual downloaded extension before extracting it.

Create C:\FXServer\server for binaries and extract the selected artifact there. In a command prompt:

cd /d C:\FXServer git clone https://github.com/citizenfx/cfx-server-data.git server-data cd /d C:\FXServer\server-data

Create server.cfg in server-data, not in the binary directory. For Legacy, launch from that data directory:

C:\FXServer\server\FXServer.exe +exec server.cfg

Enhanced names the executable cfx-server.exe instead. Use that filename for the corresponding extracted artifact; do not mix Legacy executables and Enhanced resources. cd /d also changes drives, unlike plain cd in cmd.exe.

Linux

The upstream guide describes Linux as a courtesy port with distribution/diagnostic limitations. Choose it with that support boundary understood. Install Git and an xz-capable extractor (xz-utils on Debian-family systems), then download the chosen artifact from the official page.

mkdir -p "$HOME/FXServer/server" git clone https://github.com/citizenfx/cfx-server-data.git "$HOME/FXServer/server-data"

Extract the downloaded archive into server. For a Legacy fx.tar.xz, after placing it there:

cd "$HOME/FXServer/server" tar xf fx.tar.xz cd "$HOME/FXServer/server-data" bash "$HOME/FXServer/server/run.sh" +exec server.cfg

Enhanced downloads use cfx-server-linux_x64 naming. Use the launch files and format in that actual package, not a renamed Legacy archive. Run as a dedicated non-root account with access to its own directories; do not grant global write permissions to solve a path error.

Minimal server.cfg

This intentionally starts the stock basic mode rather than a framework. Replace the private key placeholder and public descriptions. Do not commit the real key.

endpoint_add_udp "0.0.0.0:30120" endpoint_add_tcp "0.0.0.0:30120" sv_licenseKey "REPLACE_WITH_PRIVATE_SERVER_KEY" sv_hostname "Local development server" sets sv_projectName "Documentation Lab" sets sv_projectDesc "A private test of the stock server resources." sets locale "en-US" sv_maxclients 8 set onesync on sv_scriptHookAllowed false sv_endpointPrivacy true ensure mapmanager ensure chat ensure spawnmanager ensure sessionmanager ensure basic-gamemode ensure hardcap ensure rconlog

Confirm each resource exists in the downloaded stock-resource revision. A custom framework may own spawning/session behavior and require a different start list. Do not run two spawn controllers together merely because both examples use ensure.

A RedM installation uses the appropriate RedM-compatible resources and set gamename rdr3; changing only that variable does not convert GTA models or GTA-only scripts. For Enhanced voice and asset changes, follow voice setup and migration requirements.

First connection and failure diagnosis

On a local test client, use F8 connect 127.0.0.1:30120. Verify a clean server startup, listed resources, successful connection and an actual spawn. Only then test from another network through deliberately configured TCP/UDP access. Keep administration ports private.

SymptomFirst check
No resources found / failed to start resourcesProcess working directory is server-data, and resources are not nested under an extra ZIP directory.
Nothing starts and connection times out+exec server.cfg is present and resolves to the intended file.
No license key specifiedCorrect config path and execution first, then the private key entry.
Bind failureAnother process already owns the address/port or the chosen address is not local.
Local join works but remote join failsTCP/UDP, NAT, provider firewall and proxies, not an unrelated framework change.
Very slow Windows startupFollow platform support diagnostics rather than permanently disabling security software.

For updates, stop the process, back up data/configuration, replace only binaries and test staging before cutover. See artifact support policy and backup planning. This page describes a reproducible installation; it does not claim an FXServer process was launched during a website build.