Zum Artikel Zum Inhaltsverzeichnis Zur Kapitelnavigation

sOU verwendet Cookies für deine Anmeldung und zum Schutz von Formularen. Es gibt keine Analyse- oder Werbecookies und kein Tracking durch Drittanbieter.

Du kannst direkt fortfahren. Nur wenn du „Hinweis 180 Tage ausblenden“ wählst, speichern wir zusätzlich diese Einstellung in deinem Browser.

Vollständige HUD-Typreferenz

Alle öffentlichen Felder, Datentypen und Enumwerte des HUD-Schemas sowie die Typdefinitionen zum Herunterladen.

Stand: 17. Oktober 2026 · ca. 9 Minuten Lesezeit

Diese Referenz enthält alle öffentlichen Typen, Felder und Enumwerte des HUD-Vertrags aus dem mitgelieferten SDK. Die TypeScript-Schreibweise beschreibt die JSON-Daten; sie setzt keine Verwendung von TypeScript voraus. Für Quellen, Zeitpunkte und fachliche Bedeutung lies die HUD-API-Anleitung.

Vollständige Typdefinitionen herunterladen (contracts.d.ts)

Die Referenz lesen

Ein Wert mit | null kann fehlen. Array<T> bezeichnet eine Liste, Record<K, V> eine Zuordnung. Geschlossene Zustände sind als wörtliche Stringwerte aufgeführt. unknown bezeichnet einen unbekannten Zustand und ist nicht gleich null. Die Daten werden in camelCase übertragen. Zahlen mit Seconds im Feldnamen sind Sekunden. Die Vertragsdatei gehört zum SDK-Stand dieser Website; verwende für ein HUD zusammenpassende Verträge und Clients.

BombState

export interface BombState {
  state: BombStatus | null;
  playerSteamId: string | null;
  position: Vector3State | null;
  secondsRemaining: number | null;
}

BombStatus

export type BombStatus = "unknown" | "carried" | "dropped" | "planting" | "planted" | "defusing" | "defused" | "exploded";

CompetitionSectionKind

export type CompetitionSectionKind = "unknown" | "region" | "division" | "phase" | "group" | "round" | "other";

CountdownPhase

export type CountdownPhase = "unknown" | "warmup" | "freezeTime" | "live" | "over" | "bomb" | "defuse" | "timeoutCounterTerrorists" | "timeoutTerrorists" | "paused" | "gameOver";

CountdownState

export interface CountdownState {
  phase: CountdownPhase | null;
  secondsRemaining: number | null;
}

DataFreshness

export type DataFreshness = "unknown" | "waiting" | "live" | "stale" | "disconnected";

DraftStatus

export type DraftStatus = "unknown" | "live";

DraftTeam

export interface DraftTeam {
  id: number | null;
  name: string | null;
}

FeedConnectionStatus

export type FeedConnectionStatus = "unknown" | "connecting" | "connected" | "disconnected";

FlamePoint

export interface FlamePoint {
  id: string;
  position: Vector3State;
}

GameMode

export type GameMode = "unknown" | "competitive" | "casual" | "deathmatch" | "wingman" | "armsRace" | "demolition" | "custom" | "cooperative" | "skirmish" | "training" | "scrimCompetitive5v5";

GameState

export interface GameState {
  map: string | null;
  phase: MatchPhase | null;
  roundNumber: number | null;
  roundPhase: RoundPhase | null;
  ct: SideState | null;
  t: SideState | null;
  observedPlayer: PlayerState | null;
  players: Array<PlayerState>;
  managedMatch: ManagedMatch | null;
  radar: RadarState | null;
  killFeed: Array<KillFeedEntry>;
  mapKind: MapKind | null;
  provider: ProviderState | null;
  tournamentDraft: TournamentDraftState | null;
  matchesToWinSeries: number | null;
  currentSpectators: number | null;
  souvenirsTotal: number | null;
  roundWinReason: RoundWinReason | null;
  availableSections: Array<GsiSection>;
  currentPlayer: PlayerState | null;
  mode: GameMode | null;
  roundWinner: TeamSide | null;
  roundBomb: BombStatus | null;
  roundWins: Array<RoundResult> | null;
  countdown: CountdownState | null;
  bomb: BombState | null;
  grenades: Array<GrenadeState> | null;
}

