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
use source_demo_tool_impl_proc_macros::declare_protobuf_messages;
declare_protobuf_messages!(Net, {
Tick = 4 {
optional current_tick: VarInt = 1,
optional host_computation_time: VarInt = 4,
optional host_computation_std_dev: VarInt = 5,
optional host_frame_start_time_std_dev: VarInt = 6,
},
StringCmd = 5 {
optional command: String = 1,
},
SetConVar = 6 {
repeated ConVars: Proto = 1 {
optional name: String = 1,
},
},
SignOnState = 7 {
optional signon_state: VarInt = 1,
optional spawn_count: VarInt = 2,
optional num_server_players: VarInt = 3,
},
ServerInfo = 8 {
optional protocol: VarInt = 1,
optional server_restarts: VarInt = 2,
optional is_dedicated: VarInt = 3,
optional is_hltv: VarInt = 5,
optional os: VarInt = 7,
optional map_crc: Fixed32 = 8,
optional client_crc: Fixed32 = 9,
optional string_table_crc: Fixed32 = 10,
optional max_clients: VarInt = 11,
optional max_classes: VarInt = 12,
optional player_slot: VarInt = 13,
optional tick_interval: Float32 = 14,
optional game_dir: String = 15,
optional map_name: String = 16,
optional map_group_name: String = 17,
optional sky_name: String = 18,
optional host_name: String = 19,
optional unknown21: VarInt = 21,
optional ugc_map_id: VarInt = 22,
optional unknown23: VarInt = 23,
},
SendTable = 9 {
optional is_end: VarInt = 1,
optional net_table_name: String = 2,
optional needs_decoder: VarInt = 3,
repeated SendProp: Proto = 4 {
optional sendprop_type: VarInt = 1,
optional var_name: String = 2,
optional flags: VarInt = 3,
optional priority: VarInt = 4,
optional dt_name: String = 5,
optional num_elements: VarInt = 6,
optional low_value: Float32 = 7,
optional high_value: Float32 = 8,
optional num_bits: VarInt = 9,
}
},
ClassInfo = 10 {
optional is_create_on_client: VarInt = 1,
},
CreateStringTable = 12 {
optional name: String = 1,
optional max_entries: VarInt = 2,
optional num_entries: VarInt = 3,
optional is_user_data_fixed_size: VarInt = 4,
optional user_data_size: VarInt = 5,
optional user_data_size_bits: VarInt = 6,
optional flags: VarInt = 7,
optional string_data: Length = 8,
},
UpdateStringTable = 13 {
optional table_id: VarInt = 1,
optional num_changed_entries: VarInt = 2,
optional string_data: Length = 3,
},
VoiceInit = 14 {
optional quality: VarInt = 1,
optional codec: String = 2,
optional version: VarInt = 3,
},
Sounds = 17 {
optional reliable_sound: VarInt = 1,
repeated SoundsInner: Proto = 2 {
optional origin_x: VarInt = 1,
optional origin_y: VarInt = 2,
optional origin_z: VarInt = 3,
optional volume: VarInt = 4,
optional sequence_number: VarInt = 6,
optional entity_index: VarInt = 7,
optional channel: VarInt = 8,
optional pitch: VarInt = 9,
optional flags: VarInt = 10,
optional sound_num: VarInt = 11,
optional sound_num_handle: Fixed32 = 12,
optional random_seed: VarInt = 14,
optional sound_level: VarInt = 15,
},
},
SetView = 18 {
optional entity_index: VarInt = 1,
},
UserMessage = 23 {
optional msg_type: VarInt = 1,
optional msg_data: Length = 2,
},
GameEvent = 25 {
optional event_id: VarInt = 2,
optional repeated GameEventKeys: Proto = 3 {
optional val_type: VarInt = 1,
optional val_string: String = 2,
optional val_float: Float32 = 3,
optional val_long: VarInt = 4,
optional val_short: VarInt = 5,
optional val_byte: VarInt = 6,
optional val_bool: VarInt = 7,
}
},
PacketEntity = 26 {
optional max_entries: VarInt = 1,
optional updated_entries: VarInt = 2,
optional is_delta: VarInt = 3,
optional update_baseline: VarInt = 4,
optional baseline: VarInt = 5,
optional delta_from: VarInt = 6,
optional entity_data: Length = 7
},
TempEntities = 27 {
optional reliable: VarInt = 1,
optional num_entries: VarInt = 2,
optional entity_data: Length = 3,
},
Prefetch = 28 {
optional sound_index: VarInt = 1,
},
GameEventList = 30 {
repeated Descriptors: Proto = 1 {
optional event_id: VarInt = 1,
optional name: String = 2,
repeated DescriptorKeys: Proto = 3 {
optional key_type: VarInt = 1,
optional key_name: String = 2,
},
},
},
});