1syntax = "proto2";
2message RoomCommand {
3    enum RoomCommandType {
4        LEAVE_ROOM = 1000;
5        ROOM_SAY = 1001;
6        CREATE_GAME = 1002;
7        JOIN_GAME = 1003;
8    }
9    extensions 100 to max;
10}
11
12message Command_LeaveRoom {
13    extend RoomCommand {
14        optional Command_LeaveRoom ext = 1000;
15    }
16}
17
18message Command_RoomSay {
19    extend RoomCommand {
20        optional Command_RoomSay ext = 1001;
21    }
22    optional string message = 1;
23}
24
25message Command_CreateGame {
26    extend RoomCommand {
27        optional Command_CreateGame ext = 1002;
28    }
29    optional string description = 1;
30    optional string password = 2;
31    optional uint32 max_players = 3;
32    optional bool only_buddies = 4;
33    optional bool only_registered = 5;
34    optional bool spectators_allowed = 6;
35    optional bool spectators_need_password = 7;
36    optional bool spectators_can_talk = 8;
37    optional bool spectators_see_everything = 9;
38    repeated uint32 game_type_ids = 10;
39    optional bool join_as_judge = 11;
40}
41
42message Command_JoinGame {
43    extend RoomCommand {
44        optional Command_JoinGame ext = 1003;
45    }
46    optional sint32 game_id = 1 [default = -1];
47    optional string password = 2;
48    optional bool spectator = 3;
49    optional bool override_restrictions = 4;
50    optional bool join_as_judge = 5;
51}
52