Skip to main content

Players

Online/offline players, detail views, admin actions, and per-player metadata.

PlayersController​

  • Route prefix: api/players
  • Auth: [Authorize]
MethodPathDescriptionRequestResponse
GET/List currently online playersPlayerInfo[]
GET/knownAll known players (online + offline), paginated?pageIndex&pageSize&search{ items: PlayerInfo[], total, pageIndex, pageSize }
GET/{entityId}Player detail with inventory and skillsPlayerDetailDto
GET/{entityId}/inventoryPlayer inventory (bag + belt){ bagItems, beltItems }
GET/{entityId}/skillsPlayer skills and perksSkillDto[]
POST/{entityId}/kickKick player{ reason }{ output }
POST/{entityId}/banBan player{ reason, durationMinutes }{ output }
POST/{entityId}/giveGive item to player{ itemName, count, quality }{ message }
POST/{entityId}/teleportTeleport player to coordinates{ x, y, z }{ output }
POST/{entityId}/admin-levelChange in-game admin level{ level }{ output }

PlayerMetadataController​

Admin-set metadata attached to a player (display-name color, custom tag, free-form notes).

  • Route prefix: api/players/metadata
  • Auth: All endpoints require admin role.
MethodPathDescriptionRequestResponse
GET/All player metadata, keyed by playerId{ [playerId]: PlayerMetadata }
GET/{playerId}Metadata for one playerPlayerMetadata
PUT/{playerId}Create or update metadata{ nameColor, customTag, notes }PlayerMetadata

Notes​

  • entityId is the in-game integer entity ID (unstable across sessions). playerId in metadata endpoints is the stable player ID (Steam ID).
  • Give, kick, ban, teleport, and admin-level actions require the player to be online. Offline calls return an error.