gitmyhub

CQYH_Server

C# ★ 36 updated 16h ago

Elaina Engine (伊蕾娜引擎) - .NET 8 公开发布的游戏服务端引擎 / Public game server engine on .NET 8

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.

C#.NET 8LuaDevExpresssetup: hardcomplexity 4/5

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.

Where it fits