explaingit

awp0721/cqyh_server

15C#Audience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A C# game server framework for studying online game infrastructure, featuring login verification, A* pathfinding, NPC and quest systems, and dungeon instances, built for learning, not production use.

Mindmap

mindmap
  root((Elaina Engine))
    Architecture
      Account server
      Game server
      Client launcher
    Game systems
      A* pathfinding
      NPC system
      Quest system
      Dungeon instances
    Tech stack
      C# 10
      .NET 8
      Lua scripting
    Audience
      Student developers
      Game dev learners
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study how a multi-server game architecture splits account login from game logic across separate processes.

USE CASE 2

Explore A* pathfinding, NPC systems, and dungeon instances in a working C# codebase.

USE CASE 3

Build on the quest or achievement system by adding your own content as a learning exercise.

USE CASE 4

Understand how a custom binary network protocol connects a game client to multiple servers.

Tech stack

C#.NET 8LuaDevExpress

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Visual Studio 2022 and DevExpress UI components. README documents active security vulnerabilities, use only on a local or isolated machine.

Personal study, academic research, and private projects allowed, commercial operation and paid distribution are prohibited.

In plain English

Elaina Engine (the Chinese name is 伊蕾娜引擎) is a game server framework built in C# on .NET 8 and published for learning purposes. The name references a character from the Japanese light novel series known in English as "The Journey of Elaina." The project is aimed at developers who want to study how online game server infrastructure is structured, not at running a commercial game. The codebase is split into three separate projects that must be started in a specific order. The account server runs first and handles player login verification on port 8001. The game server runs second and contains the core game logic, including A* pathfinding for character movement, an NPC system, a quest and achievement system, a dungeon instance system, and logging for player activity. A client-side launcher runs third and provides the login screen with a visual captcha. These three pieces talk to each other over a custom binary network protocol. The project is written in C# 10 and requires Visual Studio 2022 with DevExpress UI components installed. It also depends on several third-party libraries for JSON handling, Lua scripting, CSV reading, and archive compression. Building it means opening the solution file, restoring those dependencies, and compiling. The README includes a security audit notice with documented vulnerabilities: passwords are transmitted without encryption, and the ticket-forwarding system between the account server and game server has no authentication. The maintainer advises against exposing the server ports on any real network and recommends using it only on a local machine or in an isolated test environment. The license permits personal study, academic research, and private projects, but prohibits commercial operation of the server or paid distribution of the code. All original copyright notices must be kept if the code is shared further.

Copy-paste prompts

Prompt 1
Walk me through the Elaina Engine architecture, how do the account server, game server, and client launcher communicate with each other and what order must they start in?
Prompt 2
Show me how A* pathfinding is implemented in the cqyh_server game server and how I could modify it for a custom map layout.
Prompt 3
I want to add a new quest type to the Elaina Engine. What files do I need to change and what does the existing quest data structure look like?
Prompt 4
Explain the custom binary network protocol used in cqyh_server, how are packets structured and how does the client authenticate with the account server?
Open on GitHub → Explain another repo

← awp0721 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.