-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathFile Formats.txt
331 lines (285 loc) · 9.47 KB
/
File Formats.txt
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
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
Tibia Time Machine .ttm: (https://github.com/tulio150/tibia-ttm)
[2 bytes] Tibia version (>= 700)
[1 bytes] Server name lenght (< 128)
> 0: OpenTibia server
[x bytes] Server name (a-z, 0-9, [.-_])
[2 bytes] Port (> 0)
[4 bytes] Recording time
Loop:
[2 bytes] Packet size (> 0)
[x bytes] Packet data
[1 bytes] Next packet type
0: Normal packet
[2 bytes] Delay to next packet
1: New game session (fixed delay of 1000ms)
EOF: End of recording
---------------------------------------------------------------------
TibiCAM .rec: (https://github.com/gurka/OldSchoolTibia or https://github.com/Cjaker/TibiaCAMDecryptor)
[1 bytes] TibiCAM version (3: < 7.70, 4: < 7.72, 5: < 8.00, 6: < 8.30, 7 < 9.80, 8 < 10.54, 9 < 10.58, 10 < 10.80, 11 < 11.20)
[1 bytes] Format version
1: Unencrypted (Tibia version < 730 or generated by TTM)
[4 bytes] Number of received chunks
For:
[4 bytes] Received size
[4 bytes] Received time
[x bytes] Received data (packet stream inside)
2: Encrypted (Tibia version < 830)
[4 bytes] Number of packets + 57
For:
[2 bytes] Encrypted size (AES256 if version >= 5)
[4 bytes] Received time
[x bytes] Encrypted data (packet stream inside, single packet if version >= 4)
[4 bytes] Checksum (Adler32 of encrypted data)
End of recording
---------------------------------------------------------------------
TibiaCam .cam: (https://github.com/exoticprgmr/bynacam)
[32 bytes] Undefined (Hash? Zeroes? Magic header on files generated by TTM)
[4 bytes] Tibia version (XX.YZ is XX 0Y 0Z 00)
[4 bytes] Metadata size
[x bytes] Metadata (OpenTibia server information on files generated by TTM)
[4 bytes] Compressed data size (can include +13 bytes of the LZMA header)
[5 bytes] Compression parameters
[8 bytes] Decompressed data size
[x bytes] LZMA Compressed data:
[1 bytes] Fake TibiCAM version (6)
[1 bytes] Fake TibiCAM format version (2)
[4 bytes] Number of packets + 57
For:
[2 bytes] Received size
[4 bytes] Received time
[x bytes] Received data (single unencrypted packet)
[4 bytes] Undefined (Size again, CRC32 of packet data, zeroes or trash)
End of recording
---------------------------------------------------------------------
TibiaMovie .tmv: (http://tibiamovie.sourceforge.net/ or https://github.com/Google-Code-Fork/TibiaMovie)
[x bytes] GZip compressed data:
[2 bytes] Format version (2 on 0.3.3)
[2 bytes] Tibia version (<= 760)
[4 bytes] Recording time
Loop:
[1 bytes] Data type
0: Received data chunk
[4 bytes] Delay from previous chunk
[2 bytes] Received size
0: End of recording (not required, and kept between merged files)
[x bytes] Received data (packet stream inside)
1: Play marker
EOF: End of recording
---------------------------------------------------------------------
TibiaMovie2 .tmv: (https://github.com/opentibia/tibia-movie)
[4 bytes] Magic header (TMV2)
[4 bytes] Options (1 = compressed)
[2 bytes] Version (1)
[3 bytes] Tibia version (XX.YZ is XX 0Y 0Z)
[4 bytes] First received time
[4 bytes] Number of packets
[4 bytes] Last received time
[4 bytes] Decompressed data size
[x bytes] DEFLATE compressed data: (optional)
For:
[2 bytes] Received size
[4 bytes] Received time
[x bytes] Received data (single packet)
End of recording
---------------------------------------------------------------------
BynaCam .byn:
Non-GZip version: (https://github.com/rookgaard/rec-converter/blob/master/rec2ttm.cpp)
Loop:
[1 bytes] Data type
99: Video footer
[4 bytes] Recording time
End of recording
100: Tibia version
[2 bytes] Tibia version
101: Delay
[2 bytes] Delay
102: Packet
[2 bytes] Packet size
[x bytes] Packet data
GZip version: (https://github.com/EnzzoCaaue/bynacam or https://code.google.com/archive/p/bynacam/)
[x bytes] GZip compressed data:
Loop:
[1 bytes] Data type
99: Video footer
[4 bytes] Recording time
End of recording
100: Tibia version
[4 bytes] Tibia version (X.YZ is 0X 0Y 0Z 00)
101: Delay
[4 bytes] Delay
102: Packet
[4 bytes] Packet size
[x bytes] Packet data
---------------------------------------------------------------------
Tibia Replay .trp: (https://github.com/gurka/OldSchoolTibia)
[2 bytes] Magic header (0x1337)
[2 bytes] Tibia version
[4 bytes] Recording time
[4 bytes] Number of received chunks
For:
[4 bytes] Received time
[2 bytes] Received size
[x bytes] Received data (packet stream inside)
---------------------------------------------------------------------
TCam .tcam: (https://github.com/Google-Code-Fork/tcam or https://code.google.com/archive/p/tcam/)
[x bytes] GZip compressed data:
Loop:
[1 bytes] Data type
48: XTEA Key
[2 bytes] Data size (16)
[16 bytes] XTEA key
49: Battlelist entry
[2 bytes] Data size (160 on 8.22)
[x bytes] Battlelist entry (copied from memory)
Tibia 8.22 Battlelist entry:
[4 bytes] Creature ID
[32 bytes] Creature name
[12 bytes] Creature position
[4 bytes] Screen offset H
[4 bytes] Screen offset V
[4 bytes] Time to move again straight
[4 bytes] Time to move again diagonal
[4 bytes] Last Moved H
[4 bytes] Last Moved V
[4 bytes] Ground speed
[4 bytes] Creature walking status
[4 bytes] Direction
[4 bytes] Last walked direction
[8 bytes] Unknown
[4 bytes] Creature outfit
[4 bytes] Head color
[4 bytes] Body color
[4 bytes] Legs color
[4 bytes] Feet color
[4 bytes] Addon
[4 bytes] Light level
[4 bytes] Light color
[4 bytes] Black square
[4 bytes] Time to hide black square
[4 bytes] HP bar
[4 bytes] Walking speed
[4 bytes] Visibility
[4 bytes] Skull
[4 bytes] Party
[4 bytes] Guild war
50: Delay
[2 bytes] Data size (4)
[4 bytes] Delay
51: Video header
[2 bytes] Data size (>= 34)
[2 bytes] Tibia version
[4 bytes] Recording time
[1 bytes] Player name size
[x bytes] Player name
[1 bytes] Player Vocation (0 for unknown)
[2 bytes] Player level
[1 bytes] Player magic level
[2 bytes] Player level again
[1 bytes] Player fist fighting skill
[1 bytes] Player club fighting skill
[1 bytes] Player sword fighting skill
[1 bytes] Player axe fighting skill
[1 bytes] Player distance fighting skill
[1 bytes] Player shielding skill
[1 bytes] Player fishing skill
[4 bytes] Monsters seen during recording (0 for uncalculated)
[4 bytes] Monsters killed during recording (0 for uncalculated)
[2 bytes] Players seen during recording (0 for uncalculated)
[2 bytes] Players killed during recording (0 for uncalculated)
64: Received data
[2 bytes] Received size
[x bytes] Received data (XTEA encrypted packet stream inside)
EOF: End of recording
[4 bytes] Uncompressed data size
---------------------------------------------------------------------
TibiaCast .recording: (https://github.com/jo3bingham/sharpmaptracker/ or https://code.google.com/archive/p/sharpmaptracker/)
[2 bytes] TibiaCast version (4 21: 10.36, 4 22: 10.38, 4 23: 10.41, 4 30: 10.79)
[x bytes] DEFLATE compressed data:
Version > 4 04:
[4 bytes] Unknown
Version > 4 08:
[1 bytes] Unknown
Loop:
[4 bytes] Received time
[4 bytes] Data size
0: End of recording
[x bytes] Data
[1 bytes] Data type
6: Close shop window
[1 bytes] Constant (1)
7: Battlelist + First packets
Version > 4 09:
[1 bytes] Unknown
[2 bytes] Number of creatures
For:
A valid Tibia 0x61 (Add unknown creature) packet, depends on protocol version
Used to replace packets 0x62 (Add known creature) and 0x63 (Turn creature) if unkwnown
[2 bytes] Number of packets
For:
[2 bytes] Packet size
[x bytes] Packet data
8: Packets
[2 bytes] Number of packets
For:
[2 bytes] Packet size
[x bytes] Packet data
9: Message
[2 bytes] Title size
[x bytes] Title
[2 bytes] Message size
[x bytes] Message
---------------------------------------------------------------------
Tibia Eye .tem: (https://github.com/edubart/TibiaEye)
[4 bytes] Magic header (0x91F856FE)
[4 bytes] Version (4)
Loop:
[1 bytes] Data type
1: Video title
[4 bytes] Length (Little endian)
[x bytes] String (UTF16LE)
2: Video description
[4 bytes] Length (Little endian)
[x bytes] String (UTF16LE)
3: Video type
[1 bytes] Type (1: Hunt, 2: Quest, 3: Explore, 4: PK, 5: War, 6: Party, 7: Other)
4: Video date
[4 bytes] Video date (Little endian)
5: Recording time
[4 bytes] Recording time (Little endian)
6: Player name
[4 bytes] Length (Little endian)
[x bytes] String (UTF16LE)
7: Player level
[2 bytes] Player level (Little endian)
8: Player world
[4 bytes] Length (Little endian)
[x bytes] String (UTF16LE)
9: Login server host
[4 bytes] Length (Little endian)
[x bytes] String (UTF16LE)
16: Game World IP address
[4 bytes] IP address (Little endian)
17: Tibia version
[2 bytes] Tibia version (Little endian)
18: Plataform
[1 bytes] Plataform (1: Windows, 2: X11, 3: Mac, 4: QWS, 255: Unknown)
19: Windows version
[2 bytes] Windows version (Little endian)
20: Header checksum
[4 bytes] Header checksum (Adler32 in little endian)
254: Packets
[4 bytes] Number of packets (Little endian)
[4 bytes] Compressed data size (Little endian)
[x bytes] DEFLATE compressed data:
For:
[4 bytes] Received time
[2 bytes] Packet size
[x bytes] Packet data
255: End of recording
---------------------------------------------------------------------
Tibia XCAM .xcam:
[4 bytes] Magic header (XCam)
[2 bytes] Unknown
[2 bytes] Tibia version (XX.YZ is XX YZ)
[40 bytes] Unknown
---------------------------------------------------------------------