Sync with master (#238)

This commit is contained in:
clonedArtie authored and GitHub committed 2026-06-17 14:59:35 +02:00
1 parent 30d4d3d31f
commit e32d3ecbd2
11 files changed
+316 -18

No files matched your search

+2 -9
View File
@@ -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.
+43
View File
@@ -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"
},
+11 -6
View File
@@ -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"
}
}
}
+42
View 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
View 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
View 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
View 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" ] } }
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
# EDDN FSSAllBodiesFound Schema
# EDDN FSSBodySignals Schema
## Introduction
Here we document how to take data from an ED `FSSBodySignals` Journal
+4
View File
@@ -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
View File
@@ -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)
+6 -1
View File
@@ -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 = [