Skip to content

Rust antihack, network and RCON convars

Quick answer: these are the Rust server convars for antihack, the network, RCON, the Rust+ app, performance and logging, with the value each starts at. Type a name and a value in the server console or RCON, or put that line in server.cfg to apply it at every start. This list comes straight from a Rust dedicated server (Rust build 26431843, read 2026-11-06), and it is refreshed after every Rust update.

A Saved variable is written to cfg/serverauto.cfg by server.writecfg and read back at the next start, before server.cfg. The common ones are on Rust server variables. The other groups: Server and gameplay variables, AI, NPC and animal variables, World, event and vehicle variables.

VariableDefaultSavedWhat it does
analytics.analytics_bulk_container_urlYesAzure blob container url for use with client secret authentication
analytics.analytics_bulk_upload_urlYesAzure blob container url + SAS token, enables a more efficient upload method
analytics.analytics_headerX-API-KEYYesHeader key of secret when uploading analytics
analytics.analytics_secretYesHeader secret value when uploading analytics
analytics.azure_client_idYesAzure client id for authentication
analytics.azure_client_secretYesAzure client secret for authentication
analytics.azure_tenant_idYesAzure tenant id for authentication
analytics.dryrunFalseExecutes entire flow without actually sending out anything
analytics.gameplay_analyticsFalseYesToggle whether gameplay analytics is collected
analytics.gameplay_rpc_analyticsTrueYesToggle whether gameplay rpc logging is collected
analytics.gameplay_tick_analyticsFalseYesToggle whether gameplay tick analytics is collected
analytics.logFalse
analytics.performance_analyticsTrueYesToggle to turn off server performance collection
analytics.server_analytics_urlhttps://gw.facepunch.com/analytics/rust/server
VariableDefaultSavedWhat it does
antihack.admincheatTrue
antihack.build_inside_check2
antihack.build_losradius0.01
antihack.build_losradius_sleepingbag0.3
antihack.build_terraincheckTrue
antihack.build_vehiclecheckTrue
antihack.check_mount_distance1
antihack.debuglevel1
antihack.enforcementlevel1
antihack.explosive_vehicle_parent_damage_deployablesFalseShould explosives parented to vehicles damage deployables
antihack.eye_clientframes2
antihack.eye_distance_parented_mounted_forgiveness2
antihack.eye_forgiveness0.4
antihack.eye_history_forgiveness0.1
antihack.eye_history_penalty100
antihack.eye_losradius0.158
antihack.eye_noclip_backtracking0.01
antihack.eye_noclip_cutoff0.06
antihack.eye_noclip_margin0.25
antihack.eye_penalty0
antihack.eye_protection4
antihack.eye_serverframes2
antihack.eye_terraincheckTrue
antihack.eye_vehiclecheckTrue
antihack.flyhack_extrusion2
antihack.flyhack_forgiveness_horizontal1.5
antihack.flyhack_forgiveness_horizontal_inertia10
antihack.flyhack_forgiveness_vertical1
antihack.flyhack_forgiveness_vertical_inertia7
antihack.flyhack_margin0.1
antihack.flyhack_maxsteps15
antihack.flyhack_penalty100
antihack.flyhack_protection3
antihack.flyhack_rejectTrue
antihack.flyhack_stepsize0.1
antihack.forcepositionTrue
antihack.hotbar_network_mode0
antihack.impact_effect_distance_forgiveness0.45
antihack.limbreach0.3
antihack.limbreachgrace0.5
antihack.maxdeltatime1
antihack.maxdesync0.8
antihack.maxviolation100
antihack.melee_backtracking0.01
antihack.melee_clientframes2
antihack.melee_entity_bounds_radius0.05
antihack.melee_forgiveness0.5
antihack.melee_los_entity_realposTrue
antihack.melee_los_entity_realpos_distance1.3
antihack.melee_losforgiveness0.2
antihack.melee_penalty0
antihack.melee_protection5
antihack.melee_serverframes2
antihack.melee_terraincheckTrue
antihack.melee_vehiclecheckTrue
antihack.mesh_inside_check_distance50
antihack.modelstateTrue
antihack.noclip_backtracking0.01
antihack.noclip_margin0.16
antihack.noclip_margin_dismount0.22
antihack.noclip_maxsteps15
antihack.noclip_penalty0
antihack.noclip_protection3
antihack.noclip_rejectTrue
antihack.noclip_stepsize0.1
antihack.objectplacementTrue
antihack.parenthistoryTrue
antihack.projectile_anglechange60
antihack.projectile_backtracking0.01
antihack.projectile_clientframes2
antihack.projectile_damagedepth2
antihack.projectile_defaultcheckTrue
antihack.projectile_deployedcheckTrue
antihack.projectile_desync1
antihack.projectile_distance_forgiveness_minimum25
antihack.projectile_forgiveness0.5
antihack.projectile_impactspawndepth1
antihack.projectile_losforgiveness0.2
antihack.projectile_penalty0
antihack.projectile_positionoffsetTrue
antihack.projectile_protection6
antihack.projectile_serverframes2
antihack.projectile_terraincheckTrue
antihack.projectile_trajectory2
antihack.projectile_trajectory_update0.02
antihack.projectile_update_limit4
antihack.projectile_vehiclecheckTrue
antihack.projectile_velocitychange1.1
antihack.relaxationpause10
antihack.relaxationrate0.1
antihack.reportingFalse
antihack.rpc_timer_forgiveness1
antihack.rpcstallfade2.5
antihack.rpcstallmode1
antihack.rpcstallthreshold0.8
antihack.server_occlusion_admin_bypassFalse
antihack.server_occlusion_blocked_grid_threshold0
antihack.server_occlusion_cachingTrue
antihack.server_occlusion_disable_losFalse
antihack.server_occlusion_disable_sleeper_losFalse
antihack.server_occlusion_neighbour_threshold2
antihack.server_occlusion_save_gridTrue
antihack.server_occlusion_use_neighbour_thresholdsFalse
antihack.speedhack_forgiveness2
antihack.speedhack_forgiveness_inertia10
antihack.speedhack_penalty0
antihack.speedhack_protection3
antihack.speedhack_rejectTrue
antihack.speedhack_slopespeed10
antihack.speedhack_water_threshold0.4
antihack.stall_position_restrictionsTrue
antihack.strict_mount_checks1
antihack.terrain_check_geometryFalse
antihack.terrain_killTrue
antihack.terrain_padding0.3
antihack.terrain_penalty100
antihack.terrain_protection1
antihack.terrain_timeslice64
antihack.tick_buffer_noclip_threshold2
antihack.tick_buffer_preventionsTrue
antihack.tick_buffer_reject_threshold3
antihack.tick_buffer_server_lag_threshold0.3
antihack.tick_distance_forgiveness5
antihack.tick_max_distance1.1
antihack.tick_max_distance_falling4
antihack.tick_max_distance_parented3
antihack.tickhistoryforgiveness0.1
antihack.tickhistorytime0.5
antihack.use_legacy_mesh_inside_checkTrue
antihack.userlevel2
VariableDefaultSavedWhat it does
app.alarmcooldown30Cooldown time before alarms can send another notification (in seconds)
app.endpointhttps://companion-rust.facepunch.com/apiBase address for the Rust+ companion server API
app.listenipIP address the server listens on for incoming connections; leave empty to bind to all available network interfaces
app.logexceptionsTrueWhen enabled, server-side C# exceptions are written to the server log file; disabling reduces log noise on servers with known non-critical exceptions
app.maxconnections500Maximum number of simultaneous player connections allowed; connections above this limit are rejected with a server full message
app.maxconnectionsperip10Maximum simultaneous connections from the same IP address; prevents a single host from consuming all connection slots
app.maxmessagesize1048576Maximum allowed size in bytes of a single network message; oversized messages are dropped to prevent memory exhaustion attacks
app.notificationsTrueEnables sending push notifications
app.port0UDP port number the server listens on; default is 28015; must be open in firewall for players to connect
app.publicipPublic IP address advertised to the Steam server browser; leave empty to auto-detect; set explicitly if behind NAT
app.queuelimit100Max number of queued messages - set to 0 to disable message processing
app.serverid
app.updateTrueDisables updating entirely - emergency use only
VariableDefaultSavedWhat it does
debug.bag_respawn_parentingTrueWhether to parent players immediately on spawning to a boat if the bag is on a boat
debug.callbacksFalseWhen enabled, logs debug information about object callback invocations to the console; useful for tracing event callback chains
debug.checkparentingtriggersTrueWhen enabled, validates that trigger colliders are correctly parented to their entities during physics updates; helps catch mis-parenting bugs
debug.checktriggersFalseWhen enabled, validates trigger collider configurations each physics update to catch incorrectly parented or sized trigger volumes
debug.debugclippingchecksFalseShows debug info for what objects are causing clipping checks to fail.
debug.debugdismountsFalse
debug.disableconditionFalseDo not damage any items
debug.disablelootnavobstaclesindeepseaTrueWhen true, nav mesh obstacle components on loot containers are disabled in the deep sea zone to improve performance in underwater areas
debug.logTrueWhen enabled, Unity Debug.Log output is written to disk; disabling first logs a final message before suppressing further output
debug.overlaykbps64Max KB per second of debug overlay drawings, such as livestock.drawpens, streamed to each viewer. Changed groups past it wait for the next refresh, nearest first
debug.printmissionspeakinfoFalseWhen enabled, logs mission NPC speech info (speaker, line, trigger) to the console as mission dialogue events fire
debug.puzzleresettimemultiplier1Multiplier applied to all puzzle reset timers; values below 1.0 make puzzles reset faster, above 1.0 slower
debug.tutorial_start_cooldown60Minimum seconds that must pass after a tutorial ends before another one can start; prevents back-to-back tutorial spam
VariableDefaultSavedWhat it does
moderation.ugc_uploadFalseYesToggle whether player created content (signs, photos, paintings…) are uploaded for moderation
moderation.ugc_upload_debounce120Seconds content waits before it is uploaded for moderation, saving the same content again restarts the wait
moderation.ugc_upload_frequency4Seconds between checks of the moderation upload queue, at most one upload starts per check
moderation.ugc_upload_max_attempts5Number of attempts at uploading content for moderation before giving up
moderation.ugc_upload_max_queue1000Maximum content waiting to be uploaded for moderation, the oldest is dropped when full
moderation.ugc_upload_retry_cooldown60Seconds to wait before retrying a failed moderation upload
moderation.ugc_upload_urlhttps://api.facepunch.com/ugc/rust/upload
VariableDefaultSavedWhat it does
net.global_network_debugFalseToggle printing time taken to send all global entities to client when they connect
net.global_networked_basesTrueWhen enabled, base entities are networked to all clients regardless of distance; disabling restricts base updates to players within the normal visibility radius
net.limit_global_update_broadcastTrue(default) true = only broadcast to clients with global networking enabled, false = broadcast to every client regardless
net.network_group_debugFalseToggle checking network group bounds whenever an entity changes its network group
net.position_lod0Sends entity positions less often to players further away: every 0.2s past 128m, every 0.4s past 192m. 0 = off, 1 = grid entities, 2 = grid and global entities
net.position_lod_players0Network LOD for player positions. 0 = off, 1 = full rate out to 192m then every 0.4s, 2 = same as entities
net.visdebugFalseWhen enabled, logs network visibility group changes to the server console, showing when entities enter or leave a player visibility radius
net.visibilityradiusdeepsea10Network visibility radius in grid cells used in the deep-sea zone; kept smaller than overworld to limit underwater entity update overhead
net.visibilityradiusfaroverride-1Overrides the far network visibility radius in grid cells; -1 = use default; increase to send more distant entity updates to clients
net.visibilityradiusnearoverride-1Overrides the near (high-priority) network visibility radius in grid cells; -1 = use default
VariableDefaultSavedWhat it does
nexus.clanclatbatchduration1Maximum duration in seconds to batch clan chat messages to send to other servers on the nexus
nexus.defaultzonecontactradius0.33Default distance between zones to allow boat travel, if map.contactRadius isn’t set in the nexus (uses normalized coordinates)
nexus.endpointhttps://gw.facepunch.com/nexus/URL endpoint to use for the Nexus API
nexus.hidefullislandsFalseHide islands that we know are full, preventing players from being transferred to them
nexus.islandspawndistance1.5How far away islands should be spawned, as a factor of the map size
nexus.loadingtimeout900Time in seconds to keep players in the loading state before going to sleep
nexus.loggingTrueWhen enabled, logs all Nexus zone transfer and communication events to the server console; useful for debugging cross-server player transfers
nexus.mapimagescale0.5Scale of the map to render and upload to the nexus
nexus.messagelockduration5Time in seconds to allow the server to process nexus messages before re-sending (requires restart)
nexus.pinginterval30Time in seconds to wait between server status pings
nexus.playermanifestinterval30Interval in seconds to broadcast the player manifest to other servers on the nexus
nexus.protectionduration300Maximum time in seconds to keep transfer protection enabled on entities
nexus.rpctimeoutmultiplier1Multiplier for nexus RPC timeout durations in case we expect different latencies
nexus.secretkeyShared secret key used to authenticate Nexus inter-server communication; must match across all servers in the same Nexus cluster
nexus.timeoffset0Time offset in hours from the nexus clock
nexus.transferflushtime60Maximum amount of time in seconds that transfers should be cached before auto-saving
nexus.zonecontrollerbasicName of the zone controller implementation used for this Nexus server (e.g. basic, advanced); controls how players are routed between servers
VariableDefaultSavedWhat it does
ping.auto_refresh_regionTrueWhen enabled, region ping estimates are automatically refreshed in the background to keep server list latency data up to date
ping.ping_estimate_loggingFalseWhen enabled, logs ping estimation results to the console; useful for debugging regional latency measurement accuracy
ping.ping_estimationFalseWhen enabled, the ping estimator collects latency samples to regional servers; disable to suppress background ping traffic
ping.ping_parallelFalseWhen enabled, ping estimation sends samples to all servers in parallel for faster results; uses more bandwidth simultaneously
ping.ping_refresh_interval45Interval in minutes between automatic background ping estimation refreshes for server list region latency sorting
ping.ping_samples5Number of ping samples collected per estimation cycle; more samples give a more accurate average latency but take longer to complete
VariableDefaultSavedWhat it does
pool.debugFalseWhen enabled, logs additional diagnostic information about pool hits, misses, and spills to the console
pool.enabledTrueWhen enabled, this system is globally active; disable to deactivate the system for the current session
pool.mode2When enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter
pool.prewarmTrueWhen enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter
VariableDefaultSavedWhat it does
profile.command_lagspike_threshold40
profile.exportintervals1800Interval in seconds between automatic exports of server profiler data to disk; lower values provide more frequent snapshots at a higher I/O cost
profile.immediatemodeenabledFalseWhen enabled, the server native profiler runs in immediate mode, capturing every frame rather than sampling; more accurate but higher overhead
profile.notifyonmainalloccount0Main-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps isolate main-thread GC pressure
profile.notifyonmainmemkb0Main-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled
profile.notifyontotalalloccount16000Allocation count threshold (per profiler tick) above which the native continuous profiler fires a notification; useful for detecting unexpected allocation spikes
profile.notifyontotalmemkb12288Total managed memory threshold in kilobytes above which the native profiler fires a notification; helps detect memory leaks during long server runs
profile.notifyonworkeralloccount0Worker-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps detect background task GC pressure
profile.notifyonworkermemkb0Worker-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled
profile.profiling_entities00 = off, 1 = spawn/kill, 2 = spawn/kill per entity, 3 = count every ‘5 min’
profile.profiling_entity_count_interval300How frequently to count all entities across the server
profile.profiling_fixed_invokes00 = off, 1 = stats per frame, 2 = stats per method
profile.profiling_invokes00 = off, 1 = stats per frame, 2 = stats per method
profile.profiling_lagspikesFalseRecord inbound RPC & ConsoleCommands that cause lag spikes
profile.profiling_packetsFalseRecord type of packets inbound/outbound per frame
profile.profiling_ping0Raknet statistics, 0 = off, 2 = per connection
profile.profiling_ping_interval1How often to flush raknet stats per second
profile.profiling_ping_per_frame30
profile.profiling_rcon00 = off, 1 = count per frame, 2 = connection attempts, 3 = messages
profile.profiling_rcon_message_length512Clamp the length of logged RCON messages to prevent the profiler from being flooded with large messages
profile.profiling_work_queueFalseRecord execution time of ObjectWorkQueues per frame
profile.quietFalseYesControls whether perfsnapshot commands emit chat messages
profile.rcon_lagspike_threshold40
profile.rpc_lagspike_threshold40
profile.runtime_profiling0Yes0 = off, 1 = basic, 2 = everything. This will reset all profiling convars, however they can be modified afterwards
profile.runtime_profiling_interval60
profile.runtime_profiling_persistFalseYesEnable to allow runtime profiling to persist across restarts
profile.runtime_profiling_pool_flush_interval300How often to flush pooling stats in seconds
profile.runtime_profiling_pooling00 = off, 1 = flush every 5 minutes
VariableDefaultSavedWhat it does
rcon.banduration300How long in seconds to ban an IP that has exceeded the maximum password failures (default: 300 seconds)
rcon.connectioncooldown1How long (in seconds) before we allow another rcon connection from the same address (default: 1 second)
rcon.ipIP Address to listen for RCON connections
rcon.logfailedattemptsTrueLog failed attempts and attempts from banned IP addresses (default: true)
rcon.maxconnections500Total number of allowed connections to RCON server. -1 to disable behaviour. Requires server restart after changes
rcon.maxconnectionsperip5Total number of allowed connections to RCON server, on a single IP. -1 to disable behaviour. Requires server restart after changes
rcon.maxpasswordfailures5How many password failures before banning an RCON client’s IP (default: 5)
rcon.permanentbanfailedipsFalsePermanently ban IPs that trigger too many failed attempts (default: false)
rcon.port0Port to listen for RCON connections
rcon.printFalseIf true, RCON commands will be printed in the console
rcon.webTrueIf set to true, use websocket RCON. If set to false use legacy, source engine RCON. Source engine RCON is DEPRECATED
VariableDefaultSavedWhat it does
relay.cfg_autoreconnectTrueIf enabled, Rust Relay will automatically attempt to reconnect when the WebSocket connection drops
relay.cfg_encryptpacketsFalseSets whether packets should be encrypted when sent to the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_fakeplayerFalseIf enabled, Rust Relay spawns a fake invisible player and only relays packets sent to that player, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_filtermode0Sets the Filter Mode for RPC Messages, (0 = Ignore, 1 = AllowAll, 2 = AllowWhitelist)
relay.cfg_maxreconnects5Maximum number of reconnect attempts allowed within the reconnect window before the relay permanently shuts down
relay.cfg_reconnectdelay5Delay (in seconds) between reconnect attempts
relay.cfg_reconnectwindow30The rolling window (in minutes) used to track reconnect attempts
relay.cfg_sendconsoledataTrueIf enabled, console data will be sent to the relay server
relay.cfg_sendvoicedataFalseIf enabled, voice data will be sent to the relay server
relay.cfg_server_auth_tokenSets the authentication token for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_server_urlSets the URL for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
VariableDefaultSavedWhat it does
vis.attackFalse
vis.damageFalse
vis.hitboxesFalse
vis.lineofsightFalse
vis.protectionFalse
vis.senseFalse
vis.triggersFalse
vis.weakspotsFalse

