Centralized configuration with Git backing store
This article covers how Chimera loads configuration files using distributed methods, from files in Git to settings in memory for each service.
First imagined as a story piece, Chimera extends the Conquer Online game client to tell a narrative set in Ancient China. “While the region teeters on the declaration of war, rival guilds will challenge an empire and set the skies ablaze.” Though just a teaser, Chimera explores the idea of enriching gameplay and story elements with historical events, using events and Chinese mythology as a framework for building lore and legend. From a player perspective, Chimera delivers personalized storyline through world building, interactive quests, collaborative raid experiences, and massively multiplayer world events. It also serves a fast-paced, realtime PVP experience in the form of overworld PVP, events, and leaderboards.
In terms of technical specifications, Chimera experiments with microservice architecture for distributing maps and game server functions. The project is comprised of multiple microservices which all play a role in a stage or function of gameplay, such as: accounts, characters, chat, friends, inventory, matchmaking, etc. Three stateful service roles, however, help proxy and serve state to the client and other backend stateless services:
Validates logins using a secure password protocol. Gates communication with the account and authority microservices.
Routes client requests to global microservices and to the connected region service. Loads states from various other microservices.
Contains a single or multiple map instances using partitioning to split up the game world. This allows for live service migrations.
I really appreciate your interest, but please remain patient while Chimera undergoes its critical systems development phase. Until the core services can be fleshed out and stabilized, I will not be accepting applications for testing. I do plan on posting more updates as I start regular feature development, so feel free to check back later or bookmark this page.
This article covers how Chimera loads configuration files using distributed methods, from files in Git to settings in memory for each service.
Setup build configurations in Docker Compose and remote debug your microservices running in Docker using delve from Visual Studio Code.
Let’s talk about the complexities and challenges of multi-threaded game server design, and the tools and solutions we have available to us.
Algorithms and packet structuring used by this project for interoperability with the Conquer Online game client is a result of reverse engineering. By Sec. 103(f) of the DMCA (17 U.S.C. § 1201 (f)), legal possession of the Conquer Online client is permitted for this purpose, including circumvention of client protection necessary for achieving interoperability. Chimera is a non-profit, self-study project and not associated with TQ Digital Entertainment. All rights over Chimera are reserved by Gareth Jensen “Spirited”. All rights over the game client are reserved by TQ Digital Entertainment. This project does not distribute modified game clients.
By continuing to browse or by clicking “Accept”, you agree to the storing of cookies on your device for commenting and analytical purposes.