-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrlbot.fbs
64 lines (57 loc) · 2.46 KB
/
rlbot.fbs
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
include "comms.fbs";
include "gamedata.fbs";
include "gamestatemanip.fbs";
include "matchconfig.fbs";
include "rendering.fbs";
namespace rlbot.flat;
/// A client message to start a match using a path to a match config file.
table StartCommand {
config_path:string (required);
}
/// A client message to stop a match and optionally the RLBot server too.
table StopCommand {
// Whether RLBot should shutdown completely after stopping the match.
shutdown_server:bool;
}
/// Sent by clients when connecting to RLBot to indicate what type of messages are desired.
/// This could be sent by a bot, or a bot manager governing several bots, an
/// overlay, or any other utility that connects to the RLBot process.
table ConnectionSettings {
/// The ID of the bot/script that is associated with the incoming connection.
agent_id:string (required);
/// If this is set, RLBot will send BallPrediction data back to the client when available.
wants_ball_predictions:bool;
/// If this is set, RLBot will send MatchComms to the client when available.
wants_comms:bool;
/// If this is set, RLBot will close the connection when a match is stopped or when a new
/// match is started. The GUI and other match runners should likely not set this.
close_between_matches:bool;
}
/// A client message to change the loadout of a car.
/// If sent before the ready message, this simply sets the loadout of the car.
/// If sent after the ready message and if game state setting is enabled, this will respawn the car with the new loadout.
/// Bots can only set the loadout of their own car(s).
table SetLoadout {
/// The index of the car to change loadout off.
index:uint;
/// The new loadout of the car.
loadout:PlayerLoadout (required);
}
/// Information about a car that the client can control.
table ControllableInfo {
/// The index of the bot.
index:uint;
/// The spawn id of the bot.
/// This value is mostly used internally to keep track of participants in the match.
/// The spawn id can be used to find the corresponding PlayerConfiguration in the MatchConfiguration.
spawn_id:int;
}
/// Server message with information about the cars that the client can control.
/// Sent to bot clients as a response to ConnectionSettings.
/// There may be more than one car in case the bot is a hivemind.
table ControllableTeamInfo {
/// The assigned team for this client.
team:uint;
/// The bots that RLBot will allow this client to control.
controllables:[ControllableInfo] (required);
}