GrenadeKind

export type GrenadeKind = "unknown" | "smoke" | "flashbang" | "highExplosive" | "molotov" | "incendiary" | "decoy" | "inferno" | "firebomb";

GrenadeState

export interface GrenadeState {
  id: string;
  type: GrenadeKind | null;
  ownerSteamId: string | null;
  position: Vector3State | null;
  velocity: Vector3State | null;
  lifetimeSeconds: number | null;
  effectTimeSeconds: number | null;
  flames: Array<FlamePoint> | null;
}

GsiSection

export type GsiSection = "unknown" | "provider" | "map" | "round" | "player" | "allPlayers" | "phaseCountdowns" | "bomb" | "grenades" | "tournamentDraft";

HudPanelAction

export interface HudPanelAction {
  id: string;
  section: string;
  name: string;
  value: string | null;
}

HudPanelChoice

export interface HudPanelChoice {
  name: string;
  label: string;
}

HudPanelFieldType

export type HudPanelFieldType = "text" | "checkbox" | "select" | "player" | "team" | "match" | "image" | "images" | "action";

HudPanelInput

export interface HudPanelInput {
  type: HudPanelFieldType;
  name: string;
  label: string;
  values: Array<HudPanelChoice> | null;
}

HudPanelMessage

export interface HudPanelMessage {
  hudId: string;
  version: string;
  state: HudPanelState | null;
  action: HudPanelAction | null;
}

HudPanelReference

export interface HudPanelReference {
  id: string;
  name: string | null;
  image: string | null;
  teamId: string | null;
  missing: boolean;
}

HudPanelSection

export interface HudPanelSection {
  name: string;
  label: string;
  inputs: Array<HudPanelInput>;
}

HudPanelState

export interface HudPanelState {
  revision: number;
  values: Record<string, Record<string, unknown>>;
  references: Record<string, Record<string, HudPanelReference>>;
}

KillFeedEntry

export interface KillFeedEntry {
  id: number;
  connectionId: string;
  epoch: number;
  gameTimeSeconds: number;
  killer: KillParticipant | null;
  victim: KillParticipant;
  assister: KillParticipant | null;
  weapon: string;
  weaponKind: WeaponKind;
  flashAssist: boolean;
  headshot: boolean;
  wallbang: boolean;
  attackerBlind: boolean;
  throughSmoke: boolean;
  noScope: boolean;
}

KillParticipant

export interface KillParticipant {
  entityIndex: number;
  steamId: string | null;
  name: string | null;
  side: TeamSide | null;
}

LiveSnapshot

export interface LiveSnapshot {
  schemaVersion: number;
  sessionId: string;
  revision: number;
  receivedAt: string | null;
  freshness: DataFreshness;
  game: GameState | null;
  managedMatch: ManagedMatch | null;
}

LocalDiagnostics

export interface LocalDiagnostics {
  accepted: number;
  rejected: number;
  subscribers: number;
  snapshot: LiveSnapshot;
}

ManagedCompetition

export interface ManagedCompetition {
  id: string;
  name: string;
  seasonId: string | null;
  seasonName: string | null;
  sections: Array<ManagedCompetitionSection>;
  round: string | null;
  logo: string | null;
  sponsors: Array<ManagedCompetitionSponsor> | null;
  sectionId: string | null;
  structure: ManagedCompetitionStructure | null;
}

ManagedCompetitionSeason

export interface ManagedCompetitionSeason {
  id: string;
  competitionId: string;
  name: string;
}

ManagedCompetitionSection

export interface ManagedCompetitionSection {
  id: string;
  name: string;
  kind: CompetitionSectionKind;
}

