-
Notifications
You must be signed in to change notification settings - Fork 136
Expand file tree
/
Copy pathScreamAPI.schema.json
More file actions
121 lines (121 loc) · 5 KB
/
ScreamAPI.schema.json
File metadata and controls
121 lines (121 loc) · 5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/acidicoala/ScreamAPI/refs/tags/v4.0.0/res/ScreamAPI.schema.json",
"title": "ScreamAPI configuration",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "URL of a JSON Schema that corresponds to this config.",
"x-default": "[ScreamAPI.schema.json](res/ScreamAPI.schema.json)",
"x-valid-values": "URL to a valid ScreamAPI config JSON schema."
},
"$version": {
"type": "integer",
"description": "Reserved for use by tools like GUI config editors.",
"const": 3,
"x-valid-values": "Integer numbers from 1 and beyond."
},
"logging": {
"type": "boolean",
"description": "Enables logging to ScreamAPI.log.log file.",
"default": false,
"x-packaged-default": true,
"x-valid-values": "`true` or `false`."
},
"log_eos": {
"type": "boolean",
"description": "Enables or disables interception of EOS SDK logs. Requires 'logging' to be enabled.",
"default": false,
"x-valid-values": "`true` or `false`."
},
"block_metrics": {
"type": "boolean",
"description": "Blocks reporting of analytics and usage metrics by the game to Epic Online Services. Metrics sent by EOS SDK itself remain unaffected.",
"default": false,
"x-valid-values": "`true` or `false`."
},
"namespace_id": {
"type": "string",
"description": "Namespace ID of the game that is used when fetching entitlements. Normally ScreamAPI will automatically get this during EOS SDK initialization. However, in case of late injection, this option can be used to provide the game's namespace ID.",
"default": "",
"x-valid-values": "Namespace ID of any game can be found on [{{ dlc_database }}]({{ dlc_database_url }})."
},
"default_dlc_status": {
"type": "string",
"description": "Specifies default DLC status.",
"enum": [
"unlocked",
"locked",
"original"
],
"default": "unlocked",
"x-valid-values": "`\"unlocked\"` or `\"locked\"` or `\"original\"`."
},
"override_dlc_status": {
"type": "object",
"description": "Overrides the status of individual DLCs. An object with \"key\": \"value\" pairs, where key is DLC ID (32-character hex string) and value is DLC status.",
"default": {},
"additionalProperties": {
"type": "string",
"enum": [
"unlocked",
"locked",
"original"
]
},
"propertyNames": {
"pattern": "^[a-fA-F0-9]{32}$"
},
"x-valid-values": "An object with `\"key\": \"value\"` pairs, where key is DLC ID and value is DLC status."
},
"extra_graphql_endpoints": {
"type": "array",
"description": "When a game requests all available entitlements ScreamAPI has to make a request to a valid Epic Games GraphQL endpoint to fetch this information. This means that when Epic Games changes their endpoints, ScreamAPI loses ability to automatically fetch entitlements. This where this option becomes useful, allowing users to specify latest GraphQL endpoint (or several).",
"default": [],
"items": {
"type": "string",
"format": "uri"
},
"x-valid-values": "An array of valid GraphQL endpoints (`[\"https://...\"]`)."
},
"extra_entitlements": {
"type": "object",
"description": "Additional entitlements that ScreamAPI will inject when a game requests all entitlements owned by the player. There is usually no need to manually entitlement IDs because ScreamAPI will automatically fetch them from Epic Games Store servers. However, if the servers are not accessible then this option becomes useful.",
"default": {},
"additionalProperties": {
"type": "string"
},
"propertyNames": {
"pattern": "^[a-fA-F0-9]{32}$"
},
"x-valid-values": "An object with `\"key\": \"value\"` pairs, where key is DLC IDand value is DLC title. Title is used only for logging, hence it can be left empty (i.e. `\"\"`)."
}
},
"required": [],
"additionalProperties": false,
"examples": [
{
"$schema": "https://raw.githubusercontent.com/acidicoala/ScreamAPI/refs/tags/v4.0.0/res/ScreamAPI.schema.json",
"$version": 3,
"logging": true,
"log_eos": true,
"block_metrics": true,
"namespace_id": "115577f4ef1e4055aaf0da534fdfe81e",
"default_dlc_status": "unlocked",
"override_dlc_status": {
"89867f8b0e79421698e4705a72a48b49": "original",
"f462bd795cc04772b0c285349bd61cc6": "unlocked",
"72620675f0e549f39d8e28b77fb88303": "locked"
},
"extra_graphql_endpoints": [
"https://launcher.store.epicgames.com/graphql",
"https://graphql.unrealengine.com/ue/graphql"
],
"extra_entitlements": {
"fa7463c069a74d07aadf315df9b4e28b": "Big Top Breakout",
"89867f8b0e79421698e4705a72a48b49": "Dungeons and Duct Tape"
}
}
]
}