mirror of
https://github.com/EDCD/EDDN.git
synced 2025-06-08 11:22:13 +03:00
Update from the master (#221)
* "Typo" in headline Since this is the Readme for FSSBodySignals the Headline wrongly contains FSSAllBodiesFound. * Update README.md to remove mention of EDDB EDDB is now defunct and its links are dead. * added update 17 schema changes, also protected from additional properties approachsettlement gets station data fsssignaldiscovered gets signaltype * additionalproperties in correct place * added factionstate and stationfaction * Shorten uploaderID hash persistence duration * added stationtype and carrierDockingAccess (#220) * added stationtype * removed specific ellision of stationType --------- Co-authored-by: Gareth Harper <git@spansh.co.uk> * Added docking denied and granted (#219) * added docking denied and granted * made reason mandatory --------- Co-authored-by: Gareth Harper <git@spansh.co.uk> --------- Co-authored-by: Lord Asrothear <lord@asrothear.de> Co-authored-by: Rob <robxp@hotmail.com> Co-authored-by: Avraham Adler <aadler@users.noreply.github.com> Co-authored-by: Gareth Harper <git@spansh.co.uk> Co-authored-by: spansh <spansh@users.noreply.github.com>
This commit is contained in:
parent
c68de548ee
commit
a43ae037fa
@ -51,6 +51,14 @@
|
|||||||
"renamed" : "StarSystem",
|
"renamed" : "StarSystem",
|
||||||
"minLength" : 1
|
"minLength" : 1
|
||||||
},
|
},
|
||||||
|
"stationType": {
|
||||||
|
"type" : "string",
|
||||||
|
"renamed" : "StationType"
|
||||||
|
},
|
||||||
|
"carrierDockingAccess": {
|
||||||
|
"type" : "string",
|
||||||
|
"renamed" : "CarrierDockingAccess"
|
||||||
|
},
|
||||||
"marketId": {
|
"marketId": {
|
||||||
"type" : "integer",
|
"type" : "integer",
|
||||||
"renamed" : "MarketID"
|
"renamed" : "MarketID"
|
||||||
@ -160,10 +168,6 @@
|
|||||||
"type" : "string",
|
"type" : "string",
|
||||||
"minLength" : 1
|
"minLength" : 1
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"StationType": {
|
|
||||||
"$ref" : "#/definitions/disallowed",
|
|
||||||
"description" : "Not present in CAPI data, so removed from Journal-sourced data"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
42
schemas/dockingdenied-README.md
Normal file
42
schemas/dockingdenied-README.md
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# EDDN DockingDenied Schema
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
Here we document how to take data from an ED `` Journal
|
||||||
|
Event and properly structure it for sending to EDDN.
|
||||||
|
|
||||||
|
Please consult [EDDN Schemas README](./README-EDDN-schemas.md) for general
|
||||||
|
documentation for a schema such as this.
|
||||||
|
|
||||||
|
If you find any discrepancies between what this document says and what is
|
||||||
|
defined in the relevant Schema file, then you should, in the first instance,
|
||||||
|
assume that it is the Schema file that is correct.
|
||||||
|
**PLEASE open
|
||||||
|
[an issue on GitHub](https://github.com/EDCD/EDDN/issues/new/choose)
|
||||||
|
to report any such anomalies you find so that we can check and resolve the
|
||||||
|
discrepancy.**
|
||||||
|
|
||||||
|
## Senders
|
||||||
|
The primary data source for this schema is the ED Journal event
|
||||||
|
`DockingDenied`.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"timestamp":"2022-06-10T10:09:41Z",
|
||||||
|
"event":"DockingDenied",
|
||||||
|
"Reason":"RestrictedAccess",
|
||||||
|
"MarketID":3706117376,
|
||||||
|
"StationName":"V7G-T1G",
|
||||||
|
"StationType":"FleetCarrier"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Augmentations
|
||||||
|
#### horizons and odyssey flags
|
||||||
|
Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags)
|
||||||
|
in the Developers' documentation.
|
||||||
|
|
||||||
|
#### gameversion and gamebuild
|
||||||
|
You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild)
|
||||||
|
of the Developers' documentation.
|
82
schemas/dockingdenied-v1.0.json
Normal file
82
schemas/dockingdenied-v1.0.json
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"$schema" : "http://json-schema.org/draft-04/schema#",
|
||||||
|
"id" : "https://eddn.edcd.io/schemas/dockingdenied/1#",
|
||||||
|
"type" : "object",
|
||||||
|
"additionalProperties" : false,
|
||||||
|
"required": [ "$schemaRef", "header", "message" ],
|
||||||
|
"properties": {
|
||||||
|
"$schemaRef": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"type" : "object",
|
||||||
|
"additionalProperties" : true,
|
||||||
|
"required" : [ "uploaderID", "softwareName", "softwareVersion" ],
|
||||||
|
"properties" : {
|
||||||
|
"uploaderID": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"gameversion": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "From Fileheader event if available, else LoadGame if available there."
|
||||||
|
},
|
||||||
|
"gamebuild": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "The `build` value from a Fileheader event if available, else LoadGame if available there."
|
||||||
|
},
|
||||||
|
"softwareName": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"softwareVersion": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"gatewayTimestamp": {
|
||||||
|
"type" : "string",
|
||||||
|
"format" : "date-time",
|
||||||
|
"description" : "Timestamp upon receipt at the gateway. If present, this property will be overwritten by the gateway; submitters are not intended to populate this property."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type" : "object",
|
||||||
|
"description" : "Contains all properties from the listed events in the client's journal minus the Localised strings and the properties marked below as 'disallowed'",
|
||||||
|
"additionalProperties" : false,
|
||||||
|
"required" : [ "timestamp", "event", "MarketID", "StationName", "Reason" ],
|
||||||
|
"properties" : {
|
||||||
|
"timestamp": {
|
||||||
|
"type" : "string",
|
||||||
|
"format" : "date-time"
|
||||||
|
},
|
||||||
|
"event" : {
|
||||||
|
"enum" : [ "DockingDenied" ]
|
||||||
|
},
|
||||||
|
"horizons": {
|
||||||
|
"type" : "boolean",
|
||||||
|
"description" : "Whether the sending Cmdr has a Horizons pass."
|
||||||
|
},
|
||||||
|
"odyssey": {
|
||||||
|
"type" : "boolean",
|
||||||
|
"description" : "Whether the sending Cmdr has an Odyssey expansion."
|
||||||
|
},
|
||||||
|
"MarketID": {
|
||||||
|
"type" : "integer"
|
||||||
|
},
|
||||||
|
"StationName": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Name of station"
|
||||||
|
},
|
||||||
|
"StationType": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Type of station"
|
||||||
|
},
|
||||||
|
"Reason": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Reason docking was denied"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"definitions": {
|
||||||
|
"disallowed" : { "not" : { "type": [ "array", "boolean", "integer", "number", "null", "object", "string" ] } }
|
||||||
|
}
|
||||||
|
}
|
42
schemas/dockinggranted-README.md
Normal file
42
schemas/dockinggranted-README.md
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# EDDN DockingGranted Schema
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
Here we document how to take data from an ED `` Journal
|
||||||
|
Event and properly structure it for sending to EDDN.
|
||||||
|
|
||||||
|
Please consult [EDDN Schemas README](./README-EDDN-schemas.md) for general
|
||||||
|
documentation for a schema such as this.
|
||||||
|
|
||||||
|
If you find any discrepancies between what this document says and what is
|
||||||
|
defined in the relevant Schema file, then you should, in the first instance,
|
||||||
|
assume that it is the Schema file that is correct.
|
||||||
|
**PLEASE open
|
||||||
|
[an issue on GitHub](https://github.com/EDCD/EDDN/issues/new/choose)
|
||||||
|
to report any such anomalies you find so that we can check and resolve the
|
||||||
|
discrepancy.**
|
||||||
|
|
||||||
|
## Senders
|
||||||
|
The primary data source for this schema is the ED Journal event
|
||||||
|
`DockingGranted`.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"timestamp":"2023-10-01T14:56:34Z",
|
||||||
|
"event":"DockingGranted",
|
||||||
|
"LandingPad":41,
|
||||||
|
"MarketID":3227312896,
|
||||||
|
"StationName":"Evans Horizons",
|
||||||
|
"StationType":"Coriolis"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Augmentations
|
||||||
|
#### horizons and odyssey flags
|
||||||
|
Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags)
|
||||||
|
in the Developers' documentation.
|
||||||
|
|
||||||
|
#### gameversion and gamebuild
|
||||||
|
You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild)
|
||||||
|
of the Developers' documentation.
|
82
schemas/dockinggranted-v1.0.json
Normal file
82
schemas/dockinggranted-v1.0.json
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"$schema" : "http://json-schema.org/draft-04/schema#",
|
||||||
|
"id" : "https://eddn.edcd.io/schemas/dockinggranted/1#",
|
||||||
|
"type" : "object",
|
||||||
|
"additionalProperties" : false,
|
||||||
|
"required": [ "$schemaRef", "header", "message" ],
|
||||||
|
"properties": {
|
||||||
|
"$schemaRef": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"type" : "object",
|
||||||
|
"additionalProperties" : true,
|
||||||
|
"required" : [ "uploaderID", "softwareName", "softwareVersion" ],
|
||||||
|
"properties" : {
|
||||||
|
"uploaderID": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"gameversion": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "From Fileheader event if available, else LoadGame if available there."
|
||||||
|
},
|
||||||
|
"gamebuild": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "The `build` value from a Fileheader event if available, else LoadGame if available there."
|
||||||
|
},
|
||||||
|
"softwareName": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"softwareVersion": {
|
||||||
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"gatewayTimestamp": {
|
||||||
|
"type" : "string",
|
||||||
|
"format" : "date-time",
|
||||||
|
"description" : "Timestamp upon receipt at the gateway. If present, this property will be overwritten by the gateway; submitters are not intended to populate this property."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type" : "object",
|
||||||
|
"description" : "Contains all properties from the listed events in the client's journal minus the Localised strings and the properties marked below as 'disallowed'",
|
||||||
|
"additionalProperties" : false,
|
||||||
|
"required" : [ "timestamp", "event", "MarketID", "StationName" ],
|
||||||
|
"properties" : {
|
||||||
|
"timestamp": {
|
||||||
|
"type" : "string",
|
||||||
|
"format" : "date-time"
|
||||||
|
},
|
||||||
|
"event" : {
|
||||||
|
"enum" : [ "DockingGranted" ]
|
||||||
|
},
|
||||||
|
"horizons": {
|
||||||
|
"type" : "boolean",
|
||||||
|
"description" : "Whether the sending Cmdr has a Horizons pass."
|
||||||
|
},
|
||||||
|
"odyssey": {
|
||||||
|
"type" : "boolean",
|
||||||
|
"description" : "Whether the sending Cmdr has an Odyssey expansion."
|
||||||
|
},
|
||||||
|
"MarketID": {
|
||||||
|
"type" : "integer"
|
||||||
|
},
|
||||||
|
"StationName": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Name of station"
|
||||||
|
},
|
||||||
|
"StationType": {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Type of station"
|
||||||
|
},
|
||||||
|
"LandingPad": {
|
||||||
|
"type" : "integer",
|
||||||
|
"description" : "Pad number Cmdr was granted landing to"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"definitions": {
|
||||||
|
"disallowed" : { "not" : { "type": [ "array", "boolean", "integer", "number", "null", "object", "string" ] } }
|
||||||
|
}
|
||||||
|
}
|
@ -79,7 +79,7 @@ def stats():
|
|||||||
|
|
||||||
class Relay(Thread):
|
class Relay(Thread):
|
||||||
|
|
||||||
REGENERATE_UPLOADER_NONCE_INTERVAL = 12 * 60 * 60 # 12 hrs
|
REGENERATE_UPLOADER_NONCE_INTERVAL = 3 * 60 # 3 minutes, was 12 hrs
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super(Relay, self).__init__(**kwargs)
|
super(Relay, self).__init__(**kwargs)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user