Context:
We are running Nuclear Option dedicated server using Nuclei and would like to be able to live query server status, game stats, and embed that data externally (e.g., via a webpage). There does not yet seem to be a way to track game status via Steam API, or a built-in way for the game to broadcast session metadata for external tools to detect online servers.
Proposal:
Add UDP broadcast support to Nuclei, enabling external monitoring of games utilizing Nuclei for dedicated server functionality:
Initial thoughts:
- Configurable setting in
MaxWasUnavailable.Nuclei.cfg to allow hosts to choose whether to broadcast. (e.g., EnableSessionBroadcast=true).
- Harvest all Metadata available from the game, but at least should include what it shown in the Multiplayer-Server in-game menu.
"game": "Nuclear Option",
"app_id": 2168680,
"map_name": "352ITD_Server",
"max_players": 16,
"ping": 0.0021,
"player_count": 2,
"port": 7767, (or "address": 0.0.0.0:7767)
And maybe if at all Possible:
"players":
"name": "Silent_Night",
"name": "Homer Simpson"
- Use cases: Display server status on web dashboards or integrate with other tracking tools.
Technical Notes:
- Perhaps to allow a Python script, called by a timed shell script to parse the broadcasts and generate a json file for a webserver (html) to pickup and activily update a status banner.
- Workaround for the lack of Steam API for client-hosted sessions
Context:
We are running Nuclear Option dedicated server using Nuclei and would like to be able to live query server status, game stats, and embed that data externally (e.g., via a webpage). There does not yet seem to be a way to track game status via Steam API, or a built-in way for the game to broadcast session metadata for external tools to detect online servers.
Proposal:
Add UDP broadcast support to Nuclei, enabling external monitoring of games utilizing Nuclei for dedicated server functionality:
Initial thoughts:
MaxWasUnavailable.Nuclei.cfgto allow hosts to choose whether to broadcast. (e.g.,EnableSessionBroadcast=true)."game": "Nuclear Option",
"app_id": 2168680,
"map_name": "352ITD_Server",
"max_players": 16,
"ping": 0.0021,
"player_count": 2,
"port": 7767, (or "address": 0.0.0.0:7767)
And maybe if at all Possible:
"players":
"name": "Silent_Night",
"name": "Homer Simpson"
Technical Notes: