Since you have the client source code, have you been able to fully reverse engineer and document the client/server protocol? Do you have a black box server whose responses you can record and analyze?
Have you been writing your server top-down (building an idealized set of game objects and then wiring them up to the protocol) or bottom-up (layering the minimum game code on top of the protocol needed to make the server respond appropriately)?
How do you obtain the client source code? Will you legally be able to open source it or at least distribute binaries you build?
Is https://blackmoonchronicles.com/ your project? Looks like it’s a different project because they’re writing a cleanroom implementation of a client.
I have been able to fully reverse engineer the protocol, including what data is expected by the client and what data the client sends for various packet types.
No blackbox server, game has been dead for years.
Writing bottom up. Protocol is more important. We actually have some left over server files with npcs, quests, items, mobs, etc. So I can recreate the entire world by loading those in (already reversed the file formats and can parse them into memory as data structures)
We have the client source because one of the former QA devs on the game bought the rights to the client many years ago, and he is working with me on the project. We will be able to open source the project eventually, if we can prove we have a custom server. Because BMC was built by the people that built T4C and shared server designs. But Dialsoft currently owns the rights to that. We need to show we have a server implementation to that is net new and unrelated to T4C, and then we can legally open source everything, and that is the goal as we mention on our site.
We already have the capability of walking around maps, teleporting, and dealing with inventory and equipped items. We have all the packets reversed. Most of the work now is in concurrency and world state. Loading mobs, quests, items, and broadcasting information to those around you, etc. Right now a lot of stuff is hardcoded. Once I get this part working, the rest is mostly filling out the world and getting combat to work.