-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathgame-info.proto
69 lines (60 loc) · 1.35 KB
/
game-info.proto
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
syntax = "proto3";
package Papan;
message OptionValues {
repeated string value = 1;
}
message GameType {
// Game type IDs should be unique across the lifetime of a server
string game_type_id = 1;
string name = 2;
string version = 3;
uint32 players_min = 4;
uint32 players_max = 5;
/* When a player joins a game lobby, the app should download the assets from
the server, and note the server address for connecting when the game
starts */
string server_address = 6;
map<string, OptionValues> available_exclusive_options = 7;
map<string, OptionValues> available_group_options = 8;
}
message Players {
uint32 min = 1;
uint32 max = 2;
}
message Team {
string name = 1;
uint32 card_min = 2;
uint32 card_max = 3;
PlayersOrTeams players_info = 4;
}
message Teams {
repeated Team teams = 1;
}
message PlayersOrTeams {
oneof info {
Teams teams = 1;
Players players = 2;
}
}
message GameJson {
string name = 1;
string main = 2;
string webcomponent = 3;
string banner = 4;
string icon = 5;
PlayersOrTeams players_info = 6;
bool has_private_view = 7;
repeated string global_deps = 8;
map<string, string> deps = 9;
}
message Torrent {
string infoHash = 1;
string magnetURI = 2;
bytes torrentFile = 3;
}
message GameInfo {
string id = 1;
string fullPath = 2;
GameJson json = 3;
Torrent torrent = 4;
}