Hey everyone, I'm clearscreen / danslo. Some of you may still know me from Silkroad (primarily SREmu) emulator development. I'll get right down to business...
Background
A couple years back, a German company released a game called Celetania (
Goal
My goal is to bring this game back to life. As you may imagine, since the servers are offline, emulation is a bitch due to the absence of network traffic we can analyze. This project will be an attempt to emulate a game server purely by reverse engineering the original game client!
How will this work?
Don't let this overly ambitious idea put you off. Luckily for us, the original developers shared DLL's between server and client. Server/client specific logic is implemented in a separate DLL. Also, the game client ships with all server GSClasses ('GS' is their own stack based interpreter). This means that all we need to do is provide a couple of DLL files that grant these GSClasses some native system calls. We don't even have to code any logic! And modifying existing server logic is as easy as understanding and modifying GSClasses).
What tools / code already exists?
- - a utility to decrypt celetania's media files
- - a utility to decrypt celetania's gsclasses
- - a utility that attempts to decompiler/translate GSClasses into readable instructions (code is ugly as hell, but I wrote it several years back)
- - an initial solution that generates the required server DLL files and has stubs for functions that are called from serverlogic gsclasses - this will need the most work.
What am I looking for?
First and foremost I am gauging if there is any animo for this project. Since the original services don't exist anymore, I imagine we can have many thousands of people playing! Please let your voice be heard.
If you want to help me put in the work, I am looking for any help (in order of importance):
- Reverse engineers
- Coders
- Graphical designers
Where can you find me?
I will keep track of this topic, messages here will be answered. You can also send me a PM, all is fine.
For further improvement of this community, feel free to drop by on irc.freenode.net in #celect.
Thanks a lot, and let me hear what you think or want answered.