-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yml
240 lines (234 loc) · 8.19 KB
/
openapi.yml
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
openapi: '3.0.2'
info:
title: Formula Bun API
version: '1.0'
servers:
- url: https://api.formulabun.club/
components:
schemas:
link:
title: Link
type: object
properties:
links:
type: array
items:
type: object
properties:
rel:
type: string
example: discord
url:
type: string
example: http://api.formulabun.club/discord
srb2HeaderData:
type: object
properties:
type:
type: string
example: Buffer
data:
type: array
items:
type: integer
example:
- 0
- 4
srb2HeaderObject:
type: object
properties:
checksum:
$ref: '#/components/schemas/srb2HeaderData'
ack:
$ref: '#/components/schemas/srb2HeaderData'
ackret:
$ref: '#/components/schemas/srb2HeaderData'
packettype:
$ref: '#/components/schemas/srb2HeaderData'
srb2Headers:
title: SRB2 Headers
type: object
properties:
header:
$ref: '#/components/schemas/srb2HeaderObject'
paths:
/:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/link'
/servers:
get:
responses:
'302':
description: Redirect
headers:
Location:
schema:
type: string
example: https://api.formulabun.club/servers/main
/servers/{server}:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/link'
parameters:
- name: server
in: path
required: true
schema:
type: string
/servers/{server}/players:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- properties:
playerinfo:
type: array
example: []
- $ref: '#/components/schemas/srb2Headers'
/servers/{server}/server:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/srb2Headers'
- properties:
fileneeded:
type: array
items:
type: object
properties:
filestatus:
type: integer
example: 17
filesize:
type: integer
example: 69243
filename:
type: string
example: KL_HOSTMOD_V16.pk3
checksum:
$ref: '#/components/schemas/srb2HeaderData'
magic:
type: integer
example: -1
packetversion:
type: integer
example: 0
application:
type: string
description: The name of the application used to connect to the server.
example: SRB2Kart
version:
type: integer
description: The major version of the application used to connect to the server.
example: 1
subversion:
type: integer
description: The minor version of the application used to connect to the server.
example: 3
numberofplayers:
type: integer
description: The number of players that are connected to the server at present.
example: 0
maxplayers:
type: integer
description: The maximum number of players that the server will allow at any one time.
example: 15
gametype:
type: integer
description: |
The gametype that is currently active. Can be one of the following:
| Number | Game type |
|--------|------------------|
| 0 | Single Player |
| 1 | Competition |
| 2 | Race |
| 3 | Match |
| 4 | Team Match |
| 5 | Tag |
| 6 | Hide and Seek |
| 7 | Capture the Flag |
This comes from Sonic Robo Blast 2, and may not reflect server events (e.g. Combi-Ring or Frontrun).
example: 2
modifiedgame:
type: integer
description: |
Returns 1 if the game has been modified, e.g. by way of loading mods.
example: 1
cheatsenabled:
type: integer
description: |
Returns 1 if cheats have been enabled. Presumably, if the server is Hard speed, cheats will have been used to enable that.
example: 1
kartvars:
type: integer
example: 98
fileneedednum:
type: integer
description: The number of files that must be loaded in order to join the server. These files can be found at the `fileneeded` key.
example: 22
time:
type: integer
example: 543
leveltime:
type: integer
description: The number of seconds since the current race began.
example: 803441
servername:
type: string
description: The name of the server.
example: "[EU] formulabun"
mapname:
type: string
description: The identifier of the active map.
example: MAPKO
maptitle:
type: string
description: The title of the active map.
example: The Untitled
mapmd5:
$ref: '#/components/schemas/srb2HeaderData'
actnum:
type: integer
example: 0
iszon:
type: integer
example: 1
httpsource:
type: string
description: Presumably, the source used to download files listed in `fileneeded` before connection to the server.
example: http://www.formulabun.club/repo
/discord:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: object
properties:
url:
type: string
example: https://cdn.discordapp.com/attachments/915363224499650590/946520198154965032/kart0000voltechinstantkarma.gif