Jump to content

SimTX API/Packets/CatalogList: Difference between revisions

From SimTX Wiki
Clanker (talk | contribs)
Clanker moved page SimTX API/Packets/CatalogList to SimTX API v24/Packets/CatalogList: Archive the v24 protocol reference
Tag: New redirect
 
Clanker (talk | contribs)
Protocol v25 reference: CatalogList
Tag: Removed redirect
 
Line 1: Line 1:
#REDIRECT [[SimTX API v24/Packets/CatalogList]]
{{SimTX API navigation}}
{{SimTX packet
| name = CatalogList
| frame = ServerFrame
| field = 36
| member = catalog_list
| direction = s2c
| session = [[SimTX API/Extension catalog protocol|Control (catalog)]]
| roles = <code>ROLE_CONTROL</code>.
| permission = None
| answers = [[SimTX API/Packets/CatalogListRequest|CatalogListRequest]]
| group = catalog
| file = control.proto
}}
'''CatalogList''' is the index of the [[SimTX API/Extension catalog protocol|extension catalog]]: one summary per entry, without file contents. Fetch an entry's files with [[SimTX API/Packets/CatalogFetch|CatalogFetch]].
 
== Definition ==
<syntaxhighlight lang="protobuf">
message CatalogList { int64 request_id = 1; repeated CatalogEntrySummary entries = 2; }
</syntaxhighlight>
 
== Fields ==
{| class="wikitable"
! # !! Field !! Type !! Description
|-
| 1 || <code>request_id</code> || <code>int64</code> || The request this answers.
|-
| 2 || <code>entries</code> || <code>repeated</code> [[#CatalogEntrySummary|CatalogEntrySummary]] || One summary per entry, ordered by kind, then name.
|}
 
=== CatalogEntrySummary ===
<syntaxhighlight lang="protobuf">
message CatalogEntrySummary {
  int32 id = 1;
  string kind = 2;
  string name = 3;
  string description = 4;
  string author = 5;
  int32 size_bytes = 6;
  int32 file_count = 7;
  repeated string types = 8;      // catalog types (string enum, common.proto)
  repeated string categories = 9;
  string package_id = 10;
  string package_version = 11;
  repeated CatalogDependency dependencies = 12;
  int32 revision = 13;
  int64 uploaded_at_ms = 14;
}
</syntaxhighlight>
{| class="wikitable"
! # !! Field !! Type !! Description
|-
| 1 || <code>id</code> || <code>int32</code> || Entry ID. Stable across revisions.
|-
| 2 || <code>kind</code> || <code>string</code> || <code>extension</code> or <code>preset</code>.
|-
| 3 || <code>name</code> || <code>string</code> || Entry name.
|-
| 4 || <code>description</code> || <code>string</code> || Description, possibly empty.
|-
| 5 || <code>author</code> || <code>string</code> || Display name of the publishing account.
|-
| 6 || <code>size_bytes</code> || <code>int32</code> || Total size of the files.
|-
| 7 || <code>file_count</code> || <code>int32</code> || Number of files.
|-
| 8 || <code>types</code> || <code>repeated string</code> || [[SimTX API/Data types#Catalog type|Catalog type]] names. Skip names you do not know.
|-
| 9 || <code>categories</code> || <code>repeated string</code> || Free-text categories chosen by the author.
|-
| 10 || <code>package_id</code> || <code>string</code> || Extension package ID from the manifest, for example <code>com.example.beacon</code>. Empty for presets.
|-
| 11 || <code>package_version</code> || <code>string</code> || Package version (semantic versioning). Empty for presets.
|-
| 12 || <code>dependencies</code> || <code>repeated</code> [[#CatalogDependency|CatalogDependency]] || Packages this extension requires.
|-
| 13 || <code>revision</code> || <code>int32</code> || Revision number, starting at 1. Increases with every update by the owner.
|-
| 14 || <code>uploaded_at_ms</code> || <code>int64</code> || Time of the latest revision, Unix ms.
|}
 
=== CatalogDependency ===
<syntaxhighlight lang="protobuf">
message CatalogDependency {
  string id = 1;
  string version_range = 2;
}
</syntaxhighlight>
{| class="wikitable"
! # !! Field !! Type !! Description
|-
| 1 || <code>id</code> || <code>string</code> || Package ID of the required extension.
|-
| 2 || <code>version_range</code> || <code>string</code> || Accepted versions, as in the [[Lua extension manifest|manifest]].
|}
 
== Catalog types ==
{| class="wikitable"
! Name !! Display name
|-
| <code>MODULATION</code> || Modulation
|-
| <code>AUDIO_ADDON</code> || Audio add-on
|-
| <code>THEME</code> || Theme
|-
| <code>ACTION</code> || Tool / action
|-
| <code>LIBRARY</code> || Library
|-
| <code>PRESET</code> || Preset
|}
 
Skip, rather than reject, a type name you do not know.
 
== See also ==
* [[Extension catalog]]
* [[Lua extension manifest]]
 
{{SimTX API navbox}}
[[Category:SimTX API]]

Latest revision as of 16:44, 24 October 2026

CatalogList
Frame ServerFrame, field 36
Member catalog_list
Direction Server → client
Session Control (catalog)
Roles ROLE_CONTROL.
Permission None
Answered by
Answers CatalogListRequest
Defined in control.proto

CatalogList is the index of the extension catalog: one summary per entry, without file contents. Fetch an entry's files with CatalogFetch.

Definition[edit | edit source]

message CatalogList { int64 request_id = 1; repeated CatalogEntrySummary entries = 2; }

Fields[edit | edit source]

# Field Type Description
1 request_id int64 The request this answers.
2 entries repeated CatalogEntrySummary One summary per entry, ordered by kind, then name.

CatalogEntrySummary[edit | edit source]

message CatalogEntrySummary {
  int32 id = 1;
  string kind = 2;
  string name = 3;
  string description = 4;
  string author = 5;
  int32 size_bytes = 6;
  int32 file_count = 7;
  repeated string types = 8;       // catalog types (string enum, common.proto)
  repeated string categories = 9;
  string package_id = 10;
  string package_version = 11;
  repeated CatalogDependency dependencies = 12;
  int32 revision = 13;
  int64 uploaded_at_ms = 14;
}
# Field Type Description
1 id int32 Entry ID. Stable across revisions.
2 kind string extension or preset.
3 name string Entry name.
4 description string Description, possibly empty.
5 author string Display name of the publishing account.
6 size_bytes int32 Total size of the files.
7 file_count int32 Number of files.
8 types repeated string Catalog type names. Skip names you do not know.
9 categories repeated string Free-text categories chosen by the author.
10 package_id string Extension package ID from the manifest, for example com.example.beacon. Empty for presets.
11 package_version string Package version (semantic versioning). Empty for presets.
12 dependencies repeated CatalogDependency Packages this extension requires.
13 revision int32 Revision number, starting at 1. Increases with every update by the owner.
14 uploaded_at_ms int64 Time of the latest revision, Unix ms.

CatalogDependency[edit | edit source]

message CatalogDependency {
  string id = 1;
  string version_range = 2;
}
# Field Type Description
1 id string Package ID of the required extension.
2 version_range string Accepted versions, as in the manifest.

Catalog types[edit | edit source]

Name Display name
MODULATION Modulation
AUDIO_ADDON Audio add-on
THEME Theme
ACTION Tool / action
LIBRARY Library
PRESET Preset

Skip, rather than reject, a type name you do not know.

See also[edit | edit source]

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