Zinx源代碼
github
https://github.com/aceld/zinx
gitee碼云
https://gitee.com/Aceld/zinx
在線(xiàn)開(kāi)發(fā)教程
【B站】
zinx視頻教程-Golang輕量級(jí)TCP服務(wù)器框架-適合自學(xué)者
【YouTube】
zinx開(kāi)發(fā)YouTube中國(guó)版
微信端文檔

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