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.