Skip to content

Commit 3895b33

Browse files
authored
Add RLBot toml schemas (#63)
1 parent e7c760e commit 3895b33

File tree

2 files changed

+529
-0
lines changed

2 files changed

+529
-0
lines changed

schemas/agent.json

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema",
3+
"$id": "https://rlbot.org/agent.json",
4+
"title": "RLBot agent",
5+
"description": "A bot or script for RLBot",
6+
"type": "object",
7+
"properties": {
8+
"settings": {
9+
"type": "object",
10+
"description": "The in-game applicable settings for the bot",
11+
"properties": {
12+
"agent_id": {
13+
"type": "string",
14+
"description": "The static, unique id that is associated with this bot. Preferred format is 'author/bot-name'."
15+
},
16+
"name": {
17+
"type": "string",
18+
"description": "The name of the bot/script"
19+
},
20+
"loadout_file": {
21+
"type": "string",
22+
"description": "The path to the loadout file for the bot. Ignored for scripts."
23+
},
24+
"root_dir": {
25+
"type": "string",
26+
"description": "A path to the root directory of the bot, e.g. './bin/'. The run_command will be run from the root directory.",
27+
"default": ""
28+
},
29+
"run_command": {
30+
"type": "string",
31+
"description": "Command RLBot can use to start the bot"
32+
},
33+
"run_command_linux": {
34+
"type": "string",
35+
"description": "Specialized command RLBot can use to start the bot on Linux"
36+
},
37+
"logo_file": {
38+
"type": "string",
39+
"description": "Relative path to logo image",
40+
"default": "logo.png"
41+
},
42+
"hivemind": {
43+
"type": "boolean",
44+
"description": "Whether all bot team mates with this agent id is controlled by the same process. Ignored for scripts."
45+
}
46+
},
47+
"required": ["agent_id", "name", "run_command"]
48+
},
49+
"details": {
50+
"type": "object",
51+
"description": "Optional details that will appear in RLBot's GUI",
52+
"properties": {
53+
"description": {
54+
"type": "string",
55+
"description": "A description of the bot/script"
56+
},
57+
"fun_fact": {
58+
"type": "string",
59+
"description": "A fun fact about the bot/script"
60+
},
61+
"source_link": {
62+
"type": "string",
63+
"format": "uri",
64+
"description": "A link to the source code of the bot/script"
65+
},
66+
"developer": {
67+
"type": "string",
68+
"description": "The developer(s) of the bot/script"
69+
},
70+
"language": {
71+
"type": "string",
72+
"description": "The language the bot/script is written in"
73+
},
74+
"tags": {
75+
"type": "array",
76+
"description": "A list of tags that describe the bot/script",
77+
"items": {
78+
"type": "string",
79+
"enum": [
80+
"1v1",
81+
"teamplay",
82+
"goalie",
83+
"hoops",
84+
"dropshot",
85+
"snow-day",
86+
"spike-rush",
87+
"heatseeker",
88+
"memebot"
89+
]
90+
},
91+
"uniqueItems": true
92+
}
93+
}
94+
}
95+
},
96+
"required": ["settings"]
97+
}

0 commit comments

Comments
 (0)