mirror of
https://github.com/EDCD/EDDN.git
synced 2026-10-22 20:42:10 +03:00
Sync with master (#238)
This commit is contained in:
1 parent
30d4d3d31f
commit
e32d3ecbd2
11 files changed
+316
-18
No files matched your search
@@ -65,14 +65,11 @@ then you're probably looking for one of the sites listed below. NB: These are
|
||||
listed in name-alphabetical order and no particular ranking or endorsement is
|
||||
intended.
|
||||
|
||||
- [EDDB](https://eddb.io/) - a website which tries to act as a database of all
|
||||
the data available in the game. In general EDDB tries to help finding
|
||||
stuff which players are looking for.
|
||||
- [EDSM](https://www.edsm.net/) - originally focused on being a 'Star Map',
|
||||
but has since expanded its functionality. Of particular interest to
|
||||
in-game explorers.
|
||||
- [Inara](https://inara.cz/) - a popular alternative to EDDB, with a lot of
|
||||
its own unique functionality.
|
||||
- [Inara](https://inara.cz/) - a popular alternative to the now defunct EDDB,
|
||||
with a lot of its own unique functionality.
|
||||
- [Spansh](https://www.spansh.co.uk/plotter) - originally this had one tool,
|
||||
a 'Neutron Star' route plotter, but has since expanded into offering many
|
||||
other route plotting tools and general data searching.
|
||||
@@ -91,10 +88,6 @@ use:
|
||||
large, but is currently the only source of an "all known bodies" dump.
|
||||
Pay attention to the 'Generated' "time ago" column.
|
||||
|
||||
- [EDDB dumps](https://eddb.io/api) represent a snapshot of the data EDDB uses.
|
||||
NB: There has been no "bodies" data for years now, EDDB itself stopped
|
||||
updating or adding to this.
|
||||
|
||||
- [EDSM nightly dumps](https://www.edsm.net/en/nightly-dumps) represent a
|
||||
snapshot of the data EDSM uses. NB: there's only a "last 7 days" bodies
|
||||
dump as the full data proved too large to dump in a timely manner.
|
||||
|
||||
@@ -70,6 +70,49 @@
|
||||
"maxItems" : 3,
|
||||
"description" : "Must be added by the sender"
|
||||
},
|
||||
"StationGovernment": {
|
||||
"type" : "string"
|
||||
},
|
||||
"StationAllegiance": {
|
||||
"type" : "string"
|
||||
},
|
||||
"StationEconomies": {
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "object",
|
||||
"additionalProperties" : false,
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type" : "string"
|
||||
},
|
||||
"Proportion": {
|
||||
"type" : "number"
|
||||
}
|
||||
},
|
||||
"patternProperties" : {
|
||||
"_Localised$" : { "$ref" : "#/definitions/disallowed" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"StationFaction": {
|
||||
"type" : "object",
|
||||
"additionalProperties" : false,
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type" : "string"
|
||||
},
|
||||
"FactionState": {
|
||||
"type" : "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StationServices": {
|
||||
"type" : "array",
|
||||
"items" : { "type": "string" }
|
||||
},
|
||||
"StationEconomy": {
|
||||
"type" : "string"
|
||||
},
|
||||
"SystemAddress": {
|
||||
"type" : "integer"
|
||||
},
|
||||
|
||||
@@ -44,13 +44,22 @@
|
||||
"properties" : {
|
||||
"systemName": {
|
||||
"type" : "string",
|
||||
"renamed" : "StarSystem",
|
||||
"minLength" : 1
|
||||
},
|
||||
"stationName": {
|
||||
"type" : "string",
|
||||
"renamed" : "StarSystem",
|
||||
"renamed" : "StationName",
|
||||
"minLength" : 1
|
||||
},
|
||||
"stationType": {
|
||||
"type" : "string",
|
||||
"renamed" : "StationType"
|
||||
},
|
||||
"carrierDockingAccess": {
|
||||
"type" : "string",
|
||||
"renamed" : "CarrierDockingAccess"
|
||||
},
|
||||
"marketId": {
|
||||
"type" : "integer",
|
||||
"renamed" : "MarketID"
|
||||
@@ -87,7 +96,7 @@
|
||||
},
|
||||
"buyPrice": {
|
||||
"type" : "integer",
|
||||
"renaamed" : "BuyPrice",
|
||||
"renamed" : "BuyPrice",
|
||||
"description" : "Price to buy from the market"
|
||||
},
|
||||
"stock": {
|
||||
@@ -160,10 +169,6 @@
|
||||
"type" : "string",
|
||||
"minLength" : 1
|
||||
}
|
||||
},
|
||||
"StationType": {
|
||||
"$ref" : "#/definitions/disallowed",
|
||||
"description" : "Not present in CAPI data, so removed from Journal-sourced data"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
@@ -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" ] } }
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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" ] } }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# EDDN FSSAllBodiesFound Schema
|
||||
# EDDN FSSBodySignals Schema
|
||||
|
||||
## Introduction
|
||||
Here we document how to take data from an ED `FSSBodySignals` Journal
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties" : false,
|
||||
"required": ["timestamp", "SignalName"],
|
||||
"description": "Single FSSSignalDiscovered event",
|
||||
"properties": {
|
||||
@@ -77,6 +78,7 @@
|
||||
"format" : "date-time"
|
||||
},
|
||||
"SignalName": { "type": "string" },
|
||||
"SignalType": { "type": "string" },
|
||||
"IsStation": { "type": "boolean" },
|
||||
"USSType": {
|
||||
"type": "string",
|
||||
@@ -87,6 +89,8 @@
|
||||
"TimeRemaining": {"$ref" : "#/definitions/disallowed"},
|
||||
"SpawningState": {"type": "string"},
|
||||
"SpawningFaction" : {"type": "string"},
|
||||
"SpawningPower" : {"type": "string"},
|
||||
"OpposingPower" : {"type": "string"},
|
||||
"ThreatLevel": {"type": "integer" },
|
||||
|
||||
"patternProperties": {
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ def stats():
|
||||
|
||||
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):
|
||||
super(Relay, self).__init__(**kwargs)
|
||||
|
||||
@@ -27,7 +27,7 @@ class _Settings(object):
|
||||
RELAY_SENDER_BINDINGS = ["tcp://*:9500"]
|
||||
|
||||
# If set to False, no deduplicate is made
|
||||
RELAY_DUPLICATE_MAX_MINUTES = 15
|
||||
RELAY_DUPLICATE_MAX_MINUTES = False
|
||||
|
||||
# If set to false, don't listen to topic and accept all incoming messages
|
||||
RELAY_RECEIVE_ONLY_GATEWAY_EXTRA_JSON = True
|
||||
@@ -90,6 +90,11 @@ class _Settings(object):
|
||||
|
||||
"https://eddn.edcd.io/schemas/fcmaterials_capi/1" : "schemas/fcmaterials_capi-v1.0.json",
|
||||
"https://eddn.edcd.io/schemas/fcmaterials_capi/1/test" : "schemas/fcmaterials_capi-v1.0.json",
|
||||
|
||||
"https://eddn.edcd.io/schemas/dockinggranted/1" : "schemas/dockinggranted-v1.0.json",
|
||||
"https://eddn.edcd.io/schemas/dockinggranted/1/test" : "schemas/dockinggranted-v1.0.json",
|
||||
"https://eddn.edcd.io/schemas/dockingdenied/1" : "schemas/dockingdenied-v1.0.json",
|
||||
"https://eddn.edcd.io/schemas/dockingdenied/1/test" : "schemas/dockingdenied-v1.0.json",
|
||||
}
|
||||
|
||||
GATEWAY_OUTDATED_SCHEMAS = [
|
||||
|
||||
Reference in new issue
Block a user