ManagedCompetitionSponsor

export interface ManagedCompetitionSponsor {
  id: string;
  name: string;
  image: string;
}

ManagedCompetitionStructure

export interface ManagedCompetitionStructure {
  seasons: Array<ManagedCompetitionSeason>;
  sections: Array<ManagedCompetitionStructureSection>;
}

ManagedCompetitionStructureSection

export interface ManagedCompetitionStructureSection {
  id: string;
  competitionId: string;
  seasonId: string | null;
  parentId: string | null;
  name: string;
  kind: CompetitionSectionKind;
}

ManagedMatch

export interface ManagedMatch {
  id: string;
  name: string;
  bestOf: number;
  teamA: ManagedTeam;
  teamB: ManagedTeam;
  ct: TeamSideResolution;
  t: TeamSideResolution;
  startsAt: string | null;
  maps: Array<ManagedMatchMap>;
  vetos: Array<ManagedVeto>;
  competition: ManagedCompetition | null;
}

ManagedMatchMap

export interface ManagedMatchMap {
  id: string;
  name: string;
  gameName: string;
  number: number;
  kind: MapKind | null;
  status: MapResultStatus | null;
  scoreA: number | null;
  scoreB: number | null;
  winnerTeamId: string | null;
}

ManagedTeam

export interface ManagedTeam {
  id: string;
  name: string;
  shortName: string;
  logo: string | null;
  seriesWins: number;
}

ManagedVeto

export interface ManagedVeto {
  mapId: string;
  name: string;
  gameName: string;
  type: MapDecisionKind;
  teamId: string | null;
  number: number;
  playNumber: number | null;
}

MapDecisionKind

export type MapDecisionKind = "unknown" | "pick" | "ban" | "decider";

MapKind

export type MapKind = "unknown" | "dust2" | "mirage" | "inferno" | "nuke" | "overpass" | "ancient" | "anubis" | "vertigo" | "train" | "cache" | "office" | "italy" | "assault" | "aztec" | "cobblestone" | "tuscan" | "canals" | "agency" | "baggage" | "shoots" | "lake" | "safehouse" | "shortDust" | "shortNuke" | "rialto" | "stMarc" | "bank" | "sugarcane" | "monastery" | "dizzy";

MapResultStatus

export type MapResultStatus = "unknown" | "pending" | "live" | "completed";

MatchPhase

export type MatchPhase = "unknown" | "warmup" | "live" | "intermission" | "gameOver";

MatchStats

export interface MatchStats {
  kills: number | null;
  assists: number | null;
  deaths: number | null;
  mvps: number | null;
  score: number | null;
}

PlayerActivity

export type PlayerActivity = "unknown" | "menu" | "playing" | "textInput";

PlayerState

export interface PlayerState {
  steamId: string | null;
  name: string | null;
  side: TeamSide | null;
  activity: PlayerActivity | null;
  health: number | null;
  activeWeapon: WeaponState | null;
  isAlive: boolean | null;
  clan: string | null;
  xpOverloadLevel: number | null;
  spectationTargetSteamId: string | null;
  observerSlot: number | null;
  armor: number | null;
  helmet: boolean | null;
  defuseKit: boolean | null;
  money: number | null;
  equipmentValue: number | null;
  flashed: number | null;
  smoked: number | null;
  burning: number | null;
  roundKills: number | null;
  roundHeadshotKills: number | null;
  roundDamage: number | null;
  position: Vector3State | null;
  forward: Vector3State | null;
  stats: MatchStats | null;
  recordedStats: RecordedPlayerStats | null;
  weapons: Array<WeaponState> | null;
}

ProviderState

export interface ProviderState {
  name: string | null;
  appId: number;
  version: number | null;
  steamId: string | null;
  timestampUnixSeconds: number | null;
}

RadarPlayer

export interface RadarPlayer {
  steamId: string;
  pawnHandle: number;
  position: Vector3State;
  forward: Vector3State;
  health: number;
}

RadarState

