Websocket Documentation

Viewing Websocket Data

To view HiveMind's websocket data, you can use a tool such as WebSocket Test Page Client. Use the URL wss://kqhivemind.com/ws/gamestate to try it out.

HiveMind Websockets

HiveMind publishes live data on the following websockets:

In-Game Stats

/ws/ingame_stats

Repeatedly sends the current game state, which is used by the in-game overlay.

After connecting to this websocket, you will need to send a message to subscribe to data from one or more cabinets.

Subscribe message example: { type: 'subscribe', cabinet_id: 1 }

Data example:

{                                                                                                                                                                    
  "berries_deposited": {                 
    "4": 5,                      
    "5": 3,                                                                                                                                                          
    "6": 4,                                                                                                                                                          
    "7": 3,                                                                                                                                                          
    "8": 1,                                                                                                                                                          
    "9": 1                                                                        
  },         
  "berries_kicked_in": {},                                                                                                                                           
  "berries_remaining": 37,                                                                                                                                           
  "deaths": {                                                                                                                                                        
    "1": 1,                                                                                                                                                          
    "10": 7,                                                                                                                                                         
    "3": 6,                              
    "4": 2,                      
    "5": 2,                                                                                                                                                          
    "6": 1,                                                                                                                                                          
    "7": 1,                                                                                                                                                          
    "8": 3,
    "9": 4
  },
  "game_time": 75.509,
  "have_berries": [
    "7",
    "9",
    "5",
    "6",
    "3"
  ],
  "kill_feed": [
    {
      "assists": [],
      "entryType": "kill",
      "gameTime": 64.231,
      "id": "c8ce73d2-ee0a-4621-a7ba-85c058f44ec1",
      "killer": "2",
      "ts": "2022-07-14T22:56:36.378Z",
      "victim": "1"
    }
  ],
  "kills": {
    "1": 12,
    "10": 1,
    "2": 13,
    "7": 1
  },
  "map_name": "map_night",
  "message_type": "stats",
  "military_deaths": {
    "1": 1
  },
  "military_kills": {
    "2": 1
  },
  "queen_kills": {
    "2": 1
  },
  "snail_distance": {
    "10": 190,
    "3": 240,
    "7": 212
  },
  "speed": [],
  "total_berries": {
    "4": 5,
    "5": 3,
    "6": 4,
    "7": 3,
    "8": 1,
    "9": 1
  },
  "warriors": []
}

Game State

/ws/gamestate

Publishes events such as games starting and ending, tournament match data, and cabinets coming online.

Message Types

  • cabinetOnline
  • cabinetOffline
  • playernames
  • gamestart
  • gameend
  • match
  • matchend

Player Sign In

/ws/signin

Event Relay

/ws/event-relay/<scene>/<cabinet>

Relays the raw cabinet messages. See Stats Socket Events for more detail.