L2Off / PTS

Publish live L2Off data

Configure online count, rankings, clans, sieges, and bosses for the website

These optional queries power Admin analytics and live sections on the published website. If a query is absent, that section is unavailable; account linking, catalogs, and delivery continue to work.

Characters and rankings

queries.list_characters and queries.list_rankings must alias:

characterId, name, level, classId, race, sex, online,
pvpKills, pkKills, clanName

Raw integer race and sex values are accepted. online accepts SQL Server BIT or 0/1. Use the pack's builder/access column to exclude staff characters from public rankings.

list_rankings receives @metric (pvp, pk, or level) and @limit. Online count returns one numeric column.

Clans

queries.list_clans returns clanId, name, leaderName, level, memberCount, reputation, and nullable allianceName. The connector accepts a positive number or a non-empty text id.

Castle sieges

queries.list_sieges returns siegeId, castleName, nullable ownerClanName, state, and nullable nextSiegeAt, startsAt, endsAt. States are REGISTRATION, SCHEDULED, IN_PROGRESS, PEACE, or UNKNOWN.

All timestamps must be real UTC datetimes or ISO strings with an offset. Do not return an unlabelled local server time.

Raid and grand bosses

queries.list_bosses returns bossId, name, kind, level, state, nullable respawnAt, and nullable respawnWindowEndsAt. kind is RAID or GRAND; state is ALIVE, DEAD, INACTIVE, or UNKNOWN.

What Forgeport handles

The connector validates every row and converts it to the public response. The published website and public website API use only live connector data. An empty list is different from an unavailable or failed query.

Verify

  1. Run Connector check for every configured query.
  2. Compare one row from each result with SQL Server and the live game state.
  3. Confirm every schedule/respawn is correct in UTC.
  4. Publish the corresponding Website sections and inspect the visible result.

On this page