Skip to content
These docs reflect Contracts v0.6.0, the latest release. Older servers may differ.

Commands

Contracts is driven mostly from its in-game menu, but a few commands let players tweak their view and let admins manage rotations and troubleshoot.

Players type the chat command in chat. Admins run console commands from the server console (RCON) or the F1 client console. The chat command name is configurable; this page uses the default contracts (see Command Configuration). Admin and debug commands require the contracts.admin permission (see Permissions Configuration).

In the tables below, <angle brackets> mark required arguments and [square brackets] optional ones.

Available to anyone with the contracts.use permission. Type them in chat.

CommandArgumentsDescription
/contractsOpens the Contracts menu.
/contracts hudToggles the on-screen HUD on or off.
/contracts scale[amount]Adjusts the plugin’s UI scale for the player. amount should be between 0.5 and 1.0 (default). Players should set this to their Rust UI scale.

Require the contracts.admin permission. Run them from the server console or the F1 console.

CommandArgumentsDescription
contracts.rotate_category<categoryId>Immediately re-rolls one category’s active contracts and reschedules its next rotation.
contracts.reset_all_progressWipes every player’s contract progress and all unclaimed rewards. Cannot be undone!

Also require contracts.admin. These are for troubleshooting and support; you won’t need them in normal operation. Output prints to the console you run them from.

CommandArgumentsDescription
contracts.debug.hooksLists every game hook Contracts uses and whether it is currently subscribed or not. Contracts automatically unsubscribes from hooks when no active contract’s objective needs it.
contracts.debug.reset_data<yes>Resets all plugin data (contracts, categories, presets, progress, preferences, pending rewards) to defaults, then reloads the plugin. You must pass the literal yes to confirm. Cannot be undone!
contracts.debug.refresh.allRebuilds every objective cache from the current data.
contracts.debug.tainted_itemsPrints how many items are flagged as tainted in the loot objective cache. This usually stays under 1000. Clear if it exceeds 100k (never happens in practice).
contracts.debug.clear_tainted_itemsClears the tainted-item set from the loot objective cache.
contracts.debug.transfersPrints how many in-flight item transfers are tracked in the loot objective cache. Transfers should typically be completed within a single tick. It should ideally be 0 all the time.
contracts.debug.clear_transfersClears tracked item transfers from the loot objective cache. You can usually safely run this, because it’s unlikely you’ll clear any active transfers.

Each objective type keeps a cache for fast objective progress lookups on high-frequency game events. These commands dump the contents of one cache (or all of them) to the console for diagnosis. You will likely never need to run these. They’re only documented here for completeness and for support purposes.

CommandArgumentsDescription
contracts.debug.cache.allDumps every objective cache.
contracts.debug.cache.attackersDumps the attackers cache.
contracts.debug.cache.killDumps the kill objective cache.
contracts.debug.cache.damageDumps the damage objective cache.
contracts.debug.cache.lootDumps the loot objective cache.
contracts.debug.cache.gatherDumps the gather objective cache.
contracts.debug.cache.harvestDumps the harvest objective cache.
contracts.debug.cache.craftDumps the craft objective cache.
contracts.debug.cache.healDumps the heal objective cache.
contracts.debug.cache.fishingDumps the fishing objective cache.
contracts.debug.cache.plantDumps the plant objective cache.
contracts.debug.cache.card_swipeDumps the card-swipe objective cache.
contracts.debug.cache.crate_hackDumps the crate-hack objective cache.