/Gameng

Gameng, a fork of GameDig, reimagines game server querying with a focus on modularity, extensibility, and performance.

Primary LanguageTypeScriptMIT LicenseMIT

Gameng: Game Server Query Engine

Overview

Gameng is an fork of the reputable GameDig library, targeting game server queries with an ambition for novel design goals and a refined architecture. As a project under active development, it currently stands in a nascent phase, advising against its use due to anticipated frequent, unnotified breaking changes.

Motivation

While GameDig serves as a robust, time-tested library widely used in querying game servers, Gameng emerges from the desire to innovate beyond the original's design constraints. The initiative to fork rather than directly contribute to GameDig stems from an aspiration to explore alternative design philosophies, architectures, and technologies such as TypeScript and Deno, potentially diverging from the compatibility and goals of the original project.

The rationale behind forking, as opposed to starting anew, is to leverage the substantial foundation GameDig provides, recognizing its immense value and aiming to enhance rather than rebuild from the ground up. This approach allows Gameng to maintain a connection to its origins while pursuing growth in new directions.

Development Strategy

The development of Gameng is steered by TypeScript, with a focus on crafting a modular, extensible framework. The experience gained from working with GameDig and contributing with the Rust variant has furnished valuable insights that shape the design and functionality of Gameng.

The envisioned architecture aims for simplicity in maintenance, extension, and contribution, prioritizing modularity to facilitate the inclusion of new games and features seamlessly.

Design Objectives

  • Schema-Driven Design: Simplifying the addition of new games and features through a structured approach.
  • Extensibility: Enabling easy expansion with additional functionalities.
  • Maintainability: Ensuring ease of maintenance.
  • User-Friendliness: Offering a clear, intuitive interface for developers.
  • Efficiency: Prioritizing high performance and resource optimization.

Gameng is set to redefine the landscape of game server queries through its innovative design, building upon the strong legacy of GameDig while navigating a unique path forward.

Contributing

Gameng is an open-source project, and contributions are welcome. The project is currently in its early stages, and the roadmap does not yet exist. However, the development of Gameng is open to the community, and any contributions, feedback, and suggestions are appreciated.

At this early stage of the project lifecycle, the primary focus is on establishing the core architecture and design principles. As the project matures,a roadmap will be defined. In the meantime, contributors are expected to have a strong understanding of TypeScript and game server queries.

Attribution

Gameng is a derivative of the GameDig project, and it is essential to acknowledge the original creators and contributors. The project is built upon the foundation laid by GameDig, and its success is indebted to the hard work and dedication of the GameDig team and contributors.