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

Objectives

An objective is a single goal inside a contract: kill an animal, craft an item, hack a crate. A contract needs at least one. The type field selects which objective it is and which fields it carries; each per-type page in this section lists its complete field set, shared and type-specific alike.

Every objective shares title, description and a conditions map (a keyed map, not an array) of optional conditions that restrict when progress counts. Progress ticks only when the objective’s main requirement and every attached condition are met.

Fields that take items (items, item, fish, bait) or entities (entities) use Rust shortnames / prefab names, lowercase: rifle.ak, scrap, animal_bear, not display names.

Any item/entity list also accepts preset references written as @presetName. At runtime the plugin expands the reference into that preset’s list, so you can define a list (e.g. all rifles) once and reuse it. Invalid shortnames are dropped when the config loads.

Contracts’ strength comes from the versatility and possibilities of how objectives can be augmented with conditions. The same objective with no condition can be given a whole new flavor and level of difficulty when you add conditions to it.