GS文件


Published:   Comment: No Comments

奇迹MU架设

SocketManager.h / SocketManager.cpp

主入口 ,TCP/IOCP 完成端口模型:`Start(port)` 监听、CreateListenSocket/CreateCompletionPort/CreateAcceptThread/CreateWorkerThread/CreateServerQueue、`WSAAccept` +`ServerAcceptCondition` 、`WSARecv/WSASend` 重叠 IO、`DataRecv/DataSend/Disconnect/OnRecv/OnSend` 、`ServerQueueThread` 把队列里解出的包丢给 ProtocolCore()` 

SocketManagerUdp.h / SocketManagerUdp.cpp

 UDP 通道,`Connect(ConnectServerAddress, ConnectServerPort)` 与 CS 通信用(`ConnectServerInfoSend` 周期性发送`SDHP_GAME_SERVER_LIVE_SEND` )

Connection.h / Connection.cpp

通用 TCP 客户端封装`CConnection` :`Connect/Disconnect/CheckState/DataRecv/DataSend/DataSendEx` ,基于`WSAEVENT` + 工作线程`SocketEventsThread` ,接收后回调`wsProtocolCore(head, lpMsg, size)`

JSProtocol.h / JSProtocol.cpp

JoinServer 协议:`JoinServerProtocolCore` 、`GJServerInfoSend` 、登录认证(账号密码走 JS 转发)

DSProtocol.h / DSProtocol.cpp

 DataServer 协议:`DataServerProtocolCore` 、`GDServerInfoSend` 、角色/装备/仓库数据存取

Protocol.h / Protocol.cpp

 `ProtocolCore(head, lpMsg, size, aIndex, encrypt, serial)` 客户端包主分发,处理登录(`CGConnectAccountRecv` )、角色选择、移动、攻击、聊天等所有 GS 业务包

ProtocolDefines.h

`PBMSG_HEAD/PWMSG_HEAD` 、加解密宏(`XOR` /`PACKET_ENCRYPT` /`PACKET_DECRYPT` )、序列号校验宏 

PacketManager.h / PacketManager.cpp

C3/C4 包 Modulus 加解密(与客户端的 PacketManager.cpp 对应)

Util.h / Util.cpp
DataSend(aIndex, lpMsg, size) → 转发到gSocketManager.DataSend ;DataSendAll 、DataSendSocket 、Disconnect(aIndex) 等全局发包/踢人函数( 全服各业务模块都通过这里发包 )

GameMain.h / GameMain.cpp

定义`gJoinServerConnection` 、`gDataServerConnection` 全局对象,`GameMainInit` 、`JoinServerConnect/Reconnect` 、`DataServerConnect/Reconnect` 、`QueueTimerCallback`

GameServer.cpp

`WinMain` :`WSAStartup` →`gSocketManager.Start(authPort)` →`GameMainInit` →`JoinServerConnect` →`DataServerConnect` →`gSocketManagerUdp.Connect(...)`

  • IpManager.h / IpManager.cpp :IP 连接数限制/封禁
  • HackCheck.h / HackCheck.cpp 与 HackPacketCheck.h / HackPacketCheck.cpp :基于协议字段的反挂校验
  • SerialCheck.h / SerialCheck.cpp :C3/C4 包 serial 序列号校验
  • Queue.h / Queue.cpp :IOCP 工作线程 → 协议线程的包队列
none
Last Modified:2026-11-06 03:27:55

我有话说