Groups with only a few entries, in one list.

VariableDefaultSavedWhat it does
batching.verbose0Verbosity level for static batching debug output; 0 = off, higher values print more detail about batch operations to the console
clothlod.clothloddist20distance cloth will simulate until
commandblock.commands_enabledFalseCan command blocks execute commands
commandblock.log_executionsTruePrint a log message when a command block is executed
commandblock.use_playerFalseIf enabled, commands from command blocks will run using the last player who set them, allowing for a wider range of commands to be used
console.consolehistorysize50Maximum number of console history entries
fps.limit240Yes
gc.enabledTrueWhen enabled, this system is globally active; disable to deactivate the system for the current session
gc.incremental_enabledTrueRead-only: reports whether Unity incremental garbage collection is enabled for this runtime; cannot be changed at runtime
gc.incremental_milliseconds3Time slice in milliseconds allocated to incremental GC per frame; lower values reduce GC stutter but spread collection over more frames
hbhfsensor.debugdrawFalseWhen enabled, broadcasts debug drawing for HBHFSensor visibility checks (eye position, forward, range, per-player LOS rays).
networkprofiler.packet_capture_rust_relayFalseInclude packets sent to the Rust Relay player in packet captures
render.show_building_blocked_serverTrue
reports.exceptionreportmaxlength0
steam.server_allow_steam_nicknamesTrueYes
ticklogging.tick_uploader_lifetime60
unsafe.debugmtlockmaxframes5How many frames of a stack to emit
unsafe.enabledebugmtlockFalseControls DebugMTLock checks, which help track down thread races. Has minor perf impact, so prefer to keep disabled
unsafe.usemultithreadedscriptingFalseControls multithreading access to scripting API - can be fast, but unsafe. Disabling can help with instability