Limited Offer50% OFFon every FairShieldAC package*Open a ticket on our Discord and grab your coupon codeLimited Offer50% OFFon every FairShieldAC package*Open a ticket on our Discord and grab your coupon codeLimited Offer50% OFFon every FairShieldAC package*Open a ticket on our Discord and grab your coupon code
Ticket
Back to Blog
GuideAugust 18, 2026

FiveM Console Commands: Server & Client Reference

A verified FiveM console commands reference: server commands, convars and F8 client commands, which ones affect security, and the ones that quietly bite you.

FairShieldAC

Roby Einstein

FairShieldAC Security Team

Updated: Aug 18, 2026
Featured image for FiveM Console Commands: Server & Client Reference

FiveM console commands live on two separate surfaces: the server console (the FXServer window, txAdmin's Live Console, RCon, or lines in server.cfg) and the client console you open in-game with F8. Different command sets, different permission models. Every entry below is taken from official documentation, with a default listed only where the docs publish one.

Server console vs F8 client console: two different surfaces

The server console runs commands with full server authority. Per the docs, they "can be executed either using an RCon tool, directly from the server console interface, a server configuration file, the server command line, or (if a resource is permitted by the ACL) the EXECUTE_COMMAND function." txAdmin's Live Console is the common route, which runs when FXServer starts in monitor mode.

The client console belongs to one player's copy of the game: "These commands can be used with the client console, which you can open by pressing F8." Several competing lists tell you to press F8 and then hand you a table of server commands, a common inaccuracy.

The overlap runs one way. Per the official RegisterCommand documentation, the client console runs "client side and server side registered commands", while the server console and RCon "only works for server side registered commands". F8 can therefore reach server commands, which get permission-checked server-side. For the argument about which side deserves your trust, see server-side vs client-side anti-cheat.

One detail explains a lot. The Cfx source seeds the global access control list with system.console mapped to the object command with ALLOW, so the server console holds a blanket allow on every command.

FiveM server commands: the daily reference table

These are the commands you reach for while a server is running. Two are not built into FXServer, which the last column flags. Source: docs.fivem.net/docs/server-manual/server-commands/.

CommandWhat the docs say it doesProvided by
start [resourceName]Starts the resource specified in the argument, if it was stopped. Also accepts a category, e.g. start [cars]FXServer
stop [resourceName]Stops the resource specified in the argument, if it was started. Categories supportedFXServer
restart [resourceName]Restarts the resource specified in the argument, if it was started. A no-op on a stopped resourceFXServer
ensure [resourceName]Restarts the resource if it was started; if it was not, starts itFXServer
refreshRescans the resources folder and loads all resource manifests, making new resources available to start. Starts nothing by itselfFXServer
exec [filename]Runs the commands in the filename, relative to the server data directory, or any resource name specified with @ (e.g. exec @vMenu/config/permissions.cfg)FXServer
quitExits the server, sending a default quit message to all connected playersFXServer
quit [reason]Exits the server, also sending the specified reason to all connected playersFXServer
statusShows a list of players with their primary identifier, server ID, name, endpoint, and pingthe rconlog resource
clientkick [id] [reason]Kicks the client with the specified server ID (as seen in status) from the server, for the stated reasonthe rconlog resource
say [message]Sends a message in the chat as consolethe chat resource
svguiOpens or closes the server debug GUIFXServer
load_server_icon [file.png]Loads a specified icon and sets it as the server icon. The icon needs to be a 96x96 PNG fileFXServer
con_channelFiltersLists any active channel filters set to the end userFXServer
con_addChannelFilter [filter] [action]Adds a console channel filter; regex supported. Actions are noprint, drop and devonlyFXServer
con_removeChannelFilter [filter] [action]Removes a previously applied channel filterFXServer

Server convars, with documented defaults

A convar is a console variable. You can type one into a live console, but the normal home is server.cfg, executed by exec at startup. The last column matters most: several are startup-only and do nothing in a running console. Where no default is published, the table says "not documented".

ConvarWhat it controlsDocumented defaultDocs flag as startup-only?
gamename [game]Defines the game to run the server for. Supported values are gta5 and rdr3not documentedNot stated
sv_hostnameThe server-specific host name shown in the browsernot documentedNot stated
sets sv_projectNameName of your project. Should be a name, not a list, and should not contain tagsnot documentedNot stated
sets sv_projectDescDescription of your project, written as a sentencenot documentedNot stated
gametype / mapnameGame type and map name displayed in the server browsernot documentedNot stated
sv_maxClientsMaximum clients, an integer from 1 to 2048. Values starting at 32 require onesync on or legacy; above 64 requires onesync onnot documentedNot stated
sv_licenseKey [key]Sets the license key for this servernot documentedNot stated
sv_lan [true/false]Makes the server LAN-only. It will not appear in the public server list and license key checks are skippedfalseNot stated
sv_master1Makes the server private, disabling the browser connect button. Cannot be used to de-list a server from the master listnot documentedNot stated
sets sv_appearAllowlistedMakes the server appear allowlisted in the server browser, showing a lock iconnot documentedNot stated
sets sv_allowlistInstructionsInstructions shown in the browser. Requires sv_appearAllowlisted truenot documentedNot stated
sv_endpointPrivacyIf true, hides player IP addresses from public reports output by the servernot documentedNot stated
sv_kvsNameName of the KVP database file, stored in the serverdata:/ folderdefaultStartup-only
steam_webApiKeyRequired to allow Steam identifiers to be returned by the servernot documentedNot stated
steam_webApiDomainDomain registered with the Steam Web API keyapi.steampowered.comNot stated
sv_tebexSecretUnique secret key used to authenticate your server with the Tebex platformnot documentedNot stated
sv_enforceGameBuild [build]Selects a game build for clients to use. The docs state this can only be specified at startup and cannot be changed at runtimenot documentedStartup-only
sv_replaceExeToSwitchBuildsWhether the client downloads and runs the old build exe, or runs latest-stable plus DLCstrue below build 12872; false above server build 12871Not stated
increase_pool_size [poolName] [increase]Increases the size of the given pool. Clients must restart the gamenot documentedStartup-only
onesync [on/off/legacy]Defines which mode of state awareness to use. Legacy is documented as not recommended due to performance issues and graphical glitchesnot documentedNot stated
onesync_enableInfinityEnables the Infinity system for large-scale entity synchronization. Required for large player countstrueStartup-only
onesync_populationEnables population spawning and management. Required for NPCs to spawntrueNot stated
onesync_forceMigrationForces entity migration when the current owner becomes irrelevant or disconnectstrueNot stated
onesync_distanceCullingRemoves entities from sync beyond a certain distance and outside the view matrixtrueNot stated
onesync_distanceCullVehiclesApplies the same distance culling to vehiclesfalseNot stated
onesync_radiusFrequencyAdjusts entity state update frequency based on distancetrueNot stated
sv_useAccurateSendsSends entity state updates based on actual relevance and distancetrueNot stated
net_tcpConnLimit [limit]Tunes the concurrent connection limit per IP16Not stated
sv_tcpConnectionTimeoutSecondsTime in seconds a TCP connection can be idle before it is closed5Not stated
sv_proxyIPRangesSpace-separated list of IP ranges in CIDR notation considered to be proxy servers10.0.0.0/8 127.0.0.0/8 192.168.0.0/16 172.16.0.0/12Not stated
sv_endpointsSpace-separated list of IP addresses clients can use to connect via UDP. If empty, the auto-detected public IP is usednot documentedNot stated
sv_forceIndirectListingPrevents the server from being advertised using its real IP addressfalseNot stated
sv_listingIpOverrideOverrides the IP address sent to the master servernot documentedNot stated
sv_listingHostOverrideOverrides the hostname sent to the master servernot documentedNot stated
sv_registerMulticastDnsRegisters the server via mDNS for LAN discoverytrueNot stated
sv_enableNetEventReassemblyEnables reassembly of large network events split into multiple packetstrueNot stated
sv_netEventReassemblyMaxPendingEventsMaximum pending reassembled network events per client, 0 to 254100Not stated
sv_netEventReassemblyUnlimitedPendingEventsAllows unlimited pending reassembled events per client, overriding the max abovefalseNot stated
sv_prometheusBasicAuthUser / PasswordBasic auth for the /perf endpoint. Leave empty to disable. Also sent to txAdminnot documented (empty disables it)Not stated
sv_experimentalStateBagsHandlerUses the new serialization API to improve packing and unpacking of state bag changes. Introduced in build 8510trueNot stated
sv_experimentalOnesyncPopulationFixes an entity-id limit oversight with onesync on and onesync_population false. Introduced in build 8823trueNot stated
sv_experimentalNetGameEventHandlerNew serialization API for GTA game events, with checks that entities sent are relevant to the target client. Introduced in build 9149trueNot stated

set, sets and setr: the distinction almost nobody explains

A frequent cause of "my convar doesn't work", and also a quiet data-exposure problem. Each prefix changes who can read the value.

KeywordScopeWhat the docs say
setServer onlyStandard convars can only be used in server-side scripts. They cannot be obtained or set from a client script
setrReplicated to clientsThe convar will be available on the client side to get the value, but you will only be able to change the convar value from the server side
setsPublic server infoTheir name and value will appear on the server connect details/info page, on the server list, and will be exposed in the info.json server info file
setaClient-side, archivedSet an archived variable on the client. The variables are saved in the CitizenFX fivem.cfg or redm.cfg file in AppData

Read that sets row again. Anything published with sets is served to the open internet on your info.json endpoint. Licence keys, Steam Web API keys and Tebex secrets belong behind set. Source: docs.fivem.net/docs/scripting-reference/convars/.

Client console commands (F8)

The F8 console splits into commands any player can run and developer commands that are gated: "Developer commands require the client to run in a developer mode, or they'll show an error like Access denied for command resmon or Command strdbg is disabled in production mode." Dev mode comes from +set moo 31337 or a non-production update channel.

Client commandWhat it doesDocumented defaultDev mode required
connect <server>Connects to a server using a given IP address and port, or URLnot applicableNo
disconnectDisconnects you from the server and returns to the main menunot applicableNo
bindLists all configured bindingsnot applicableNo
bind <mapper> <input> <command>Binds an input to execute the specified command when pressed in-gamenot applicableNo
rbind <resource> <mapper> <input> <command>Same as bind, but only runs if the specified resource is in use on a servernot applicableNo
unbind <mapper> <input>Unbinds all commands bound to the specified inputnot applicableNo
cl_drawfps <bool>Enables or disables the frames-per-second counter in the screen cornernot documentedNo
cl_drawperf <bool>Shows FPS, ping, packet loss, CPU usage, GPU usage and GPU temperaturenot documentedNo
quit / quit [reason]Forces the client to close immediately, optionally sending a quit reason to the servernot applicableNo
loadlevel <level_name>Starts a local game loading a level from the name supplied, e.g. gta5, rdr3, blank-mapnot applicableNo
storymodeStarts FiveM story modenot applicableNo
voice_enableNoiseSuppression <bool>Reduces background noise in voice chattrueNo
voice_inBitrate <16000-128000>Bitrate at which voice data is encoded48000No
cam_disableCameraShake <bool>Disables camera shake effects, such as from explosionsfalseNo
cam_vehicleFirstPersonFOV <-1 to 130>Sets the first person FOV of the vehicle-1No
str_maxVehicleTextureRes <int>Limits the maximum resolution of vehicle textures at the cost of visual quality1024No
nui_useInProcessGpu <bool>Uses in-process GPU for CEF. May improve compatibility but reduces NUI performance. Requires a restartfalseNo
cmdlistLists all commands registered on the client or server, plus variables set with set, sets and setanot applicableYes
resmon <bool>Opens the resource monitor, showing CPU and memory usage for each resourcenot documentedYes
netgraph <bool>Real-time metrics about the client network usage: ping, in, out, routing packets and delaynot documentedYes
netEventLog <bool>Shows the direction of an event, the event name, and the size of the data sentnot documentedYes
netobjviewer <bool>Lists current objects and nodes being synchronized over the network when game state awareness is enablednot documentedYes
net_printOwner <objectID>Prints the owner of a network object IDnot applicableYes
net_statsFile <file_name>Writes ping, packet, byte and routing metrics to a CSV in the FiveM application data directorynot applicableYes
onesync_logFile <filename>Saves client-side logs from the game state awareness subsystem. The docs note these files get largenot applicableYes
strdbg <bool>Shows what is currently being loaded in the GTA streamernot documentedYes
strlist <bool>Graphical interface showing entries registered in the GTA streamer and their current statusnot documentedYes
strmem <bool>Listing of streaming memory used by specific streaming assetsnot documentedYes
se_debug <bool>Enables verbose logging for security features like the ACL. Useful to see why people do or do not have access to certain commandsnot documentedYes
con_autoScroll <bool>Automatically scrolls the dev console to the bottom when new log entries are addedtrueYes
con_miniconChannels <pattern>Displays console messages on screen without opening the client console. Full match, with * wildcardminicon:*Yes
con_winconsole <bool>Shows the windowed console dev toolfalseYes
nui_devtoolsOpens the NUI dev tools window from the game processnot applicableYes
modelviewer <bool>Loads in TXDs and drawables via a graphical interfacenot documentedYes

A few client convars can be pushed from the server with setr, which is how you enforce a setting rather than hope for it: game_sanitizeRagdollEvents (true, documented as preventing exploits that force the player into a ragdoll), game_enableDynamicDoorCreation (false) and game_originalBikeJump (false).

Which FiveM console commands are security-relevant

These change who can do what. Cfx ships these on permissive defaults for compatibility, not for safety - several default to the less restrictive setting. Read each default below as a starting point to review, not a safe baseline.

Convar or commandWhy it is security-relevantDocumented default
sv_scriptHookAllowedAllows clients with Script Hook V to connect. The docs carry an explicit warning: not recommended, makes the server vulnerable to security issuesfalse
sv_entityLockdown [mode]Controls how strict the server is about client-created entities. strict blocks all client-created entities; relaxed blocks only script-owned ones; inactive allows any; full disables dummy object creation and is Enhanced-onlyinactive
sv_pureLevel [level]Prevents users from using modified client files. Level 1 blocks all modified client files except audio and known graphics mods; level 2 blocks all modified client files. The docs state there are currently two levelsnot documented
sv_filterRequestControl [mode]Blocks REQUEST_CONTROL_EVENT routing based on a configurable policy, from -1 through 4 (0 is off; 4 never routes it)0 (Off)
sv_filterRequestControlSettleTimerHow long in milliseconds, by entity creation time, before an entity counts as settled. Applies to modes 1 and 330000
sv_enableNetworkedSoundsControls routing of NETWORK_PLAY_SOUND_EVENT, which the docs describe as commonly used by malicious actorstrue (routing allowed)
sv_enableNetworkedScriptEntityStatesControls routing of SCRIPT_ENTITY_STATE_CHANGE_EVENT, also described as commonly used by malicious actors. Introduced in build 8540true (routing allowed)
sv_enableNetworkedPhoneExplosionsAllows routing of REQUEST_PHONE_EXPLOSION_EVENT. The docs note the drawback is that it can also be used by malicious actors. Introduced in build 6831false
setr sv_stateBagStrictModeWhen true, only the server can modify the state of networked entities and the player state. Introduced in build 12739false
block_net_game_event [eventName]Adds the hash of a net game event to the list blocked by the server, used to prevent exploitsnot applicable
unblock_net_game_event [eventName]The opposite. Note it does not unblock events blocked by other means such as convarsnot applicable
sv_authMinTrustTrust is how unlikely it is for the user's identity to be spoofed by a malicious client. An integer from 1 to 5, least to most trustworthy1
sv_authMaxVarianceVariance is how likely the user's identifier is to change for a given provider. An integer from 1 to 5, least to most likely to change5
sv_requestParanoiaHelps counter proxy-based HTTP floods. 0 off; 1 blocks IPs sending Via; 2 blocks Upgrade-Insecure-Requests, which the docs warn includes browser-based .json requests; 3 also closes the socket0
sv_httpFileServerProxyOnlyRestricts file-server access to sv_proxyIPRanges. Introduced in build 10543false
rcon_password [password]Sets the RCon password. If unset, RCon is disabled. FXServer RCon uses UDPunset, so RCon is disabled
sv_devMode (Enhanced only)Enables development mode, automatically enables dev mode for joining clients, and limits max clients to 8. The docs say: do not enable in productionfalse
mooA development-only bypass for pool validation. The docs say this is for development and debugging purposes only, and to never use it to bypass limitations in productionnot applicable

On RCon, the short version: it stays disabled until you set a password, and txAdmin's Live Console gives you per-admin permissions (console.view, console.write) and logging tied to a named human. The docs claim nothing about RCon transport beyond it being UDP.

ACE permissions: why you get "access denied"

Many command failures are permission failures. A server command registered with the restricted flag requires the calling principal to hold an ACE for the object command.<name>. Without it the console reports access denied.

CommandWhat it doesWhere it exists
add_ace [principal] [object] [allow|deny]Adds an access control entry to the server's access control listServer
remove_ace [principal] [object] [allow|deny]Removes a specified ACE from the server's access control listServer
add_principal [child] [parent]Sets a principal to inherit from another principalServer
remove_principal [child] [parent]Removes a specified principal inheritance entryServer
test_ace [principal] [object]Tests if a principal is allowed or denied access to a given objectServer and client
list_acesLists every ACE as principal to object, ALLOW or DENY. Documented on the client page; registered on both surfaces in the Cfx sourceServer and client
list_principalsLists principal inheritance as child from parent. Same dual availabilityServer and client
se_debug <bool>Verbose ACL logging. Prints the full test, e.g. TEST ACL system.console to command.resmon, ACE system.console command, ALLOWClient

Three behaviours from the Cfx implementation are worth memorising. ACE objects are hierarchical: a check on command.foo.bar falls back to command.foo and then to command, which is why add_ace group.admin command allow hands over every command on the server. A deny entry short-circuits the check - the source comment reads "deny trumps all" - so any "first come, first served" reading is wrong. And builtin.everyone is injected into every check, so an ACE landing there covers everyone connected.

One command you will see referenced does not exist. add_acl appears once in the EXECUTE_COMMAND native docs, but the implementation registers only the seven above, and it refuses to touch your own access: "Changing ones own access is not permitted."

Commands that will bite you

Every item here is documented behaviour that surprises people.

  • status and clientkick are not built into FXServer. Both are documented as "provided by the rconlog resource", so neither exists if rconlog is not started. say comes from the chat resource.
  • restart only acts on a running resource. Against a stopped one it does nothing, with no obvious complaint. ensure covers both cases.
  • refresh starts nothing. It rescans the resources folder and loads manifests so new resources become startable. You still need start or ensure.
  • sets publishes to the internet. A sets convar's name and value appear on the connect details page, in the server list, and in the public info.json endpoint.
  • add_ace group.admin command allow is a blanket grant covering everything including quit. The official example cfg follows it with add_ace group.admin command.quit deny, and deny short-circuits, so the order does not matter.
  • add_ace silently rejects anything that is not literally allow or deny. The source prints "Access type needs to be 'allow' or 'deny'.", so a line ending in true achieves nothing.
  • quit kills the whole server. clientkick removes a player, which is why command.quit is worth denying explicitly.
  • sv_master1 does not de-list you. The docs say it "cannot be used to de-list a server from the master list." It disables the browser's connect button.
  • Startup-only convars fail quietly at runtime. sv_enforceGameBuild, increase_pool_size, onesync_enableInfinity and sv_kvsName produce no error and no effect in a live console.
  • sv_maxClients has OneSync preconditions. Values starting at 32 require onesync on or legacy, above 64 requires onesync on. The ceiling without OneSync is therefore 31.
  • sv_endpointPrivacy hides IPs from public reports, not from your own tooling. Redact identifiers before pasting status output into a staff channel.
  • Three convars are documented as doing nothing: onesync_enableBeyond, sv_enhancedHostSupport, and sv_protectServerEntities ("Not implemented. Use sv_entityLockdown instead").
  • Casing is inconsistent in the official sources themselves: the docs heading is sv_maxClients while the example cfg writes sv_maxclients. No source states a case-sensitivity rule.
  • sv_mumble is marked deprecated as "less secure than the new server Voice API."

Where the built-in commands stop

The convars above are the platform's own surface. But look at what they do: sv_entityLockdown constrains entity creation, sv_pureLevel constrains modified client files, sv_stateBagStrictMode constrains who writes state. They are structural limits. None of them watch a player and conclude that the person behind the keyboard is running a mod menu.

That gap is where a dedicated anti-cheat lives. FairShieldAC runs client- and server-side behavioural heuristics for mod menus, Lua executors, aimbot, silent aim, ESP, godmode, noclip and teleport, screens connecting players against a global HWID ban network, and uses encrypted, shuffled event triggers against event spoofing. It reports catching 98%+ of known cheats and exploits. The two layers stack; for the installation sequence, see the anti-cheat setup guide.

Frequently asked questions

What is the difference between the FiveM server console and the F8 console?

F8 opens the client console, local to one player's copy of the game, running client-registered commands. The server console (the FXServer window, txAdmin's Live Console, RCon, or server.cfg via exec) executes with full server authority. Commands typed in F8 that are registered server-side get routed to the server and permission-checked there. The reverse does not work, so the server console cannot run resmon or netgraph.

