Notice: This is a pre-release and is not a stable server. Do not use this server with the expectation of starting a private server. I will continue to improve the server, but this is simply for feedback and learning purposes.
New: Just a heads up for people reading the source, I'm planning to replace a large amount of code / restructure packages / clean up quite a bit. If you're using this as a template to start a server from a clean base, I recommend holding off until I release the new version.
Introduction
Chimera is an open source distributed systems project, targeted at the Conquer Online game client at patch 5615. Use of this project with the game client is purely academic, and cannot be used legally for profit or public server operation. It's authored in Go for the purpose of multi-processor computation of mass network traffic from connected game clients. It achieves this by design and implementation: both in architecture of the server mesh, and implementation of the mesh through routines, channels, and remote procedure calls.
Server Architecture
Chimera is separated by three server roles: the account server, game server, and map servers. The account server acts as gatekeeper for verifying and authenticating clients for the game and map servers. The map servers individually control a region or zone of the game, and mesh to form the entirety of the game world. Map servers are given their region on startup, but allow transfer of roles between map servers for rebalancing in real time (not yet implemented at this phase). Finally, the game server acts as a glue for the map servers, giving the world of Conquer Online a backbone that connects the zones of the world together and routes players between the zones.
Conclusion
I'll be updating this thread as I continue releasing new versions. If you have questions, please don't hesitate to ask or make conversation. If you're interested in my private version's development (which mirrors this one currently), you can find updates using the link below. Thanks again for your interest and support.
[Only registered and activated users can see links. Click Here To Register...]
Answered Questions
Q: Is there a C# version?
A: No. The project is written in Go.
Q: How do I set up the server?
A: Instructions are in the readme.
New: Just a heads up for people reading the source, I'm planning to replace a large amount of code / restructure packages / clean up quite a bit. If you're using this as a template to start a server from a clean base, I recommend holding off until I release the new version.
Introduction
Chimera is an open source distributed systems project, targeted at the Conquer Online game client at patch 5615. Use of this project with the game client is purely academic, and cannot be used legally for profit or public server operation. It's authored in Go for the purpose of multi-processor computation of mass network traffic from connected game clients. It achieves this by design and implementation: both in architecture of the server mesh, and implementation of the mesh through routines, channels, and remote procedure calls.
Server Architecture
Chimera is separated by three server roles: the account server, game server, and map servers. The account server acts as gatekeeper for verifying and authenticating clients for the game and map servers. The map servers individually control a region or zone of the game, and mesh to form the entirety of the game world. Map servers are given their region on startup, but allow transfer of roles between map servers for rebalancing in real time (not yet implemented at this phase). Finally, the game server acts as a glue for the map servers, giving the world of Conquer Online a backbone that connects the zones of the world together and routes players between the zones.
Conclusion
I'll be updating this thread as I continue releasing new versions. If you have questions, please don't hesitate to ask or make conversation. If you're interested in my private version's development (which mirrors this one currently), you can find updates using the link below. Thanks again for your interest and support.
[Only registered and activated users can see links. Click Here To Register...]
Answered Questions
Q: Is there a C# version?
A: No. The project is written in Go.
Q: How do I set up the server?
A: Instructions are in the readme.