Runes Of Magic - Network Protocol

Initiate Mage
Joined
Jun 19, 2015
Messages
2
Reaction score
0
Hello Guys,

i am needing some information about the data that is transfered over the tcp socket from Runes Of Magic. Are there any library that i can use for implementing the data transfer from runes of magic into another application? Or could someone give me some information about the used technologies in runes of magic ?

Maybe there is also a sourcecode variant from the Rom-Server Application?
 
As for code - just look into client code, it's not too hard.
Also, you can use dll-inject instead of packets dumping and hook SendToLocal function(it would have 2 args, as I remember - packet number(enum) and data struct).
As for resending to another app - you can use proxy and send all traffic via your app, you can dll-inject + any variant of app communications(shared memory, pipes, sockets, blah-blah-blah) etc.
 
Heyho Turmalin,

first thank you for your answer. I analyzed a bit the sourcecode of runes, my problem is that my c++ exp is not very high (near NULL). I found the CliNetWaker is this the relevant part, or should i search deeper?

I'm only needi the network relevant classes compiled into a library.

I want to implement it into a web-project (btw. i am a Web-Dev), to access some data over the network.
 
Ok, let's look on code.
SendToLocal is wrapper for _NetBattle.SendToSrv and _Net.SendToSrv. You wanna skip 1st one, if wouldn't work with BG.
So, for packet sending you would need CliNetWakerClass::SendToGSrv function(CliNewWakerClass.cpp).
This func accept 3 args - server id(look inside all sources, if I remember correctly, it's 1-29 IDs for world and 30 for bg servers), size(packet size) and void* data - structs serialized to binary. Those structs are look like PG_NewBillboard_CtoL_SearchRank, for zone servers contains _CtoL_ prefix(_ClienttoLocal_) and placed in files named like PG_Billboard(you would need to find all SendToLocal functions and look for 2nd argument, usually used as &Send).
This is part for local server sending. There are auth at least, that have another funcs(didn't remember) and also you would need to accept packets, ofc(which is another part of question).



As for web part, you can look onto node.js(https://gist.github.com/tedmiston/5935757, for ex.), as variant. Btw, it wouldn't be easy work.
 
Hello,

maybe someone knows things about Patches and SQL? Please send me a message !!
 
Back