Reversing Spellborn
Started by Saltiel


Rate this topic
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


249 posts in this topic
tbjoker
Junior Member
**


0
10 posts 1 threads Joined: Nov 2014
19-03-2015, 05:27 PM -
I previously commented this thread with acouple of Packet IDs, I'm sorry that I've been away but was hired to do some things. I would like to take this to the second step (C++) As i've already got a server network framework for MMORPGs done. What's the interest of this? Currently I've done some progress with spawning of NPCs, and I tend to release tools to update the MySQL Database so that everyone can contribute to an open server. Anyhow I will keep on reversing and developing this, and hope to release some more documentations on the packet structures.. But my main focus right now is to automate packet reverse engineering. Best regards TBJokers...
If anyone is interested in contact, my skype is Tjabas4.

Polymo
Someone who thinks he can code
****


0
328 posts 39 threads Joined: Sep 2014
23-03-2015, 10:01 AM -
i just discovered, what could possibly be a real pain for the server later on. The games approach to allow holding mousebuttons to use abilities is somewhat strange -spamming the server with attack-messages. maybe this is fixed in later versions..

tbjoker
Junior Member
**


0
10 posts 1 threads Joined: Nov 2014
24-03-2015, 03:36 PM -
Maybe it's programmed something like this on the client .... if(!Attack.is()) SendInitateAttack();
Which would resolve itself at first response.

Polymo
Someone who thinks he can code
****


0
328 posts 39 threads Joined: Sep 2014
24-03-2015, 06:17 PM -
you're right, just tested it with an answer from server. But still it's depending on latency. These are like 10packets per second sent (i locally have like 50-100ms because of message batching, but still received 2 requests).

This post was last modified: 24-03-2015, 06:19 PM by Polymo.
tbjoker
Junior Member
**


0
10 posts 1 threads Joined: Nov 2014
28-03-2015, 06:35 PM -
Quote:you're right, just tested it with an answer from server. But still it's depending on latency. These are like 10packets per second sent (i locally have like 50-100ms because of message batching, but still received 2 requests).
​That's not acceptable :/

Polymo
Someone who thinks he can code
****


0
328 posts 39 threads Joined: Sep 2014
28-03-2015, 08:07 PM -
yeah, this is kind of a strange design, lag possibly creating more lag

Saltiel
Retired dev
***


0
122 posts 3 threads Joined: Sep 2014
29-03-2015, 01:16 PM -
Lot of work on the network code has been done during the beta because originally it was not working at all. So maybe this design has been improved for the release version...

tbjoker
Junior Member
**


0
10 posts 1 threads Joined: Nov 2014
29-03-2015, 11:34 PM -
Are you saying that the Client has a bad network model? In any case you'd need a really good IOCP server for this MMO to ever be able to run, this is why I decided to go with C++.. If it's about the client we can easily to a hook to the current system so it uses our own model. However hooks does slow down the client aswell, which isn't good...

Saltiel
Retired dev
***


0
122 posts 3 threads Joined: Sep 2014
30-03-2015, 07:32 PM -
The first network model was bad but I think that the 0.9 client already contains the major improvements of the network rewamp (after Korean guys from Frogster Asia came in Netherland to help the one guy working on the network code).
If you know how to bypass Gameguard (or maybe we can analyze the code only statically if it's just to check network code), it would be useful to test the release client version available through Acid's torrent.
 
Edit: Woot, I don't know what I did, just played around by mixing 1.0.0.3 files and 0.9 files, reverted everything but my game has some parts of it now in french oO
Edit²: I guess that the installer from the 1.0.0.3 set some keys in the registry...
Edit3: For those interested, it's here: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Spellborn\The Chronicles of Spellborn\Settings
If the key does not exist, create one called "Language" of type REG_SZ. The value must be "English" or "French" or "German" (did not try Japanese^^). Be just careful because in 0.9 not every strings were translated so you will have a lot of errors in the log and some things not translated.

This post was last modified: 30-03-2015, 10:18 PM by Saltiel.
JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
31-03-2015, 07:05 PM -
A lot of items which are used in the game of Spellborn are inside the packages.
The different allready give a hint which items are available, but basicly a package is just a file which can contain different assets (Items).
When items contain links to code inside other packages or even DLL or EXE files then you might get errors which can give strange behaviour of the game.
As far as I've seen the gameguard has no influence on the contents of the packages, it might just do a check if it's the correct content.
In other words if we're able to work around the gameguard protection we can use the latest version of the client and it's fixed networking code.
This might mean that we need to change some things in our current server code, but my guess is that no big changes have been made.
Greetings J-W



Forum Jump:


Users browsing this thread: 1 Guest(s)