Skip to content
Contractsv1.14.0

Permissions

Controls who can use Contracts, who counts as an admin, and how many contracts each group of players may run and pin to their HUD.

{
"Permissions": {
"Use Contracts Features": "contracts.use",
"Admin": "contracts.admin",
"Max Active Contracts": {
"contracts.use": 3,
"contracts.vip": 5,
"contracts.admin": -1
},
"Max Paused Contracts": {
"contracts.use": 0,
"contracts.vip": 0,
"contracts.admin": -1
},
"Max Tracked Contracts (HUD)": {
"contracts.use": 2,
"contracts.vip": 5,
"contracts.admin": -1
}
}
}
FieldTypeDefaultDescription
Use Contracts Featuresstring"contracts.use"Permission a player needs to use contracts at all. Registered by the plugin on load.
Adminstring"contracts.admin"Permission for admin commands. Registered by the plugin on load.
Max Active Contractsmap{"contracts.use":3,"contracts.vip":5,"contracts.admin":-1}How many contracts a player can have active at once, per permission. A player with several of these permissions gets the highest cap. -1 means unlimited. Keys can be any permission name, including ones from other plugins.
Max Paused Contracts ⭐ Premiummap{"contracts.use":0,"contracts.vip":0,"contracts.admin":-1}How many contracts a player can keep paused at once, per permission. A player with several of these permissions gets the highest cap. -1 means unlimited. A player who holds none of them cannot pause, which is why every row ships at 0. Pausing is premium-only.
Max Tracked Contracts (HUD) ⭐ Premiummap{"contracts.use":2,"contracts.vip":5,"contracts.admin":-1}How many contracts a player can track on the HUD at once, per permission. A player with several of these permissions gets the highest cap. The plugin caps this at 25, and -1 (unlimited) also lands on 25, unless you turn on "Ignore HUD Pin Limit" in Misc.

Max Active Contracts, Max Paused Contracts and Max Tracked Contracts (HUD) are maps from a permission to a number. You grant the permissions to players (or groups) with your framework’s permission system, then set a limit per permission here.

When a player holds more than one of the listed permissions, the limit resolves like this:

  • The player gets the highest limit among the permissions they hold. A VIP who also has contracts.use gets 5, not 3.
  • If any held permission is set to -1, the player is unlimited, regardless of the other numbers.
  • A value below -1 is treated as -1 (unlimited).
  • Max Tracked Contracts (HUD) is the exception to -1. It stops at 25 pins per player, and -1 resolves to 25 as well. See the HUD pin limit below.
  • A player holding none of the listed permissions has no limit applied. For that reason, it’s important to include the Use Contracts Features permission in the map.
  • Max Paused Contracts: A player holding none of its listed permissions gets 0, so they cannot pause anything.

Every HUD update does work for each contract a player has pinned, and objective progress can tick many times a second. Think of a Damage objective with a minigun, that’s exactly how I make performance decisions like this when developing Contracts. So Max Tracked Contracts (HUD) stops at 25 pins per player, whatever the config says. A value above 25 resolves to 25 and the plugin prints a warning on load. -1 resolves to 25 too, quietly, since it is the shipped default for contracts.admin.

The HUD scrolls, so nothing is hidden by the limit, it only bounds how much the plugin redraws.

To lift it, set "Ignore HUD Pin Limit": true in the Misc section. Then Max Tracked Contracts (HUD) accepts any value again and -1 means unlimited. Read the note on that page first, because there’s a real performance cost.

  • Contracts registers permissions listed in the config file at startup.