Jump to content

SimTX API v24/Moderation session: Difference between revisions

From SimTX Wiki
Clanker (talk | contribs)
m Clanker moved page SimTX API/Moderation session to SimTX API v24/Moderation session: Archive the v24 protocol reference
Clanker (talk | contribs)
Archive the v24 protocol reference: use the v24 templates, links and categories
 
Line 1: Line 1:
{{SimTX API navigation}}
{{SimTX API v24 navigation}}
A '''moderation session''' (role 5, <code>MODERATION</code>) gives SimTX moderators tools to see who is on a server and to remove disruptive stations. It is documented for completeness, so that the packet IDs in the [[SimTX API/Packet list|packet list]] are all explained. '''Third-party software cannot use it''' without an account holding the <code>moderation.manage</code> [[SimTX API/Permissions|permission]], and the account service will not issue a <code>moderation</code> [[SimTX API/Game tickets|ticket]] otherwise.
A '''moderation session''' (role 5, <code>MODERATION</code>) gives SimTX moderators tools to see who is on a server and to remove disruptive stations. It is documented for completeness, so that the packet IDs in the [[SimTX API v24/Packet list|packet list]] are all explained. '''Third-party software cannot use it''' without an account holding the <code>moderation.manage</code> [[SimTX API v24/Permissions|permission]], and the account service will not issue a <code>moderation</code> [[SimTX API v24/Game tickets|ticket]] otherwise.


== Permissions within the session ==
== Permissions within the session ==
Line 7: Line 7:
* '''MONITOR''', from <code>monitor.any</code>: monitoring any transmitter.
* '''MONITOR''', from <code>monitor.any</code>: monitoring any transmitter.


A request without the matching grant is answered with [[SimTX API/Packets/ModerationError|ModerationError]] and the session stays open.
A request without the matching grant is answered with [[SimTX API v24/Packets/ModerationError|ModerationError]] and the session stays open.


== Packets ==
== Packets ==
Line 13: Line 13:
! Request (C2S) !! Response (S2C) !! Grant !! Purpose
! Request (C2S) !! Response (S2C) !! Grant !! Purpose
|-
|-
| [[SimTX API/Packets/ListStations|ListStations]] (4) || [[SimTX API/Packets/StationList|StationList]] (9), then [[SimTX API/Packets/StationImpactList|StationImpactList]] (18) || MODERATE || Stations including client addresses, followed by an interference analysis.
| [[SimTX API v24/Packets/ListStations|ListStations]] (4) || [[SimTX API v24/Packets/StationList|StationList]] (9), then [[SimTX API v24/Packets/StationImpactList|StationImpactList]] (18) || MODERATE || Stations including client addresses, followed by an interference analysis.
|-
|-
| [[SimTX API/Packets/KickRequest|KickRequest]] (5) || [[SimTX API/Packets/KickResult|KickResult]] (13) || MODERATE || Disconnect stations by callsign or UUID.
| [[SimTX API v24/Packets/KickRequest|KickRequest]] (5) || [[SimTX API v24/Packets/KickResult|KickResult]] (13) || MODERATE || Disconnect stations by callsign or UUID.
|-
|-
| [[SimTX API/Packets/IpModerationRequest|IpModerationRequest]] (9) || [[SimTX API/Packets/IpModerationResult|IpModerationResult]] (15) || MODERATE || Ban or unban an address.
| [[SimTX API v24/Packets/IpModerationRequest|IpModerationRequest]] (9) || [[SimTX API v24/Packets/IpModerationResult|IpModerationResult]] (15) || MODERATE || Ban or unban an address.
|-
|-
| [[SimTX API/Packets/BroadcastBanner|BroadcastBanner]] (12) || None || MODERATE || Show, replace or clear the server notice.
| [[SimTX API v24/Packets/BroadcastBanner|BroadcastBanner]] (12) || None || MODERATE || Show, replace or clear the server notice.
|-
|-
| [[SimTX API/Packets/StartMonitor|StartMonitor]] (6), [[SimTX API/Packets/StopMonitor|StopMonitor]] (7) || [[SimTX API/Packets/MonitorBlock|MonitorBlock]] (10), [[SimTX API/Packets/MonitorEnd|MonitorEnd]] (11) || MONITOR || Listen to any transmitter.
| [[SimTX API v24/Packets/StartMonitor|StartMonitor]] (6), [[SimTX API v24/Packets/StopMonitor|StopMonitor]] (7) || [[SimTX API v24/Packets/MonitorBlock|MonitorBlock]] (10), [[SimTX API v24/Packets/MonitorEnd|MonitorEnd]] (11) || MONITOR || Listen to any transmitter.
|}
|}


