Zinx源代碼
github
https://github.com/aceld/zinx
gitee碼云
https://gitee.com/Aceld/zinx
在線開發(fā)教程
【B站】
zinx視頻教程-Golang輕量級TCP服務(wù)器框架-適合自學(xué)者
【YouTube】
zinx開發(fā)YouTube中國版
微信端文檔
【Zinx教程目錄】
完整教程電子版(在線高清)-下載
Zinx框架視頻教程(框架篇)(完整版下載)鏈接在下面正文
Zinx框架視頻教程(應(yīng)用篇)(完整版下載)鏈接在下面正文
Zinx開發(fā)API文檔
Zinx第一章-引言
Zinx第二章-初識Zinx框架
Zinx第三章-基礎(chǔ)路由模塊
Zinx第四章-全局配置
Zinx第五章-消息封裝
Zinx第六章-多路由模式
Zinx第七章-讀寫分離模型
Zinx第八章-消息隊列及多任務(wù)
Zinx第九章-鏈接管理
Zinx第十章-連接屬性設(shè)置
【Zinx應(yīng)用案例-MMO多人在線游戲】
(1)案例介紹
(2)AOI興趣點算法
(3)數(shù)據(jù)傳輸協(xié)議protocol buffer
(4)Proto3協(xié)議定義
(5)構(gòu)建項目及用戶上線
(6)世界聊天
(7)上線位置信息同步
(8)移動位置與AOI廣播
(9)玩家下線
(10)模擬客戶端AI模塊
五、MMO游戲的Proto3協(xié)議
MsgID | Client | Server | 描述 |
---|---|---|---|
1 | - | SyncPid | 同步玩家本次登錄的ID(用來標(biāo)識玩家) |
2 | Talk | - | 世界聊天 |
3 | MovePackege | - | 移動 |
200 | - | BroadCast | 廣播消息(Tp 1 世界聊天 2 坐標(biāo)(出生點同步) 3 動作 4 移動之后坐標(biāo)信息更新) |
201 | - | SyncPid | 廣播消息 掉線/aoi消失在視野 |
202 | - | SyncPlayers | 同步周圍的人位置信息(包括自己) |
MsgID
:1
SyncPid
:
同步玩家本次登錄的ID(用來標(biāo)識玩家), 玩家登陸之后趴乡,由Server端主動生成玩家ID發(fā)送給客戶端
發(fā)起者: Server
Pid: 玩家ID
message SyncPid{
int32 Pid=1;
}
MsgID
:2
Talk
:
同步玩家本次登錄的ID(用來標(biāo)識玩家), 玩家登陸之后,由Server端主動生成玩家ID發(fā)送給客戶端
發(fā)起者: Client
Content: 聊天信息
message Talk{
string Content=1;
}
MsgID
:3
MovePackege
:
移動的坐標(biāo)數(shù)據(jù)
發(fā)起者: Client
P: Position類型,地圖的左邊點
ActionData: 動作類型
message MovePackege{
Position P=1;
int32 ActionData=2;
}
message Position{
float X=1;
float Y=2;
float Z=3;
float V=4;
}
MsgID
:200
BroadCast
:
廣播消息
發(fā)起者: Server
Tp: 1 世界聊天, 2 坐標(biāo), 3 動作, 4 移動之后坐標(biāo)信息更新
Pid: 玩家ID
message BroadCast{
int32 Pid=1;
int32 Tp=2;
oneof Data {
string Content=3;
Position P=4;
int32 ActionData=5;
}
}
MsgID
:201
SyncPid
:
廣播消息 掉線/aoi消失在視野
發(fā)起者: Server
Pid: 玩家ID
message SyncPid{
int32 Pid=1;
}
MsgID
:202
同步周圍的人位置信息(包括自己)
發(fā)起者: Server
ps: Player 集合,需要同步的玩家
message SyncPlayers{
repeated Player ps=1;
}
message Player{
int32 Pid=1;
Position P=2;
}
關(guān)于作者:
作者:Aceld(劉丹冰)
簡書號:IT無崖子
mail: danbing.at@gmail.com
github: https://github.com/aceld
原創(chuàng)書籍gitbook: http://legacy.gitbook.com/@aceld
原創(chuàng)聲明:未經(jīng)作者允許請勿轉(zhuǎn)載, 如果轉(zhuǎn)載請注明出處