- 博客(8)
- 资源 (1)
- 收藏
- 关注

原创 最后一战(LastBattle)服务器源码分析1——服务器架构
服务器架构简图如下:连线说明:实线:表示客户端登录流程,①②③④⑤表示登录流程,详细解释见下文。虚线:表示服务器间的连接,虚线箭头指向监听方。架构说明:英文名称简称中文名称功能简介单个大区需求数量数量说明GameClientGC游戏客户端不解释n不超服务器承载上限均可LoginSerLS游戏登录服务器用于登录验证的服务器1登录入...
2019-07-12 17:42:57
3987
1
原创 Linux Etc/GMT 与现实时GMT区对比
最近在部署当你使用Linux设定时区时,若是选用Etc底下的GMT时区,可能会发现设定的结果与你预想的不同,当你想设定台北的时区(GMT+8) ,但设定完后,系统时间却是-8的时区,和台北时间相差16小时,原因是因为Etc底下的GMT时区是以格林威治以西为正,以东为负,刚好与我们现实生活的认知相反而原因只是因为当初Unix 多为西方人使用,便以西为正因此在设定的时候需要选择正负相反的选项h...
2020-04-12 18:50:02
3244
原创 windows安装pip和whl文件
1.安装python点击安装(直接默认安装即可),将python的安装目录添加到环境变量,之后在powershell中输入:python -V查看python版本。python3.7.0.exe下载地址:python3.7.0.exe2.下载pip,地址:pip.19.3.1.tar.gz3.解压pip文件,以管理员身份打开powershell中切换到解压的目录下,输入:p...
2019-11-30 19:59:58
678
原创 最后一战(LastBattle)服务器源码分析8.1——定时器
定时器:目前主流的定时器实现包括时间轮和最小堆,最后一战是用最小堆(优先队列)实现的定时器,下面先分析下其具体实现: typedef std::function<void(int64_t, int64_t)> HeartbeatCallback; typedef int64_t TimeKey; class CBattleTimer { public: CBattle...
2019-08-06 16:57:57
982
原创 最后一战(LastBattle)服务器源码分析3——场景服务器(SceneServer)
场景服主要用于游戏战斗,包括战场创建管理,机器人AI,移动系统,视野系统,技能系统等。int main(){ ... CSSCfgMgr::GetSSCfgInstance().Initialize();//初始化场景服,加载地图,英雄等数据 CSSWorkThreadMgr::GetInstance().Init();//主线程初始化配置,连接中心服和日志服务器 CSSWorkTh...
2019-07-13 17:57:50
1840
2
原创 最后一战(LastBattle)服务器源码分析2——中心服务器(CentralServer)
中心服CS:作为游戏的核心服务器,中心服承担着除战斗外的所有游戏功能,包括房间匹配,场景服(SS)战斗及玩家的管理控制,邮件系统,玩家实体创建和管理,Kernel核心管理,数据存储与缓存,游戏日志生成等。房间匹配:class CCSMatchMgr{public: ... INT32 TeamStartMatch(IMatchPlayer* pPlayer);//开始匹配...
2019-07-12 17:47:11
2139
原创 libevent,zeromq,和muduo三个网络库进行对比分析
#本文将libevent,zeromq,和muduo三个网络库进行对比分析:libevent:1.数组定义TAILQ_HEAD和TAILQ_ENTRY: #define TAILQ_HEAD(name, type) \ struct name { \ ...
2019-07-12 14:30:04
1791
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人