Skip to content

CoT Markers

CoT (Cursor on Target) markers are the live position indicators displayed on the tactical map. They represent connected TAK clients, devices, and sensors, updating in real time via WebSocket as CoT messages flow through the platform.

How CoT Markers Work

The data flow for CoT markers follows this path:

  1. A TAK client (ATAK, iTAK, WinTAK, or WebTAK) sends a CoT position report
  2. The TAK Service receives the CoT XML message via TCP or SSL
  3. The TAK Service publishes the message to RabbitMQ on the magk.cot fanout exchange
  4. The WebSocket Gateway picks up the message and broadcasts it to connected browser clients
  5. The tactical map renders or updates the marker at the reported coordinates

Markers update continuously as new CoT messages arrive. The update frequency depends on the TAK client's reporting interval (typically every 5–15 seconds).

Marker Types

Type Icon Description
Player Person icon A human operator using a TAK client (ATAK, iTAK, WinTAK, or WebTAK)
Device Device icon A MAGK Node or other tracked hardware device
Sensor Sensor icon An automated sensor feed (AIS ship tracking, ADS-B aircraft, weather stations)

Marker icons follow TAK symbology conventions. The icon shape and style indicate the entity type at a glance.

Affiliation Colors

Every CoT marker is colored based on its tactical affiliation. These colors follow standard military symbology conventions:

Affiliation Color CSS Class Usage
Friendly Blue text-blue-400 Your team and allied forces
Hostile Red text-red-400 Opposing teams and threat entities
Neutral Green text-green-400 Non-aligned entities, civilians, infrastructure
Unknown Yellow text-yellow-400 Unidentified or unclassified entities

Affiliation is determined by the CoT message's type field and the team assignment configured in the event. During an active event, players on your team appear blue, opposing teams appear red, and unaffiliated entities appear green or yellow.

Color Assignment

Affiliation colors are relative to the viewer's team. A player who appears blue on their own team's map appears red on the opposing team's map. Organizers and admins see all teams with their assigned colors.

Marker Information

Click or tap a CoT marker to view its details in a popup:

Field Description
Callsign The operator's callsign or device name
Affiliation Friendly, Hostile, Neutral, or Unknown
Type Player, Device, or Sensor
Team Team name (during events)
Coordinates Latitude and longitude
Speed Current speed (if reported by the TAK client)
Course Heading direction in degrees (if reported)
Last Update Timestamp of the most recent CoT message

Marker Staleness

CoT markers have a built-in staleness model. If a marker hasn't received an update within its stale time (defined in the CoT message), it transitions through visual states:

State Appearance Meaning
Current Solid, full opacity Position was updated recently
Stale Faded, reduced opacity No update received within the stale threshold
Gone Removed from map No update received past the expiry time

This prevents the map from showing outdated positions as if they were current.

WebSocket Updates

CoT markers are delivered to the browser via WebSocket messages with the following structure:

Field Type Description
type "cot" Message type identifier
payload.uid string Unique identifier for the CoT entity
payload.callsign string Display name
payload.lat number Latitude
payload.lon number Longitude
payload.speed number Speed in m/s (optional)
payload.course number Heading in degrees (optional)
payload.affiliation string friendly, hostile, neutral, or unknown
payload.type string CoT type string (e.g., a-f-G-U-C for friendly ground unit)
payload.staleTime string ISO timestamp when the marker becomes stale

The useCoTStream hook manages the WebSocket connection, auto-reconnects on disconnection, and provides the current set of tracked markers to the map component.

Visibility Rules

During events, organizers can configure visibility rules that control which markers each team can see:

  • Full visibility — All teams see all markers (default)
  • Fog of war — Teams only see their own markers and nearby entities
  • Custom rules — Organizers define per-team visibility based on event requirements

Visibility rules are enforced server-side. The WebSocket Gateway filters CoT messages before broadcasting them to each client.

  • Interface — Map controls, layers, and provider configuration
  • Overlays — Overlay display on the tactical map
  • WebTAK — Browser-based TAK client for sending CoT from the browser
  • Player Event View — Player perspective on live markers
  • TAK Client Setup — Configuring TAK clients that generate CoT markers