Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

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?
 
Junior Spellweaver
Joined
Jul 9, 2014
Messages
168
Reaction score
53
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.
 
Initiate Mage
Joined
Jun 19, 2015
Messages
2
Reaction score
0
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.
 
Junior Spellweaver
Joined
Jul 9, 2014
Messages
168
Reaction score
53
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.
 
Initiate Mage
Joined
Jan 3, 2017
Messages
2
Reaction score
0
Hello,

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