Why do I get "access denied" when running a FiveM command?

Almost always because the command is registered as restricted and your principal holds no ACE for the object command.<name>. Diagnose with test_ace, list_aces and list_principals, and enable se_debug for verbose ACL output showing which entry matched. Fix it with a narrow add_ace grant for that command. A deny entry beats any allow.

What is the difference between start, restart, ensure and refresh?

start launches a stopped resource. restart restarts a resource only if it was already started, so it does nothing to a stopped one. ensure covers both cases, restarting the resource if it was running and starting it if it was not, which makes it the safe default in server.cfg. refresh only rescans the resources folder and loads manifests so new resources become startable.

How do I see every command available on my FiveM server?

Run cmdlist. It lists the commands registered on the client or server, along with variables set using set, sets and seta. On the client it is a developer command, so it needs dev mode (+set moo 31337 or a non-production update channel) and otherwise returns an access denied error. Resources register commands at runtime.

Next step

Open your server.cfg alongside this page and ask three questions: is anything sensitive published with sets, is any ACE line broader than the command it was meant to grant, and have you reviewed each security convar rather than left it on its permissive default. That ten-minute pass removes most self-inflicted exposure. To add detection on top, compare plans, or read how detection works, how HWID bans stop repeat cheaters, and what to do under a DDoS attack.

Related Articles

FairShieldAC

Roby Einstein

FairShieldAC Security Team

The FairShieldAC team is dedicated to keeping FiveM communities safe and fair. Our articles are written by server security professionals with years of experience in game anti-cheat development and network protection. We constantly test against the latest cheat menus to ensure our guidance stays current and actionable.

This article was researched and written by the FairShieldAC team based on our direct experience developing and operating anti-cheat protection for FiveM servers. Last reviewed: August 18, 2026.