STYGION Documentation Search the docs

The contracts board (/jobs)

Offers and requests between players with the reward held by the server until the poster confirms the work; disputes through a ticket. New in 0.3, off by default.

Keystone 0.2.8 Updated 2 min read
On this page 3 parts
  1. How a contract goes
  2. Money from another mod
  3. Limits

The contracts board (/jobs)

New in 0.3, module jobs, off by default. Players post work they offer or work they want done, with a reward. The server keeps both sides honest: the reward leaves the poster's inventory when the contract is posted - whole stacks with all their components - and is held until the poster confirms the work.

How a contract goes

#
  1. Post: /jobs post <offer|request> <hotbar slots|-> <title> - the reward is the stacks in the hotbar slots you name (1,2), or - for none. With the client half the reward is picked from the inventory on a screen.
  2. Take: /jobs take <id>.
  3. Deliver: /jobs deliver <id> says the work is done.
  4. Confirm: /jobs confirm <id> by the poster - the taker gets the reward, or finds it waiting at their next join (/jobs mail).

/jobs cancel <id>: the poster gets the reward back while the contract is open (or taken and past its time); the taker who cancels gives the contract up and it goes back on the board. A contract still open when its time runs out (most-ahead, 30 days) goes back to its poster, reward and all.

Disputes: /jobs dispute <id> <reason> opens a ticket (module tickets, kind dispute-kind, default report) and freezes the reward until staff settle it with /jobs settle <id> pay|refund (keystone.jobs.manage). Without the tickets module a dispute cannot be raised.

Money from another mod

#

Rewards are items only, unless you write both currency.take-command and currency.give-command (with {player}, {uuid} and {amount}, e.g. eco take {player} {amount}). At your own risk: Keystone trusts only the command's own success, so a command that reports success without taking the money makes the escrow wrong. Money is paid only while the player is online; otherwise it waits in their mailbox. currency.most caps one reward.

Limits

#

most-open and most-taken (5 each per player), most-on-board (200), most-slots (9 stacks per reward), most-title (64), most-details (300), post-wait (30 s between two posts), keep-finished (7 days shown; the audit keeps every one), listed (10 in chat).

GET /v1/jobs (scope players.read, ?state=) returns the board. Addons hear JobChanged. Permission keystone.jobs.

Did this page help?

Opens the feedback panel with this page attached. It lands in the same queue as everything else.