Capabilities

LIST_SIEGES

Return live castle ownership and siege schedules

Powers Player portal → Sieges and the castle half of Website → Clans & sieges. Forgeport requires both this capability and LIST_CLANS on every enabled realm before the shared CMS section can be activated.

Each row contains siegeId, castleName, nullable ownerClanName, state, and nullable nextSiegeAt. It may also contain nullable startsAt and endsAt; send both for an IN_PROGRESS siege so Forgeport can render its elapsed progress and remaining time. Older connectors may omit those two fields, in which case Forgeport still shows the live state with an indeterminate activity bar. State is one of REGISTRATION, SCHEDULED, IN_PROGRESS, PEACE, or UNKNOWN. Dates must be ISO 8601 with an offset, preferably UTC (2026-09-06T18:00:00Z). Never send a local SQL date string whose timezone Forgeport would have to guess.

Implementing it

JsonArray listSieges() throws Exception;

Read the pack's castle/siege managers when their state is authoritative. If the database is the source of truth for that pack, a database read is equally valid.

Return OK with [] only when no sieges are actually configured. Query errors return FAILED.

On this page