项目结构
handlers
客户端通信接口处理模块
Sailina.Tang.Player.Handlers
客户端通信接口请求处理项目,用于处理客户端发送的请求。
hosts
服务启动宿主模块,该项目只作为启动宿主,不包含业务逻辑。
Sailina.Tang.Game.Host
游戏服启动程序,用于启动游戏服。
Sailina.Tang.Management.Host
游戏管理命令行工具,用于执行游戏插件,处理游戏数据问题或调整游戏数据。
Sailina.Tang.Persistence.Host
游戏数据持久化服务程序,用于异步持久化玩家数据到玩家数据库。需要RabbitMQ支持。
infrastructure
基础代码模块
Sailina.Tang.Abstract
基础代码接口定义项目,本项目定义部分基础功能的接口、抽象类及数据结构。
- 该项目开发详情请参阅: Abstract
Sailina.Tang
基础代码接口实现项目,本项目实现部分基础功能的接口的逻辑。
Sailina.Tang.Quartz
Quartz 集成项目,用于执行游戏中的部分定时任务。
Sailina.Tang.Settings
游戏配置数据定义项目,用于定义游戏中的配置参数。
management
游戏管理模块,用于处理GM平台发送的管理指令。
Sailina.Tang.Management.Abstract
游戏管理模块接口定义项目,用于定义游戏管理服务的接口及数据结构。
Sailina.Tang.Management
游戏管理模块接口实现项目,用于实现游戏管理服务的接口逻辑。
Sailina.Tang.Management.Web
游戏管理模块的ASP.NET Core 实现,可以部署在游戏服中或独立部署,目前部署在游戏服服务上。如需独立部署需另外开发ASP.NET Core 宿主程序。
modules/player
游戏服务端业务逻辑模块
Sailina.Tang.Player
游戏服接口项目,用于定义游戏Orleans集群对外服务的接口及数据结构。
Sailina.Tang.Player.Entities
游戏服数据实体定义项目,用于定义游戏实体及状态的数据结构。
Sailina.Tang.Player.Implement
游戏服业务逻辑实现项目,本项目实现了游戏服的所有业务逻辑。
plugins
插件模块
Sailina.Tang.Plugins
游戏GM插件项目,本项目用于开发游戏服务端GM插件,本项目实现的逻辑可以由 Sailina.Tang.Management.Host 命令行项目调用。
tools
工具模块
Sailina.Tang.SettingImport.WindowsForms
策划配置Excel文档配置参数导入项目,用于将策划创建的游戏配置参数从Excel导入到MySQL数据库中。