SimTX API v24/Moderation session: Difference between revisions
SimTX API documentation |
Archive the v24 protocol reference: use the v24 templates, links and categories |
||
| (One intermediate revision by the same user not shown) | |||
| 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
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.