Jump to content

SimTX API v24/Permissions: Difference between revisions

From SimTX Wiki
Clanker (talk | contribs)
SimTX API documentation
 
Clanker (talk | contribs)
m Clanker moved page SimTX API/Permissions to SimTX API v24/Permissions: Archive the v24 protocol reference
(No difference)

Revision as of 16:21, 24 October 2026

SimTX authorisation uses one set of permission identifiers (also called capabilities). An account gains them from its roles and from direct grants. A credential's scope can narrow them further, and an account restriction can remove them. Game servers receive the resulting set in the HandshakeResult.

Boolean permissions

A boolean permission authorises an action.

Identifier Grants Relevant to
game.transmit Opening transmitter sessions (roles 2 and 3). SimTX API/Transmitter session
catalog.publish Uploading to and deleting from the extension catalog. Also required to obtain a control game ticket. SimTX API/Extension catalog protocol
session.queue_skip Never waiting in the transmitter queue. When the server is full, such a request is rejected instead of queued. TxQueue
tx.pa_override The amplifier's nominal power follows the requested power instead of the simulated equipment's rating. TransmitterSessionRequest
monitor.any Monitoring any transmitter, solo receivers, and client addresses in health reports. SimTX API/Moderation session
moderation.manage The moderation role: kicks, bans, banners, stations with addresses. SimTX API/Moderation session
proxy.forward_client_ip Sending ForwardedClientAddress on behalf of proxied receivers. SimTX API/Receiver session
accounts.admin, awards.manage Administration of the account service. Not used by game servers.

Which of these an account holds depends on its roles. The HandshakeResult of an authenticated connection lists them.

Numeric capabilities

A numeric capability encodes a limit in its last segment. When several roles grant values from the same family, the largest value applies.

Family Example Meaning Range
game.max_stations.N game.max_stations.8 At most N simultaneous transmitters for the account. 1–10,000
game.max_receivers.N game.max_receivers.4 At most N simultaneous authenticated receivers. 1–10,000
game.max_sessions.N game.max_sessions.12 At most N simultaneous authenticated receiver and transmitter sessions in total. 1–10,000
tx.pa_limit.N tx.pa_limit.400 Transmitter power is capped at N watts, both in the request and in live updates. 1–1,000,000

An account without any game.max_stations capability may run 3 transmitters. Account capabilities are applied in addition to each server's own limits and cannot raise them. See SimTX API/Limits and errors.

Client software should read these values from the HandshakeResult and show them, for example as the maximum of a power slider, rather than letting users discover them by trial.

Scopes

A credential's scope is a list of permission identifiers, chosen during device login or when creating a personal credential. A scope never adds permissions. When a game ticket is requested, the service uses the permissions that are both in the credential's scope and held by the account on that server.

  • An empty scope at device login means every permission the account held when the user approved the login.
  • Unknown identifiers are rejected with 400 scope_invalid. Numeric capabilities are accepted in scopes if they are well formed and within range.
  • Request the minimum. A transmitter needs game.transmit; a catalog publishing tool needs catalog.publish; a receiver needs no credential at all.

Server-specific grants

Roles and grants can be limited to a single server. They take effect only in tickets for that server, and appear only in the HandshakeResult of connections to it.

SimTX API reference (protocol v25)
Start OverviewQuick startFramingData typesPacket listSchemaLimits and errorsCompatibility and versioning
Account service OverviewDevice loginServer directoryStation endpointsGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeSession statusReceiver sessionTransmitter sessionControl sessionCatalogModeration
Stations StationsSatellitesTracking and pointing
Connection ClientHelloPingServerHelloPongErrorBanner
Session AntennaPointingUpdateSessionStatus
Receiver ForwardedClientAddressReceiverStartReceiverRetuneIqStreamDescriptorIqBlock
Transmitter TransmitterStartSampleBlockTxUpdateTxModeInfoTxQueueTxAcceptTxTelemetryTxUpdateAck
Control ListStationsStartMonitorStopMonitorWeatherMapRequestServerHealthRequestCoverageMapRequestEphemerisRequestPassPredictionRequestStationListMonitorBlockMonitorEndWeatherMapResponseServerHealthReportCoverageMapResponseEphemerisResponsePassPredictionResponseMonitorAck
Catalog CatalogListRequestCatalogFetchCatalogUploadCatalogDeleteCatalogListCatalogEntryCatalogUploadResultCatalogDeleteResult
Moderation KickRequestIpModerationRequestBroadcastBannerKickResultIpModerationResultStationImpactList
Archive Protocol v24 reference