Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a2294a181d100abb

Jump to content

Draft:CatchChallenger

From Wikipedia, the free encyclopedia
CatchChallenger
DeveloperHerman Brule (alphaonex86)
Written inC++
EngineCustom
Operating systemMicrosoft Windows, Linux, macOS, Android, FreeBSD
TypeMMORPG engine
LicenseGPL-3.0
Websitecatchchallenger.herman-brule.com

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

[edit]

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

[edit]

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

[edit]

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

[edit]

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

[edit]

References

[edit]
  1. ^ a b c d "CatchChallenger Repository". GitHub. Retrieved May 28, 2026.
  2. ^ "CatchChallenger en 2017". LinuxFr.org (in French). November 2017. Retrieved May 29, 2026.
  3. ^ "The CatchChallenger Open Source Project on Open Hub". Open Hub. Retrieved May 29, 2026.
  4. ^ Brule, Herman. "CatchChallenger Home Page". Retrieved May 28, 2026.
  5. ^ "CatchChallenger Datapack Structure and Specifications". GitHub. Retrieved May 28, 2026.