偶然得到了一份英雄远征的Erlang服务端源代码,想着通过对源代码的分析,来熟悉使用Erlang编程语言的游戏服务器的设计,游戏中关键逻辑的实现。
解压压缩文件后,在Idea内导入文件夹创建相关工程,可以看到文件结构如下:
doc:协议文档
ebin:保存编译后的ebin文件,由于是启动目录,所以也包含了gateway.app,server.app,log.config
include:.hrl头文件
script:可执行脚本,gateway.sh用于启动网关服务器,install.sh用于安置数据库,run.sh用于启动游戏服务器
src:游戏erlang源码,结构如下
data:如data_dungeon,data_mon,配置文件,包括副本,怪物,场景,任务等的配置,初始化的时候从这里读取
lib:工具函数模块,接收输入返回输出
mod:进程模块,用于创建进程,处理进程事务
pp:协议处理模块,处理接收到的前端发送过来的协议内容
prot