• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Tibia 6.x Protocol - Resources?

Rexxar

of Unimatrix Zero-One
Joined
Jun 4, 2009
Messages
1,014
Solutions
3
Reaction score
128
Location
Narnia
Like the the thread says, does anyone know if there are any resources for a protocol that old?
I've had this stupid idea for a while now of making a 6.x client, but I can't seem to find any info about the actual protocol. How it differs from 7.x, etc.

So far all I've found have been a handful of threads from almost a decade ago with projects that died off, and links that no longer exists.
(Yes I know there are threads like Fossil, but that's just sprites and screenshots and maps)

Was there ever even an official otserv build for T6?
 

Perhaps get in touch with these individuals. They seem to have the resources and may share them.
 
Oh thanks guys. I have no idea why neither google nor the otland search gave me these but it's nice to know they exist.
Doesn't look tho like neither one will be released as a viable public option compared to for example TFS, which is a shame.

Wonder how viable it would be to run a 6.x style client with a 7.4/7.6 server, since the only major difference I can think of would be login to some extent and I guess the way health is displayed (6.x sent health status as a single byte with 7 possible values instead of a numerical value) which can easily just be emulated using the client by dividing up the value sent.
 
i see 2 options. either start from 0 and create tibia basics 1.0, slowly updating alpha and beta phase.

or downgrade from 1 major update to another. we've got accurate 7.4 atm because of proper 7.7 data.

a good map for 7.1 was made from 7.4 sources but a successful server downgrade is yet to be established.

imo it needs to be done successfully, before jumping down to 6.4 to avoid work overload and poor result.
 
Well for now I'm mostly just interested in making the client, as making a client/server combo would be way too much work (even if if does mean I could make my own protocol... drools) to even get something basic going.

So I guess it would be better to just... do a 6.x looking client that runs on a 7.4 server, since that way you can at least have a running server to packet debug with. At least until people finish downgrading T7 and can start figuring out T6. And then all you'd have to do to the client is change some minor protocol bits.
 
nightmareknights.com but that's less technical more about the state of the game back then
 
I miss old Tibia. I want an old server too. Tibia 7.2 or older. Tibia 7.0 introduced the new client design. I miss the days of only 4 servers and the 500 and 300 player limits and max player levels of 100. I used to be able to hunt all day and maybe even days between seeing other players and players had more respect back then too. That was back in '01. Anyone know how to crack old x86 exe's? I have copies on some old hard drives somewhere.
 
Well for now I'm mostly just interested in making the client, as making a client/server combo would be way too much work (even if if does mean I could make my own protocol... drools) to even get something basic going.

So I guess it would be better to just... do a 6.x looking client that runs on a 7.4 server, since that way you can at least have a running server to packet debug with. At least until people finish downgrading T7 and can start figuring out T6. And then all you'd have to do to the client is change some minor protocol bits.
That's my plan, I don't see how hard can it be to just change otc layout and mostly remove features.
 
nightmareknights.com but that's less technical more about the state of the game back then

Yeah I found that in the fossil thread, among other stuff. Love these websites. Not really that much technical info, but at least info on how it used to play and screenshots on how the client looked and stuff. Honestly I had no idea Tibia had started all the way back in the Windows 3.1 era. I thought it had started at least sometime during the 32-bit era.

I miss old Tibia. I want an old server too. Tibia 7.2 or older. Tibia 7.0 introduced the new client design. I miss the days of only 4 servers and the 500 and 300 player limits and max player levels of 100. I used to be able to hunt all day and maybe even days between seeing other players and players had more respect back then too. That was back in '01. Anyone know how to crack old x86 exe's? I have copies on some old hard drives somewhere.

What exactly do you mean by "crack"? Old tibia didn't really have any "copy protection" or any kind of protections.
And I don't think you even need an IP changer since those old clients just lets you set what IP/Port to connect to.

That's my plan, I don't see how hard can it be to just change otc layout and mostly remove features.

To be honest your thread is what gave me the idea in the first place, haha.
But I don't really want to use otc cause I hate C++ debugging (and the language itself is a bit... ew), so I was going to use Unity or Monogame or some other C# based thing (maybe even Raylib or Godot). But maybe that's a dumb idea now when you've already started on something, otc or not.
 
I miss old Tibia. I want an old server too. Tibia 7.2 or older. Tibia 7.0 introduced the new client design. I miss the days of only 4 servers and the 500 and 300 player limits and max player levels of 100. I used to be able to hunt all day and maybe even days between seeing other players and players had more respect back then too.
20220423_105740.gif
 
maybe that's a dumb idea now when you've already started on something, otc or not.
hey just wanna say it's still really cool idea to make some "reverse engineer client project" for old tibia ots. sure otc is fun alternative but u know it's not the same =p so if its possible go for it imo
 
hey just wanna say it's still really cool idea to make some "reverse engineer client project" for old tibia ots. sure otc is fun alternative but u know it's not the same =p so if its possible go for it imo

Well right now I'm having some protocol version woes. Mainly that the oldest protocol I can find is 7.72.

There seems to be no more otserv distros that support the old pre-encrypt protocol (7.6 and earlier).
The TFS backport only goes to 7.72, and every other backport I've found has been just... "Oh yeah we're using 7.6/7.4 sprites in a 7.72 client".

I mean sure you can still find downloads for old YurOTS and whatnot, but those are servers from like... 2006 that no one wants to run anymore because most scripts won't work on it, and there's probably about 7 million unpatched bugs and exploits.

But at the same time... I really don't wanna deal with encryption poopoo, it just makes everything so much more annoying. 😩
 
Well seems like I hit a snag. I wanted to import the SPR and DAT files from the 6.4 client, but apparently the only information on reading the DAT file seems to be for 7.4/7.6+ (possibly start of new 7.0 client). The 6.4 dat file is a similar but largely different format (none of the header bits are there, except for like one bit but that's wrong, and I have no idea when the data starts... and it seems to be way too little data).

Anyone know if there's any information around on 6.x client DAT format?
 
Well seems like I hit a snag. I wanted to import the SPR and DAT files from the 6.4 client, but apparently the only information on reading the DAT file seems to be for 7.4/7.6+ (possibly start of new 7.0 client). The 6.4 dat file is a similar but largely different format (none of the header bits are there, except for like one bit but that's wrong, and I have no idea when the data starts... and it seems to be way too little data).

Anyone know if there's any information around on 6.x client DAT format?

get rooked posted the 6.4 spr there
 

get rooked posted the 6.4 spr there

Thanks dude, but I already have the sprites (SPR file + extracted).

I was looking for info about the DAT file, since that's the only file I've not been able to parse.
 
From what I could see studying the file format, .dat format for Clients 3.0 to 6.5 seems to be something like this:

First 2 bytes are the the tile_id, this is what client will receive from server to draw the map.

Next 10 bytes are flags. I couldn't figure out what most of them mean, but flags 9 and 10 dictate how many sprites the item has.

Flag_9 determines a base amount and flag_10 a multiplier:

Code:
flag_9 => base_value
0x7f => 128
0x75 => 48
0xf0 => 16
0xa0 => 9
0x70 | 0x70 => 8
0x06 => 7
0x05 | 0x42 | 0x12 => 6
0x04 => 5
0x50 | 0x03 => 4
0x02 => 3
0x40 | 0x10 | 0x10 => 2
0x00 => 1
Code:
flag_10 => multiplier
0x07 => 8
0x03 => 4
0x04 | 0x02 | 0x01 => 2
0x00 => 1

So, for example:
if flag_9 is 0x00 and flag_10 is 0x00, item will have 1 sprite (1 * 1)
if flag_9 is 0x00 and flag_10 is 0x03, item will have 4 sprites (1 * 4)
if flag_9 is 0x10 and flag_10 is 0x01, item will have 4 sprites (2 * 2)

Now that we now the quantity of sprites, each sprite_id is 4 bytes, so next 4 * sprites_count bytes will be the sprite list. sprite_id is what links to the .spr file.

Code:
tile_id: 2 bytes
flags:
    flag_1: 1 byte
    flag_2: 1 byte
    flag_3: 1 byte
    flag_4: 1 byte
    flag_5: 1 byte
    flag_6: 1 byte
    flag_7: 1 byte
    flag_8: 1 byte
    flag_9: 1 byte
    flag_10: 1 byte
sprites: 4 * sprites_count bytes

This will just repeat until the end of file
 
Back
Top