Hey everyone! Some of you may know me as 'SiLo' (or Erik) from the PlanetDA forums, DAHelp forums, or even the deprecated Capricorn forums themselves. I've decided to move the project development news to these forums instead (RageZone) since it seems like the perfect environment. Yes, I am also the same 'SiLo' from the Malaysian Dark Ages.
Who am I? For those that don't know me, I've been working with a good few people in reverse engineering the Dark Ages client, server, and how they interact (communicate) with each other. With that knowledge I have been working (on and off) on a server emulator for the Dark Ages client. Many of the DA tools you have listed here in this forum are made by me as well (Sapphire, EPFTool, and DA-Mapper). I am also the lead developer for the Capricorn project, which Foubar (Justin) has taken over a lot of the work as of late. I am also working on my own version of 'Capricorn.'
Why work on a server emulator for such an ancient MMORPG? The answer is quite simple: why do you still play games on emulators like the SNES and Genesis? They are still fun! Just because the graphics may not be "next-gen" or jaw-dropping 3D, they still have much potential in the areas of game play although unfortunately the current game management is rather poor.
What progress do I have and what do I have to show for it? Currently, I don't have very much since I've started the program from scratch but I do plan to work on it quite diligently as it has always been a deep aspiration of mine. I know a great deal about the client and server, it's just a matter of programming it (again).
What language do I use? I prefer the .NET languages, mostly C# (version 2.0). I use Visual Studio 2005 for my programming, although I do plan on converting to Visual Studio 2007 once it is released and convert the server to the C# 3.0 specification.
How can you help? Well, there are many ways to help. The main way to help is doing some of the "dirty-work" that I do in figuring out packets and how they work exactly (what data they contain). It may be somewhat difficult for people to help me with this at the moment unless they know the encryption and/or have programs to help them examine the decrypted data. I plan to release some programs so that people can "sniff" the Dark Ages packets easier and figure out what they mean. If you are a developer, sharing your tools or even developing new tools for this project would be a plus!
Can you help me with (insert something DA-related here)? It depends. My current account is not active (paid), so I can't log into the game. As far as emulation knowledge goes, drop me a PM or email and I'll be sure to get back to you. It's always good to see others interested in working on similar projects!
What are the primary goals of this project? Right now, my goal is to create a server able to emulate every function that the current live servers support. Once I emulate the live servers with near-perfect accuracy, then I'll work on new features such as player-run shops and trade skills. While I will be emulating the functionality of the server, I may or may not initially emulate the game's content exactly (maps, monsters, skills, et cetera) depending on how it comes along.
When can we expect an update? While I can't promise anything due to my work, school, and personal schedule, I will really try to make a weekly update. Although I really do appreciate that so many (possibly hundreds) are interested in my developments on this project, please refrain from contacting me solely to question my progress or what I plan to add as this is the reason I decided to come to the forums -- centralization of information. Once I get back in the groove of this perhaps I'll be able to do it consistently every certain day of the week. I know some of you know my history of this project has almost been vapor ware, but I really am trying to commit myself 110% to this and get some kind of working public release in the future. :)
Releases:
- Capricorn Base Server Software [9.27.2007] (DOWNLOAD LINK)
This is the code for a very basic server that is mostly just to act as skeleton code for future developers. It will listen, accept connections, pretend to create a character and reject login attempts with an error message. It uses the basic 'NexonInc.' encryption method (pre 5.51) because that is all that is really required.
It is written in C# 2.0 using Visual Studio 2005.