epoch
开发工具
- JDK8
- mysql5.6
- Eclipse Java EE IDE[Oxygen.2 Release (4.7.2)]
- Gradle 4.10.1
如何启动示例
一、运行环境搭建
- 安装JDK8
- mysql5.6
- redis3.2以上
- 编译工具ant-1.10.5,配置ANT_HOME
- copy寻路库EpochNavMesh.dll 到系统盘:/windows/目录下
二、创建数据库
需要三个数据库
- epoch_game --存储游戏数据
- epoch_conf --策划配置数据
- epoch_log --日志
game库和conf库初始sql脚本位于deploy/sql目录下,log库为空即可
配置
配置文件位于config目录下
- cfg.properties 数据库相关配置
- cfg-data.xml 策划配置库是配置
- distr.properties 分布式服务配置
- log4j2.xml 日志log4j2配置
- operlog.properties 数据分析平台日志配置
- quartz.properties 任务调度工具quartz相关配置
启动项目
启动依赖项
启动游戏
ide中启动game-server/src/ServerStart.java
项目结构说明
- game-core 框架基础代码和工具
- game-msg 自动生成的消息
- game-server 游戏业务代码
- game-test 测试代码
- game-tools 常用外围工具
- robot 机器人客户端
- deploy 项目构建目录
脚本开发
为了较好的解决热更新,本项目采用java的classloader来热加载jar文件,开发者不用精通额外的脚本语言,用原生java即可。
脚本开发需要注意的点:
- 脚本类均是IScript的子类
- 脚本类不能持有变量
- 脚本类和src目录下代码的依赖关系是单向的:脚本 ---[依赖]---> src代码
消息定义
消息采用Google-protobuf进行消息序列化
工具使用
1、Excel工具:可生成服务器代码和导入数据到conf库
2、game-tools项目下
- ServiceProxyGen 生成服务代理
- EntityGen 生成数据实体类
- MsgHandlerGenerator 生成消息注册和handler类
-
编译发布
运行game-server项目build.xml即可将项目编译发布到/deploy/目录下