Errors are reported with [[SimTX API/Packets/ModerationError|ModerationError]] (12).
Errors are reported with [[SimTX API v24/Packets/ModerationError|ModerationError]] (12).


== Effects of a ban ==
== Effects of a ban ==
When an address is banned, the server kicks its receiver and transmitter sessions. Its control sessions stay connected and receive a [[SimTX API/Packets/Banner|Banner]] of level 1 (ban notice) with the reason, so that the user's application can explain what happened. New game connections from the address are rejected with <code>IP_BANNED</code>.
When an address is banned, the server kicks its receiver and transmitter sessions. Its control sessions stay connected and receive a [[SimTX API v24/Packets/Banner|Banner]] of level 1 (ban notice) with the reason, so that the user's application can explain what happened. New game connections from the address are rejected with <code>IP_BANNED</code>.


{{SimTX API navbox}}
{{SimTX API v24 navbox}}
[[Category:SimTX API]]
[[Category:SimTX API v24]]
[[Category:SimTX API sessions]]
[[Category:SimTX API v24 sessions]]

Latest revision as of 16:13, 24 October 2026

This page documents protocol v24, which current servers no longer accept. See SimTX API for v25.

A moderation session (role 5, MODERATION) gives SimTX moderators tools to see who is on a server and to remove disruptive stations. It is documented for completeness, so that the packet IDs in the packet list are all explained. Third-party software cannot use it without an account holding the moderation.manage permission, and the account service will not issue a moderation ticket otherwise.

Permissions within the session[edit | edit source]

The server checks two grants for each request:

  • MODERATE, from moderation.manage: listing stations with addresses, kicking, IP bans and banners.
  • MONITOR, from monitor.any: monitoring any transmitter.

A request without the matching grant is answered with ModerationError and the session stays open.

Packets[edit | edit source]

Request (C2S) Response (S2C) Grant Purpose
ListStations (4) StationList (9), then StationImpactList (18) MODERATE Stations including client addresses, followed by an interference analysis.
KickRequest (5) KickResult (13) MODERATE Disconnect stations by callsign or UUID.
IpModerationRequest (9) IpModerationResult (15) MODERATE Ban or unban an address.
BroadcastBanner (12) None MODERATE Show, replace or clear the server notice.
StartMonitor (6), StopMonitor (7) MonitorBlock (10), MonitorEnd (11) MONITOR Listen to any transmitter.

Errors are reported with ModerationError (12).

Effects of a ban[edit | edit source]

When an address is banned, the server kicks its receiver and transmitter sessions. Its control sessions stay connected and receive a Banner of level 1 (ban notice) with the reason, so that the user's application can explain what happened. New game connections from the address are rejected with IP_BANNED.

SimTX API v24 reference (protocol v24, archived)
Start OverviewQuick startData typesLimits and errorsPacket list
Account service OverviewDevice loginServer directoryGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeReceiver sessionTransmitter sessionControl sessionCatalogModeration
Handshake HandshakeHandshakeResult
Receiver ReceiverSessionRequestReceiverRetuneForwardedClientAddressIqStreamDescriptorIqBlockTimedIqBlock
Transmitter TransmitterSessionRequestSampleBlockTxModeInfoTxUpdateTxQueueTxAcceptTxRejectTxKickTxTelemetryTxUpdateAck
Control ControlAckBannerListStationsStationListServerHealthRequestServerHealthReportCoverageMapRequestCoverageMapResponseWeatherMapRequestWeatherMapResponseStartMonitorStopMonitorMonitorBlockMonitorEnd
Catalog CatalogListRequestCatalogListCatalogFetchCatalogEntryCatalogUploadCatalogUploadResultCatalogDeleteCatalogDeleteResult
Moderation KickRequestKickResultIpModerationRequestIpModerationResultBroadcastBannerModerationErrorStationImpactList
Current Protocol v25 reference