SimTX API/Packet list: Difference between revisions
Clanker moved page SimTX API/Packet list to SimTX API v24/Packet list: Archive the v24 protocol reference Tag: New redirect |
Protocol v25 reference Tag: Removed redirect |
||
| Line 1: | Line 1: | ||
# | {{SimTX API navigation}} | ||
This page lists every message that can be sent as a frame of the [[SimTX API]] game protocol, version 25. Each frame is a <code>ClientFrame</code> (client to server) or a <code>ServerFrame</code> (server to client) with exactly one <code>oneof</code> member set; the member's number identifies the message. The two directions have separate number spaces, allocated in the same blocks: 1 to 9 for the connection, 10 to 29 for receiver and transmitter sessions, 30 to 59 for control and 60 to 79 for moderation. Some numbers mean the same thing in both directions, for example 33 is <code>weather_map</code> both ways, but this is only a convention. | |||
Every message has its own page, and the wire format is described on [[SimTX API/Framing]]. | |||
== Framing == | |||
<syntaxhighlight lang="text"> | |||
varint length | |||
bytes ClientFrame or ServerFrame, exactly one member set | |||
</syntaxhighlight> | |||
A reader skips a frame whose member it does not know and keeps reading. See [[SimTX API/Framing#Unknown frames and fields|Unknown frames and fields]]. | |||
== Client to server == | |||
{| class="wikitable sortable" | |||
! # !! Member !! Message !! Session !! Summary | |||
|- | |||
| 1 || <code>hello</code> || [[SimTX API/Packets/ClientHello|ClientHello]] || [[SimTX API/Connection and handshake|All roles]] || Opens every game connection. | |||
|- | |||
| 2 || <code>ping</code> || [[SimTX API/Packets/Ping|Ping]] || [[SimTX API/Connection and handshake|All roles]] || Asks the server for a [[SimTX API/Packets/Pong|Pong]]. | |||
|- | |||
| 3 || <code>forwarded_address</code> || [[SimTX API/Packets/ForwardedClientAddress|ForwardedClientAddress]] || [[SimTX API/Receiver session|Receiver]] || Lets a trusted proxy, such as a web receiver that relays SimTX to browsers, tell the server the real address of the person it serves. | |||
|- | |||
| 10 || <code>receiver_start</code> || [[SimTX API/Packets/ReceiverStart|ReceiverStart]] || [[SimTX API/Receiver session|Receiver]] || Starts a [[SimTX API/Receiver session|receiver session]]. | |||
|- | |||
| 11 || <code>receiver_retune</code> || [[SimTX API/Packets/ReceiverRetune|ReceiverRetune]] || [[SimTX API/Receiver session|Receiver]] || Moves a running receiver to a new centre frequency without reconnecting. | |||
|- | |||
| 12 || <code>transmitter_start</code> || [[SimTX API/Packets/TransmitterStart|TransmitterStart]] || [[SimTX API/Transmitter session|Transmitter]] || Starts a [[SimTX API/Transmitter session|transmitter session]]. | |||
|- | |||
| 13 || <code>samples</code> || [[SimTX API/Packets/SampleBlock|SampleBlock]] || [[SimTX API/Transmitter session|Transmitter]] || Carries samples for the server to transmit. | |||
|- | |||
| 14 || <code>tx_update</code> || [[SimTX API/Packets/TxUpdate|TxUpdate]] || [[SimTX API/Transmitter session|Transmitter]] || Changes transmitter settings while the station is on air, without reconnecting. | |||
|- | |||
| 15 || <code>tx_mode_info</code> || [[SimTX API/Packets/TxModeInfo|TxModeInfo]] || [[SimTX API/Transmitter session|Transmitter]] || Declares a human-readable name and occupied bandwidth for the signal a transmitter is sending. | |||
|- | |||
| 16 || <code>pointing</code> || [[SimTX API/Packets/AntennaPointingUpdate|AntennaPointingUpdate]] || [[SimTX API/Receiver session|Receiver]], [[SimTX API/Transmitter session|transmitter]] || Steers the antenna of a running station-bound session, or changes its tracking and Doppler correction, without reconnecting. | |||
|- | |||
| 30 || <code>list_stations</code> || [[SimTX API/Packets/ListStations|ListStations]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Asks for the list of stations on the server. | |||
|- | |||
| 31 || <code>start_monitor</code> || [[SimTX API/Packets/StartMonitor|StartMonitor]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Asks the server to stream the signal of a transmitter back to the client, so that an operator can hear what they are sending. | |||
|- | |||
| 32 || <code>stop_monitor</code> || [[SimTX API/Packets/StopMonitor|StopMonitor]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Ends a monitor stream started with [[SimTX API/Packets/StartMonitor|StartMonitor]]. | |||
|- | |||
| 33 || <code>weather_map</code> || [[SimTX API/Packets/WeatherMapRequest|WeatherMapRequest]] || [[SimTX API/Control session|Control]] || Asks for a raster of the simulated tropospheric weather over an area. | |||
|- | |||
| 34 || <code>health</code> || [[SimTX API/Packets/ServerHealthRequest|ServerHealthRequest]] || [[SimTX API/Control session|Control]] || Asks for a [[SimTX API/Packets/ServerHealthReport|ServerHealthReport]]. | |||
|- | |||
| 35 || <code>coverage_map</code> || [[SimTX API/Packets/CoverageMapRequest|CoverageMapRequest]] || [[SimTX API/Control session|Control]] || Asks the server to predict where a hypothetical transmitter could be heard. | |||
|- | |||
| 36 || <code>catalog_list</code> || [[SimTX API/Packets/CatalogListRequest|CatalogListRequest]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Asks for the index of the server's [[SimTX API/Extension catalog protocol|extension catalog]]. | |||
|- | |||
| 37 || <code>catalog_fetch</code> || [[SimTX API/Packets/CatalogFetch|CatalogFetch]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Downloads one entry of the [[SimTX API/Extension catalog protocol|extension catalog]], including the contents of all its files. | |||
|- | |||
| 38 || <code>catalog_upload</code> || [[SimTX API/Packets/CatalogUpload|CatalogUpload]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Publishes an extension or preset to the server's [[SimTX API/Extension catalog protocol|extension catalog]], or a new revision of an entry the account already owns. | |||
|- | |||
| 39 || <code>catalog_delete</code> || [[SimTX API/Packets/CatalogDelete|CatalogDelete]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Removes an entry from the [[SimTX API/Extension catalog protocol|extension catalog]]. | |||
|- | |||
| 40 || <code>ephemeris</code> || [[SimTX API/Packets/EphemerisRequest|EphemerisRequest]] || [[SimTX API/Control session|Control]] || Asks the server for the positions of a satellite over a time window. | |||
|- | |||
| 41 || <code>passes</code> || [[SimTX API/Packets/PassPredictionRequest|PassPredictionRequest]] || [[SimTX API/Control session|Control]] || Asks the server when a satellite will be above an observer's horizon within a time window. | |||
|- | |||
| 60 || <code>kick</code> || [[SimTX API/Packets/KickRequest|KickRequest]] || [[SimTX API/Moderation session|Moderation]] || Disconnects sessions from the server. | |||
|- | |||
| 61 || <code>ip_moderation</code> || [[SimTX API/Packets/IpModerationRequest|IpModerationRequest]] || [[SimTX API/Moderation session|Moderation]] || Bans or unbans a client address. | |||
|- | |||
| 62 || <code>broadcast_banner</code> || [[SimTX API/Packets/BroadcastBanner|BroadcastBanner]] || [[SimTX API/Moderation session|Moderation]] || Sets, replaces or clears the server-wide notice. | |||
|} | |||
== Server to client == | |||
{| class="wikitable sortable" | |||
! # !! Member !! Message !! Session !! Summary | |||
|- | |||
| 1 || <code>hello_result</code> || [[SimTX API/Packets/ServerHello|ServerHello]] || [[SimTX API/Connection and handshake|All roles]] || Answers the [[SimTX API/Packets/ClientHello|ClientHello]]. | |||
|- | |||
| 2 || <code>pong</code> || [[SimTX API/Packets/Pong|Pong]] || [[SimTX API/Connection and handshake|All roles]] || Answers a [[SimTX API/Packets/Ping|Ping]]. | |||
|- | |||
| 3 || <code>error</code> || [[SimTX API/Packets/Error|Error]] || [[SimTX API/Connection and handshake|All roles]] || The single error frame of protocol v25. | |||
|- | |||
| 4 || <code>banner</code> || [[SimTX API/Packets/Banner|Banner]] || [[SimTX API/Control session|Control]] || Carries a server-wide notice for the client to display, such as planned maintenance, a performance warning or a ban notice. | |||
|- | |||
| 10 || <code>session_status</code> || [[SimTX API/Packets/SessionStatus|SessionStatus]] || [[SimTX API/Receiver session|Receiver]], [[SimTX API/Transmitter session|transmitter]] || The server's account of a receiver or transmitter session: once when the start is accepted (<code>BOUND</code>), on every change the session survives (<code>UPDATED</code>), and when it is refused or stopped (<code>REJECTED</code>, <code>ENDED</code>). | |||
|- | |||
| 11 || <code>iq_descriptor</code> || [[SimTX API/Packets/IqStreamDescriptor|IqStreamDescriptor]] || [[SimTX API/Receiver session|Receiver]] || States the parameters of the IQ stream a receiver is about to get. | |||
|- | |||
| 12 || <code>iq</code> || [[SimTX API/Packets/IqBlock|IqBlock]] || [[SimTX API/Receiver session|Receiver]] || Carries one block of received complex baseband samples. | |||
|- | |||
| 13 || <code>tx_queue</code> || [[SimTX API/Packets/TxQueue|TxQueue]] || [[SimTX API/Transmitter session|Transmitter]] || Tells a transmitter client that every transmitter slot on the server is taken and that its start is waiting in line. | |||
|- | |||
| 14 || <code>tx_accept</code> || [[SimTX API/Packets/TxAccept|TxAccept]] || [[SimTX API/Transmitter session|Transmitter]] || Tells a transmitter client that its station is on the air. | |||
|- | |||
| 17 || <code>tx_telemetry</code> || [[SimTX API/Packets/TxTelemetry|TxTelemetry]] || [[SimTX API/Transmitter session|Transmitter]] || Reports the state of a transmitter on air: power at each point of the chain, standing-wave ratio, amplifier compression and temperature, and the server's playout buffer. | |||
|- | |||
| 18 || <code>tx_update_ack</code> || [[SimTX API/Packets/TxUpdateAck|TxUpdateAck]] || [[SimTX API/Transmitter session|Transmitter]] || Reports the outcome of a [[SimTX API/Packets/TxUpdate|TxUpdate]], one result per field that was set. | |||
|- | |||
| 30 || <code>station_list</code> || [[SimTX API/Packets/StationList|StationList]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Lists the stations on the server: every persistent station with live sessions, every visible satellite (with or without sessions), and every ad-hoc session. | |||
|- | |||
| 31 || <code>monitor_block</code> || [[SimTX API/Packets/MonitorBlock|MonitorBlock]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Carries a block of a monitored transmitter's signal, as requested with [[SimTX API/Packets/StartMonitor|StartMonitor]]. | |||
|- | |||
| 32 || <code>monitor_end</code> || [[SimTX API/Packets/MonitorEnd|MonitorEnd]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Tells the client that the server ended a running monitor stream, for example because the transmitter went off the air. | |||
|- | |||
| 33 || <code>weather_map</code> || [[SimTX API/Packets/WeatherMapResponse|WeatherMapResponse]] || [[SimTX API/Control session|Control]] || Returns the raster requested by a [[SimTX API/Packets/WeatherMapRequest|WeatherMapRequest]], with a summary of the weather at the centre of the area. | |||
|- | |||
| 34 || <code>health</code> || [[SimTX API/Packets/ServerHealthReport|ServerHealthReport]] || [[SimTX API/Control session|Control]] || Describes the load and internal state of a game server: CPU and memory, simulation timing, worker queues, and per-session statistics for every transmitter and receiver. | |||
|- | |||
| 35 || <code>coverage_map</code> || [[SimTX API/Packets/CoverageMapResponse|CoverageMapResponse]] || [[SimTX API/Control session|Control]] || Returns the predicted received power of a [[SimTX API/Packets/CoverageMapRequest|CoverageMapRequest]] as a global raster. | |||
|- | |||
| 36 || <code>catalog_list</code> || [[SimTX API/Packets/CatalogList|CatalogList]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || The index of the [[SimTX API/Extension catalog protocol|extension catalog]]: one summary per entry, without file contents. | |||
|- | |||
| 37 || <code>catalog_entry</code> || [[SimTX API/Packets/CatalogEntry|CatalogEntry]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Returns the files of one catalog entry requested with [[SimTX API/Packets/CatalogFetch|CatalogFetch]]. | |||
|- | |||
| 38 || <code>catalog_upload_result</code> || [[SimTX API/Packets/CatalogUploadResult|CatalogUploadResult]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Confirms a successful [[SimTX API/Packets/CatalogUpload|CatalogUpload]]. | |||
|- | |||
| 39 || <code>catalog_delete_result</code> || [[SimTX API/Packets/CatalogDeleteResult|CatalogDeleteResult]] || [[SimTX API/Extension catalog protocol|Control (catalog)]] || Confirms that a [[SimTX API/Packets/CatalogDelete|CatalogDelete]] removed the entry. | |||
|- | |||
| 40 || <code>ephemeris</code> || [[SimTX API/Packets/EphemerisResponse|EphemerisResponse]] || [[SimTX API/Control session|Control]] || Returns the satellite positions requested by an [[SimTX API/Packets/EphemerisRequest|EphemerisRequest]]. | |||
|- | |||
| 41 || <code>passes</code> || [[SimTX API/Packets/PassPredictionResponse|PassPredictionResponse]] || [[SimTX API/Control session|Control]] || Lists the passes found for a [[SimTX API/Packets/PassPredictionRequest|PassPredictionRequest]]. | |||
|- | |||
| 42 || <code>monitor_ack</code> || [[SimTX API/Packets/MonitorAck|MonitorAck]] || [[SimTX API/Control session|Control]], [[SimTX API/Moderation session|moderation]] || Confirms a [[SimTX API/Packets/StartMonitor|StartMonitor]] (<code>active = true</code>) or a [[SimTX API/Packets/StopMonitor|StopMonitor]] (<code>active = false</code>). | |||
|- | |||
| 60 || <code>kick_result</code> || [[SimTX API/Packets/KickResult|KickResult]] || [[SimTX API/Moderation session|Moderation]] || Reports how many sessions a [[SimTX API/Packets/KickRequest|KickRequest]] disconnected. | |||
|- | |||
| 61 || <code>ip_moderation_result</code> || [[SimTX API/Packets/IpModerationResult|IpModerationResult]] || [[SimTX API/Moderation session|Moderation]] || Reports the outcome of an [[SimTX API/Packets/IpModerationRequest|IpModerationRequest]]. | |||
|- | |||
| 63 || <code>station_impacts</code> || [[SimTX API/Packets/StationImpactList|StationImpactList]] || [[SimTX API/Moderation session|Moderation]] || An interference analysis for moderators. | |||
|} | |||
Reserved in this direction (never reused): 15, 16, 62 (<code>tx_reject</code>, <code>tx_kick</code>, <code>moderation_error</code>). | |||
== By session == | |||
{| class="wikitable" | |||
! Session !! Client sends !! Server sends | |||
|- | |||
| All roles || <code>hello</code> (first), <code>ping</code> || <code>hello_result</code> (first), <code>pong</code>, <code>error</code> | |||
|- | |||
| [[SimTX API/Receiver session|Receiver]] || <code>forwarded_address</code> (proxies only), <code>receiver_start</code>, <code>receiver_retune</code>, <code>pointing</code> || <code>session_status</code>, <code>iq_descriptor</code>, <code>iq</code> | |||
|- | |||
| [[SimTX API/Transmitter session|Transmitter]] || <code>transmitter_start</code>, <code>samples</code>, <code>tx_update</code>, <code>tx_mode_info</code>, <code>pointing</code> || <code>session_status</code>, <code>tx_queue</code>, <code>tx_accept</code>, <code>tx_telemetry</code>, <code>tx_update_ack</code> | |||
|- | |||
| [[SimTX API/Control session|Control]] || <code>list_stations</code>, <code>start_monitor</code>, <code>stop_monitor</code>, <code>weather_map</code>, <code>health</code>, <code>coverage_map</code>, <code>catalog_*</code>, <code>ephemeris</code>, <code>passes</code> || the matching responses, <code>monitor_ack</code>, <code>monitor_block</code>, <code>monitor_end</code>, <code>banner</code> | |||
|- | |||
| [[SimTX API/Moderation session|Moderation]] || <code>list_stations</code>, <code>kick</code>, <code>ip_moderation</code>, <code>broadcast_banner</code>, <code>start_monitor</code>, <code>stop_monitor</code> || <code>station_list</code>, <code>station_impacts</code>, <code>kick_result</code>, <code>ip_moderation_result</code>, monitor frames | |||
|} | |||
A frame that is known but not allowed in the current session is a protocol violation: the server answers [[SimTX API/Packets/Error|Error]] <code>INVALID_REQUEST</code> and closes the connection. | |||
== Removed v24 packets == | |||
These v24 packets have no v25 message of the same name. Their pages explain what replaced them. | |||
{| class="wikitable" | |||
! v24 packet !! Replaced in v25 by | |||
|- | |||
| [[SimTX API/Packets/Handshake|Handshake]] || The preface and [[SimTX API/Packets/ClientHello|ClientHello]] | |||
|- | |||
| [[SimTX API/Packets/HandshakeResult|HandshakeResult]] || [[SimTX API/Packets/ServerHello|ServerHello]] | |||
|- | |||
| [[SimTX API/Packets/ReceiverSessionRequest|ReceiverSessionRequest]] || [[SimTX API/Packets/ReceiverStart|ReceiverStart]] | |||
|- | |||
| [[SimTX API/Packets/TransmitterSessionRequest|TransmitterSessionRequest]] || [[SimTX API/Packets/TransmitterStart|TransmitterStart]] | |||
|- | |||
| [[SimTX API/Packets/TimedIqBlock|TimedIqBlock]] || [[SimTX API/Packets/IqBlock|IqBlock]] with timestamps | |||
|- | |||
| [[SimTX API/Packets/ControlAck|ControlAck]] || Nothing; an accepted [[SimTX API/Packets/ServerHello|ServerHello]] suffices | |||
|- | |||
| [[SimTX API/Packets/TxReject|TxReject]] || [[SimTX API/Packets/SessionStatus|SessionStatus]] <code>REJECTED</code> | |||
|- | |||
| [[SimTX API/Packets/TxKick|TxKick]] || [[SimTX API/Packets/SessionStatus|SessionStatus]] <code>ENDED</code> | |||
|- | |||
| [[SimTX API/Packets/ModerationError|ModerationError]] || [[SimTX API/Packets/Error|Error]] | |||
|} | |||
The packet pages are also grouped in [[:Category:SimTX API packets]]. The v24 packet list is archived at [[SimTX API v24/Packet list]]. | |||
{{SimTX API navbox}} | |||
[[Category:SimTX API]] | |||
Revision as of 16:35, 24 October 2026
This page lists every message that can be sent as a frame of the SimTX API game protocol, version 25. Each frame is a ClientFrame (client to server) or a ServerFrame (server to client) with exactly one oneof member set; the member's number identifies the message. The two directions have separate number spaces, allocated in the same blocks: 1 to 9 for the connection, 10 to 29 for receiver and transmitter sessions, 30 to 59 for control and 60 to 79 for moderation. Some numbers mean the same thing in both directions, for example 33 is weather_map both ways, but this is only a convention.
Every message has its own page, and the wire format is described on SimTX API/Framing.
Framing
varint length
bytes ClientFrame or ServerFrame, exactly one member set
A reader skips a frame whose member it does not know and keeps reading. See Unknown frames and fields.
Client to server
| # | Member | Message | Session | Summary |
|---|---|---|---|---|
| 1 | hello |
ClientHello | All roles | Opens every game connection. |
| 2 | ping |
Ping | All roles | Asks the server for a Pong. |
| 3 | forwarded_address |
ForwardedClientAddress | Receiver | Lets a trusted proxy, such as a web receiver that relays SimTX to browsers, tell the server the real address of the person it serves. |
| 10 | receiver_start |
ReceiverStart | Receiver | Starts a receiver session. |
| 11 | receiver_retune |
ReceiverRetune | Receiver | Moves a running receiver to a new centre frequency without reconnecting. |
| 12 | transmitter_start |
TransmitterStart | Transmitter | Starts a transmitter session. |
| 13 | samples |
SampleBlock | Transmitter | Carries samples for the server to transmit. |
| 14 | tx_update |
TxUpdate | Transmitter | Changes transmitter settings while the station is on air, without reconnecting. |
| 15 | tx_mode_info |
TxModeInfo | Transmitter | Declares a human-readable name and occupied bandwidth for the signal a transmitter is sending. |
| 16 | pointing |
AntennaPointingUpdate | Receiver, transmitter | Steers the antenna of a running station-bound session, or changes its tracking and Doppler correction, without reconnecting. |
| 30 | list_stations |
ListStations | Control, moderation | Asks for the list of stations on the server. |
| 31 | start_monitor |
StartMonitor | Control, moderation | Asks the server to stream the signal of a transmitter back to the client, so that an operator can hear what they are sending. |
| 32 | stop_monitor |
StopMonitor | Control, moderation | Ends a monitor stream started with StartMonitor. |
| 33 | weather_map |
WeatherMapRequest | Control | Asks for a raster of the simulated tropospheric weather over an area. |
| 34 | health |
ServerHealthRequest | Control | Asks for a ServerHealthReport. |
| 35 | coverage_map |
CoverageMapRequest | Control | Asks the server to predict where a hypothetical transmitter could be heard. |
| 36 | catalog_list |
CatalogListRequest | Control (catalog) | Asks for the index of the server's extension catalog. |
| 37 | catalog_fetch |
CatalogFetch | Control (catalog) | Downloads one entry of the extension catalog, including the contents of all its files. |
| 38 | catalog_upload |
CatalogUpload | Control (catalog) | Publishes an extension or preset to the server's extension catalog, or a new revision of an entry the account already owns. |
| 39 | catalog_delete |
CatalogDelete | Control (catalog) | Removes an entry from the extension catalog. |
| 40 | ephemeris |
EphemerisRequest | Control | Asks the server for the positions of a satellite over a time window. |
| 41 | passes |
PassPredictionRequest | Control | Asks the server when a satellite will be above an observer's horizon within a time window. |
| 60 | kick |
KickRequest | Moderation | Disconnects sessions from the server. |
| 61 | ip_moderation |
IpModerationRequest | Moderation | Bans or unbans a client address. |
| 62 | broadcast_banner |
BroadcastBanner | Moderation | Sets, replaces or clears the server-wide notice. |
Server to client
| # | Member | Message | Session | Summary |
|---|---|---|---|---|
| 1 | hello_result |
ServerHello | All roles | Answers the ClientHello. |
| 2 | pong |
Pong | All roles | Answers a Ping. |
| 3 | error |
Error | All roles | The single error frame of protocol v25. |
| 4 | banner |
Banner | Control | Carries a server-wide notice for the client to display, such as planned maintenance, a performance warning or a ban notice. |
| 10 | session_status |
SessionStatus | Receiver, transmitter | The server's account of a receiver or transmitter session: once when the start is accepted (BOUND), on every change the session survives (UPDATED), and when it is refused or stopped (REJECTED, ENDED).
|
| 11 | iq_descriptor |
IqStreamDescriptor | Receiver | States the parameters of the IQ stream a receiver is about to get. |
| 12 | iq |
IqBlock | Receiver | Carries one block of received complex baseband samples. |
| 13 | tx_queue |
TxQueue | Transmitter | Tells a transmitter client that every transmitter slot on the server is taken and that its start is waiting in line. |
| 14 | tx_accept |
TxAccept | Transmitter | Tells a transmitter client that its station is on the air. |
| 17 | tx_telemetry |
TxTelemetry | Transmitter | Reports the state of a transmitter on air: power at each point of the chain, standing-wave ratio, amplifier compression and temperature, and the server's playout buffer. |
| 18 | tx_update_ack |
TxUpdateAck | Transmitter | Reports the outcome of a TxUpdate, one result per field that was set. |
| 30 | station_list |
StationList | Control, moderation | Lists the stations on the server: every persistent station with live sessions, every visible satellite (with or without sessions), and every ad-hoc session. |
| 31 | monitor_block |
MonitorBlock | Control, moderation | Carries a block of a monitored transmitter's signal, as requested with StartMonitor. |
| 32 | monitor_end |
MonitorEnd | Control, moderation | Tells the client that the server ended a running monitor stream, for example because the transmitter went off the air. |
| 33 | weather_map |
WeatherMapResponse | Control | Returns the raster requested by a WeatherMapRequest, with a summary of the weather at the centre of the area. |
| 34 | health |
ServerHealthReport | Control | Describes the load and internal state of a game server: CPU and memory, simulation timing, worker queues, and per-session statistics for every transmitter and receiver. |
| 35 | coverage_map |
CoverageMapResponse | Control | Returns the predicted received power of a CoverageMapRequest as a global raster. |
| 36 | catalog_list |
CatalogList | Control (catalog) | The index of the extension catalog: one summary per entry, without file contents. |
| 37 | catalog_entry |
CatalogEntry | Control (catalog) | Returns the files of one catalog entry requested with CatalogFetch. |
| 38 | catalog_upload_result |
CatalogUploadResult | Control (catalog) | Confirms a successful CatalogUpload. |
| 39 | catalog_delete_result |
CatalogDeleteResult | Control (catalog) | Confirms that a CatalogDelete removed the entry. |
| 40 | ephemeris |
EphemerisResponse | Control | Returns the satellite positions requested by an EphemerisRequest. |
| 41 | passes |
PassPredictionResponse | Control | Lists the passes found for a PassPredictionRequest. |
| 42 | monitor_ack |
MonitorAck | Control, moderation | Confirms a StartMonitor (active = true) or a StopMonitor (active = false).
|
| 60 | kick_result |
KickResult | Moderation | Reports how many sessions a KickRequest disconnected. |
| 61 | ip_moderation_result |
IpModerationResult | Moderation | Reports the outcome of an IpModerationRequest. |
| 63 | station_impacts |
StationImpactList | Moderation | An interference analysis for moderators. |
Reserved in this direction (never reused): 15, 16, 62 (tx_reject, tx_kick, moderation_error).
By session
| Session | Client sends | Server sends |
|---|---|---|
| All roles | hello (first), ping |
hello_result (first), pong, error
|
| Receiver | forwarded_address (proxies only), receiver_start, receiver_retune, pointing |
session_status, iq_descriptor, iq
|
| Transmitter | transmitter_start, samples, tx_update, tx_mode_info, pointing |
session_status, tx_queue, tx_accept, tx_telemetry, tx_update_ack
|
| Control | list_stations, start_monitor, stop_monitor, weather_map, health, coverage_map, catalog_*, ephemeris, passes |
the matching responses, monitor_ack, monitor_block, monitor_end, banner
|
| Moderation | list_stations, kick, ip_moderation, broadcast_banner, start_monitor, stop_monitor |
station_list, station_impacts, kick_result, ip_moderation_result, monitor frames
|
A frame that is known but not allowed in the current session is a protocol violation: the server answers Error INVALID_REQUEST and closes the connection.
Removed v24 packets
These v24 packets have no v25 message of the same name. Their pages explain what replaced them.
| v24 packet | Replaced in v25 by |
|---|---|
| Handshake | The preface and ClientHello |
| HandshakeResult | ServerHello |
| ReceiverSessionRequest | ReceiverStart |
| TransmitterSessionRequest | TransmitterStart |
| TimedIqBlock | IqBlock with timestamps |
| ControlAck | Nothing; an accepted ServerHello suffices |
| TxReject | SessionStatus REJECTED
|
| TxKick | SessionStatus ENDED
|
| ModerationError | Error |
The packet pages are also grouped in Category:SimTX API packets. The v24 packet list is archived at SimTX API v24/Packet list.