• 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!

help to change protocol in executable

chiitus

Member
Joined
Jun 1, 2009
Messages
206
Reaction score
12
hello boys!
iam trying to change the protocol to use a specific client in a otserver, but iam still failing.
can somebody help me with the codes please?
thanks adv.

Code:
client version 10, allowed 11.00
 
If there are major differences between those protocols you're not going to be able to simply change the version integer and string and expect it to work. The engine parses packets specifically meant for that exact client version, if you attempt to upgrade you need to parse the new packets sent from client and send info back to client via the server.
 
Gonna need a little more information than that, but this might set you on the right track.


C++:
static constexpr auto CLIENT_VERSION_MIN = 1097;
static constexpr auto CLIENT_VERSION_MAX = 1098;
static constexpr auto CLIENT_VERSION_STR = "10.98";

got it, but i mean for editing hex in the .exe


If there are major differences between those protocols you're not going to be able to simply change the version integer and string and expect it to work. The engine parses packets specifically meant for that exact client version, if you attempt to upgrade you need to parse the new packets sent from client and send info back to client via the server.

i understand, nice comment btw, my goal tbh is play a server allowing only client v12 in a client v10 changing the hex string (idk if thats the term) for pretending to be a v12.

u guys got it, i mean change in the executable, not in the server sources, in client side, sorry for this shit title, i will change it.

THANKS!
 
got it, but i mean for editing hex in the .exe




i understand, nice comment btw, my goal tbh is play a server allowing only client v12 in a client v10 changing the hex string (idk if thats the term) for pretending to be a v12.

u guys got it, i mean change in the executable, not in the server sources, in client side, sorry for this shit title, i will change it.

THANKS!

You mean like using Tibia 12 sprites and stuff on Client 10? I dont understand what you are trying to do here.
Either you use Client 12 or Client 10.xx.
If you want to use Client 12 you need to edit engine sources.
If you want the sprites from client 12 in client 10.xx you need to extract them from client 12 and edit them into the .spr and .dat file.
If you mean like you only want your client to be able to connect to the server, not like an ip-changer or something, then you need to change the RSA key and yeah, use hex editor to change the IP from the original tibia gameservers to your IP in the exe file.
 
Could someone please make a tutorial on how to change IP for tibia 12 client? I've tried editing with hex editor and notepad++ with no success.
 
i understand, nice comment btw, my goal tbh is play a server allowing only client v12 in a client v10 changing the hex string (idk if thats the term) for pretending to be a v12.

u guys got it, i mean change in the executable, not in the server sources, in client side, sorry for this shit title, i will change it.
As Delusion tell you already it isn't that simple, if the server allows only v12 clients then you need to login through login.php script not through ProtocolLogin and the v10 clients can't do that.
Anyway here is tutorial for hex editing:
search for bytes: B9 E8 03 00 00
change these bytes for: B9 B0 04 00 00
do that four times so it'll change ProtocolVersion and GameVersion values.
But it'll not work because of massive protocol differences, there're only 2 ways to do it: through dll or creating server that acts like proxy and corrects the packets on the fly.
 
Back
Top