# epoch **Repository Path**: zwqlive/epoch ## Basic Information - **Project Name**: epoch - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2018-08-01 - **Last Updated**: 2024-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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相关配置 ### 启动项目 启动依赖项 - 需要启动redis 启动游戏 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/目录下