Skip to content
Contractsv1.3.0

Add a contract to an active rotation

A category’s active rotation is the set of contracts it has currently drawn and is showing to players for this cycle. When a category rotates, it randomly draws a fresh set from its contract list and players see those contracts until the next rotation.

Contracts is not designed to have an active rotation changed on the fly, and doing so is discouraged for the sake of your players’ experience. But if you have just added a contract and want it to show up before the next rotation comes around, here are your options, from least to most disruptive.

Section titled “Option 1: Wait for the next rotation (recommended)”

The simplest and safest option is to do nothing. Once the contract is in the category’s contract list, it becomes a candidate the next time that category rotates. No player loses progress and no files are touched. If the category rotates hourly or daily, this is almost always the right call.

The trade-off is timing: you cannot control exactly when your contract appears, and because each rotation draws a random set from the list, it is not guaranteed to be picked on the very next cycle either.

Option 2: Insert the contract with a command

Section titled “Option 2: Insert the contract with a command”

This is the only option that puts a specific contract live right now without re-rolling the rest, and it needs no downtime or file editing. Run the admin command (see Commands):

contracts.add_to_rotation <categoryId> <contractId>

The contract appears in the active rotation immediately and stays live until the category next rotates, when the set is re-drawn as usual. If the category is dormant (it had no contracts and so never started a rotation), this command starts a fresh rotation with your contract. No player loses progress, since this only adds to the active set. To pull a contract back out again, use contracts.remove_from_rotation.

You can end the current rotation immediately and start a fresh one:

contracts.rotate_category <categoryId>