CatchChallenger
| Developer(s) | Herman Brule (alphaonex86) |
|---|---|
| Written in | C++ |
| Engine | Custom |
| Operating system | Microsoft Windows, Linux, macOS, Android, FreeBSD |
| Type | MMORPG engine |
| License | GPL-3.0 |
| Website | catchchallenger |
Search CatchChallenger on Amazon.
CatchChallenger is a free and open-source massively multiplayer online role-playing game (MMORPG) engine written primarily in C++ using the Qt framework.[1] It is developed by Herman Brule (known online as alphaonex86) and released under the GPL-3.0 license. Development began in 2011.[1] The project comprises a game client, several server components, and shared libraries, and is designed to run on hardware ranging from single-board computers to multi-server clusters. By 2017 the codebase was reported to total around 400,000 lines of code accumulated over about five years.[2][3]
Architecture
CatchChallenger uses a modular, multi-component server design rather than a single monolithic server, which allows it to be deployed on a single machine or distributed across several nodes.[4]
- Login servers authenticate accounts and direct connected users to game servers.
- Game servers manage world maps and game state.
- Datapack repositories distribute game content over HTTP, separating content delivery from the game servers.
The server uses non-blocking input/output and supports several storage backends, including PostgreSQL via libpq and a binary file format, with the aim of avoiding blocking the main loop during data operations. Authoritative game state is maintained on the server while some path and display computation is performed by the client.
Technologies
The engine makes use of several third-party libraries:
| Component | Technology |
|---|---|
| Client interface and cross-platform framework | Qt |
| Data compression | Zstandard |
| Hashing | BLAKE3 and xxHash |
Compression is applied selectively to parts of the protocol rather than to all traffic.
Cross-platform support
Because platform-specific code is isolated behind the Qt framework, CatchChallenger can be built from a single codebase for Microsoft Windows, Linux, macOS, FreeBSD, and Android.[1]
Content and testing
Game content—maps, monsters, skills, items, and dialogue—is stored in external "datapacks" as XML files, keeping content separate from the compiled engine.[5] The project includes automated tests for protocol serialization and game logic, and a benchmarking tool that simulates many concurrent bot connections.[1]
See also
References
- ↑ 1.0 1.1 1.2 1.3 "CatchChallenger Repository". GitHub. Retrieved May 28, 2026.
- ↑ "CatchChallenger en 2017". LinuxFr.org (in français). November 2017. Retrieved May 29, 2026.
- ↑ "The CatchChallenger Open Source Project on Open Hub". Open Hub. Retrieved May 29, 2026.
- ↑ Brule, Herman. "CatchChallenger Home Page". Retrieved May 28, 2026.
- ↑ "CatchChallenger Datapack Structure and Specifications". GitHub. Retrieved May 28, 2026.
This article "CatchChallenger" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:CatchChallenger. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
