schemas/commodity: gameversion & gamebuild in header

This commit is contained in:
Athanasius 2022-09-27 14:39:52 +01:00
parent 9a9e0f0991
commit 0bc7c90dfb
No known key found for this signature in database
GPG Key ID: 8C392035DD80FD62
2 changed files with 38 additions and 0 deletions

View File

@ -60,6 +60,34 @@ Remove not only the `Category_Localised` key:values, but also the
Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags)
in the Developers' documentation.
#### gameversion
You **MUST** always add this field **to the header object**.
1. If you are using Journal files directly then you **MUST** use the value
of the `gameversion` element from the`Fileheader` event.
2. If you are using the CAPI `/journal` endpoint to retrieve and process
Journal events then:
1. You will not have `Fileheader` available.
2. If `gameversion` is present in the `LoadGame` event, as in 4.0 clients,
use its value.
3. If `LoadGame` does not have a `gameversion` element, as with 3.8 Horizons
clients (up to at least `3.8.0.407`), you **MUST** set `gameversion`, but
with the value `"CAPI"`.
#### gamebuild
You **MUST** always add this field **to the header object**.
1. If you are using Journal files directly then you **MUST** use the value
of the `build` value from the`Fileheader` event.
2. If you are using the CAPI `/journal` endpoint to retrieve and process
Journal events then:
1. You will not have `Fileheader` available.
2. If `build` is present in the `LoadGame` event, as in 4.0 clients, use
its value.
3. If `LoadGame` does not have a `build` element, as with 3.8 Horizons
clients (up to at least `3.8.0.407`), you **MUST** set `gamebuild`, but
with the value `"CAPI"`.
### Using CAPI data
It is *not* recommended to use CAPI data as the source as it's fraught with
additional issues. EDMarketConnector does so in order to facilitate

View File

@ -16,6 +16,16 @@
"uploaderID": {
"type" : "string"
},
"gameversion": {
"type" : "string",
"minLength" : 1,
"description" : "From Fileheader event if available, else LoadGame if available there."
},
"gamebuild": {
"type" : "string",
"minLength" : 1,
"description" : "The `build` value from a Fileheader event if available, else LoadGame if available there."
},
"softwareName": {
"type" : "string"
},