rustnav ConVars
Every variable and command in the rustnav namespace that a Rust dedicated server lists, 31 in all, with the help text it printed and the value we read. How to set them is on the ConVar overview.
Recorded on Rust build 25582902, . Values are what that server returned, which is not always the default.
31 entries
Variables 19
| ConVar | Value | Description |
|---|---|---|
| rustnav.addtilebudgetms | 2 | Main-thread time budget per frame (ms) for adding built navmesh tiles to their navmesh. A base rebuild lands dozens of results in one frame and the rest waits for the next one. 0 or less adds every result that is ready, which is what shipped before the budget existed |
| rustnav.bakestatsenabled | False | Collect navmesh bake statistics (rustnav.bakestats to read them). Defaults on in the editor, off on servers; flip on live to diagnose bake issues, then reset with rustnav.bakestats true |
| rustnav.collectbudgetms | 1 | Main-thread time budget per frame (ms) for navmesh tile geometry collection. The full-map bake wall clock is roughly tiles / (budget-worth of tiles per frame) / fps, so raise this while baking to trade frame time for bake speed |
| rustnav.detailsampledistmult | 12 | Detail mesh sample distance as a multiple of cellSize (Recast default 6). Larger = cheaper detail mesh, coarser surface height. Applies to tiles built after the change |
| rustnav.detailsamplemaxerrormult | 1 | Detail mesh max sample error as a multiple of cellHeight (Recast default 1). Larger = cheaper detail mesh, more height error. Applies to tiles built after the change |
| rustnav.doorreassertspertick | 24 | How many doors re-assert their gate state per navmesh drain tick. A rebuilt tile bakes its apertures shut, so every open or npc-openable door over the rebuilt area has to write its state again, and a megabase queues hundreds of them at once. 0 or less applies the whole queue in one frame, which is what shipped before the budget existed |
| rustnav.drawkbps | 512 | Max KB per second of navmesh tiles streamed to each rustnav.draw viewer |
| rustnav.drawmanifestinterval | 10 | |
| rustnav.drawradius | 100 | |
| rustnav.drawrefreshrate | 0.25 | |
| rustnav.enableverboselogs | False | |
| rustnav.legacybuild | False | A/B kill switch: build navmesh tiles with the stock pre optimization algorithms (clip rasterizer, full ledge and region rescans, unfused filters). Combine with detailsampledistmult 6 to approximate the old build end to end. Applies to tiles built after the change |
| rustnav.maxshoredistance | 100 | Metres of open water past which default navmesh tiles are dropped instead of baked. A tile only drops when every point in it is that far from land, so shores keep their navmesh and so do rivers and lakes, which are never that wide. Independent navmeshes (oilrigs, tropical islands, ghost ships) are never touched. 0 or less bakes the open sea like before. Applies to tiles queued after the change |
| rustnav.numthreads | 4 | Navmesh tile builder worker thread count. Applied when the builder is (re)created - at boot, or via rustnav.setnumthreads at runtime. ~half the cores is the sweet spot for full-map bakes |
| rustnav.savecompression | True | LZ4-compress navmesh saves (smaller .navmesh files, no extra save time) |
| rustnav.savedelta | True | Append only the tiles that changed to the navmesh file instead of rewriting all of it. The first save after a boot or a rebuild is always a full write, and a full write also happens once the appended part grows past rustnav.savedeltabudget |
| rustnav.savedeltabudget | 0.5 | How large the appended part of the navmesh file may grow, as a fraction of the full file, before the next save rewrites the whole thing. A save whose changed tiles are a larger share of the mesh than this rewrites it too. Bounds both file growth and boot load time. 0 or less removes the bound, to stop appending altogether use rustnav.savedelta false |
| rustnav.savethreads | 0 | Worker threads for navmesh save/load compression. 0 = auto |
| rustnav.savewarnms | 1000 | Log the navmesh save completion line as a warning past this many milliseconds. 0 or less never warns |
Commands 12
| Command | Description |
|---|---|
| rustnav.bakestats | Print accumulated navmesh bake statistics. Pass true to reset them instead |
| rustnav.debugload | |
| rustnav.debugpath | |
| rustnav.debugraycast | |
| rustnav.debugrebuildtile | |
| rustnav.debugsample | |
| rustnav.debugsave | |
| rustnav.draw | |
| rustnav.dumptilegeo | Rebuild one default-navmesh tile synchronously and dump its assembled geometry + heightfield bounds to a file for the offline native-build harness: rustnav.dumptilegeo <tx> <ty> <path> |
| rustnav.navmeshstats | List every navmesh (default + independent monuments/islands/ghostships) ranked by accumulated worker build time |
| rustnav.rebuild | |
| rustnav.setnumthreads |
Back to the list of all namespaces.
Skip the manual work: install the Panelra agent
Wipes, updates, restarts, plugins and crash alerts for your Rust servers, from one dashboard. One install command on your Linux host, no inbound ports for the agent.
Free during the open beta. Pricing will be announced before the beta ends.