diff --git a/schemas/README-EDDN-schemas.md b/schemas/README-EDDN-schemas.md index b4651d8..3de98f6 100644 --- a/schemas/README-EDDN-schemas.md +++ b/schemas/README-EDDN-schemas.md @@ -268,6 +268,39 @@ changes to your code. It is also advisable to Watch this repository on GitHub so as to be aware of any changes to schemas. +#### `horizons` and `odyssey` flags + +Where the schema allows for them, add the `horizons` and `odyssey` +keys with boolean values. `null` is not allowed in the values, so if +you cannot determine a value do not include that key at all. The best +source of these is the `LoadGame` event from journals. It's present +both in the PC local files and the CAPI journal data. If you're +composing a shipyard or outfitting message from CAPI data then it is +possible to synthesise the `horizons` flag. For now consult the function +`capi_is_horizons()` in +[EDMarketConnector:plugins/eddn.py](https://github.com/EDCD/EDMarketConnector/blob/stable/plugins/eddn.py) +for a method to achieve this. + +As of 2022-01-22 the following was observed for the `LoadGame` events as +present in CAPI-sourced Journal files (which were confirmed to match the +PC-local files for these events): + +- PC Odyssey Client, game version `4.0.0.1002`: + ```json + { "timestamp":"2022-01-20T11:15:22Z", "event":"LoadGame", "FID":"F", "Commander":"", "Horizons":true, "Odyssey":true,... + ``` +- PC Horizons Client, game version `3.8.0.403`, no `Odyssey` key was + present: + ```json + { "timestamp":"2022-01-20T11:20:17Z", "event":"LoadGame", "FID":"F", "Commander":"", "Horizons":true,... + ``` + +- PC 'base' Client, game version `3.8.0.403`, no `Odyssey` key was + present: + ```json + { "timestamp":"2022-01-20T11:22:54Z", "event":"LoadGame", "FID":"F", "Commander":"", "Horizons":false,... + ``` + ### Server responses There are three possible sources of HTTP responses when sending an upload to EDDN. @@ -299,8 +332,10 @@ make a valid request" responses you might experience the following: #### bottle responses 1. `413` - `Payload Too Large` - `bottle` enforces a maximum request size - and the request exceeds that. As of 2022-01-07 the limit is 1MiB, and - pertains to the plain-text size, not after gzip compression if used. + and the request exceeds that. As of 2022-01-07 the limit is 1MiB, + which is versus the compressed size of the body, if compression is + used. Thus compression *will* allow for sending approximately 10x + larger messages. To verify the current limit check for the line that looks like: ```