export interface RadarState {
  connectionId: string;
  epoch: number;
  sequence: number;
  gameTimeSeconds: number;
  receivedAt: string;
  players: Array<RadarPlayer>;
}

RecordedPlayerStats

export interface RecordedPlayerStats {
  rounds: number;
  damage: number;
  kills: number;
  headshotKills: number;
  coversWholeMatch: boolean;
  headshotPercentage: number | null;
  averageDamagePerRound: number | null;
}

RoundPhase

export type RoundPhase = "unknown" | "freezeTime" | "live" | "over";

RoundResult

export interface RoundResult {
  roundNumber: number;
  winner: TeamSide;
  reason: RoundWinReason;
}

RoundWinReason

export type RoundWinReason = "unknown" | "elimination" | "bombExploded" | "bombDefused" | "timeExpired" | "hostageRescued";

SideState

export interface SideState {
  name: string | null;
  score: number | null;
  flag: string | null;
  consecutiveRoundLosses: number | null;
  timeoutsRemaining: number | null;
  matchesWon: number | null;
}

TeamRecognitionStatus

export type TeamRecognitionStatus = "unknown" | "noMatch" | "tied" | "conflicting" | "recognized" | "inferred" | "manual";

TeamSide

export type TeamSide = "unknown" | "counterTerrorists" | "terrorists" | "spectator";

TeamSideResolution

export interface TeamSideResolution {
  side: TeamSide;
  status: TeamRecognitionStatus;
  teamId: string | null;
  teamAScore: number;
  teamBScore: number;
}

TournamentDraftState

export interface TournamentDraftState {
  state: DraftStatus | null;
  eventId: number | null;
  eventName: string | null;
  stageId: number | null;
  stageName: string | null;
  firstTeam: DraftTeam;
  secondTeam: DraftTeam;
}

Vector3State

export interface Vector3State {
  x: number;
  y: number;
  z: number;
}

WeaponCategory

export type WeaponCategory = "unknown" | "knife" | "pistol" | "submachineGun" | "rifle" | "sniperRifle" | "shotgun" | "machineGun" | "grenade" | "bomb" | "equipment" | "stackableItem" | "tablet" | "fists" | "breachCharge" | "melee";

WeaponKind

export type WeaponKind = "unknown" | "ak47" | "aug" | "awp" | "bayonet" | "ppBizon" | "c4" | "cz75Auto" | "desertEagle" | "decoy" | "dualBerettas" | "famas" | "fiveSeven" | "flashbang" | "g3Sg1" | "galilAr" | "glock18" | "healthshot" | "highExplosiveGrenade" | "p2000" | "incendiaryGrenade" | "defaultCtKnife" | "butterflyKnife" | "survivalKnife" | "paracordKnife" | "classicKnife" | "falchionKnife" | "flipKnife" | "gutKnife" | "navajaKnife" | "karambit" | "kukriKnife" | "m9Bayonet" | "nomadKnife" | "shadowDaggers" | "skeletonKnife" | "stilettoKnife" | "bowieKnife" | "defaultTKnife" | "huntsmanKnife" | "ursusKnife" | "talonKnife" | "goldenKnife" | "m249" | "m4A4" | "m4A1S" | "mac10" | "mag7" | "molotov" | "mp5Sd" | "mp7" | "mp9" | "negev" | "nova" | "p250" | "p90" | "r8Revolver" | "sawedOff" | "scar20" | "sg553" | "smokeGrenade" | "ssg08" | "zeusX27" | "tec9" | "ump45" | "uspS" | "xm1014";

WeaponState

export interface WeaponState {
  slot: string;
  name: string | null;
  type: WeaponCategory | null;
  state: WeaponStatus | null;
  paintKit: string | null;
  ammoClip: number | null;
  ammoClipMax: number | null;
  ammoReserve: number | null;
  kind: WeaponKind | null;
}

WeaponStatus

export type WeaponStatus = "unknown" | "active" | "holstered" | "reloading";
Zum Seitenanfang