Skip to content
Contractsv1.7.0

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.

Command Arguments Description
/contracts None Opens the Contracts menu.
/contracts hud None Toggles 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.
/contracts score None Shows the player their current Contract Score (CS) in chat.

⭐ Premium /contracts hud toggles the on-screen HUD, which is premium. On the lite edition the HUD does not exist, so the argument is unrecognized and the command simply opens the menu.

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

Command Arguments Description
contracts.rotate_category <categoryId> Immediately re-rolls one category’s active contracts and reschedules its next rotation.
contracts.add_to_rotation <categoryId> <contractId> Puts one specific contract live in a category’s active rotation without re-rolling the rest. Also adds the contract to the category’s contract list if it is missing. If the category is dormant (had no contracts), this starts a fresh rotation.
contracts.remove_from_rotation <categoryId> <contractId> [confirm] Removes one contract from the active rotation only (it stays a candidate for the next cycle). In-progress players lose their work on that contract, logged as expired. Players who already completed it still get their reward. If any player has work in progress, the command reports the impact and does nothing until you re-run it with confirm.
contracts.reset_all_progress None Wipes every player’s contract progress and all unclaimed rewards. Cannot be undone!
contracts.view_score <steamId|name> Shows a player’s Contract Score (CS).
contracts.give_score <steamId|name> <amount> Grants a player Contract Score (CS). amount must be a whole number of at least 1.
contracts.take_score <steamId|name> <amount> Removes Contract Score (CS) from a player. Their CS never drops below zero.
contracts.wipe_scores None Resets every player’s Contract Score (CS) to zero. Cannot be undone!

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

Command Arguments Description
contracts.debug.hooks None Lists 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.all None Rebuilds every objective cache from the current data.
contracts.debug.tainted_items None Prints 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_items None Clears the tainted-item set from the loot objective cache.
contracts.debug.transfers None Prints 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_transfers None Clears 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.

Command Arguments Description
contracts.debug.cache.all None Dumps every objective cache.
contracts.debug.cache.attackers None Dumps the attackers cache.
contracts.debug.cache.kill None Dumps the kill objective cache.
contracts.debug.cache.damage None Dumps the damage objective cache.
contracts.debug.cache.loot None Dumps the loot objective cache.
contracts.debug.cache.gather None Dumps the gather objective cache.
contracts.debug.cache.harvest None Dumps the harvest objective cache.
contracts.debug.cache.craft None Dumps the craft objective cache.
contracts.debug.cache.heal None Dumps the heal objective cache.
contracts.debug.cache.fishing None Dumps the fishing objective cache.
contracts.debug.cache.plant None Dumps the plant objective cache.
contracts.debug.cache.card_swipe None Dumps the card-swipe objective cache.
contracts.debug.cache.crate_hack None Dumps the crate-hack objective cache.