hch
3 天以前 6eb44269436d3ce2d4181ddb5aadceccb06ef76a
0312 临时调整GM封包
1个文件已修改
22 ■■■■■ 已修改文件
Server/tool.php 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/tool.php
@@ -10,12 +10,32 @@
include_once 'AuthorityInfo.php';
include_once '/Common/MongoCommon.php';
#---卡牌的GM封包格式---------------------------------------------------
#GM命令#tagGMCommand
#class  tagGMCommand(Structure):
#    Type = 0    #(BYTE Type)
#    DirType = 0    #(BYTE DirType)//0全广播,1通知主服务器排除合服子服,2通知服务器包含合服子服, 3通知跨服服务器
#    ServerLen = 0    #(DWORD ServerLen)
#    ServerList = ""    #(String ServerList)//服务器列表格式可以是 [(1,10),13,16,(22,30)]
#    OrderLen = 0    #(BYTE OrderLen)
#    OrderId = ""    #(String OrderId)
#    CmdLen = 0    #(DWORD CmdLen)
#    Cmd = ""    #(String Cmd)
#    UserDataLen = 0    #(DWORD UserDataLen)
#    UserData = ""    #(String UserData)
#打包GM命令数据
function PackGMCommand( $strGuid, $type, $toServerID, $CmdLen, $Cmd, $UserDataLen, $UserData )
{
    $dirType = 1;
    $serverList = "[".$toServerID."]";
    $serverLen = strlen($serverList);
    // 兼容MMO服务器及卡牌指定目标ServerID的服务器,方便内网游戏服务器部署开发环境测试
    if ($toServerID > 0) {
        return pack( 'C1', $type ).pack( 'V1', $toServerID ).pack( 'C1', strlen($strGuid) ).$strGuid.pack( 'V1', $CmdLen ).$Cmd.pack( 'V1', $UserDataLen ).$UserData;
        return pack( 'C1', $type ).pack( 'C1', $dirType ).pack( 'V1', $serverLen ).$serverList.pack( 'C1', strlen($strGuid) ).$strGuid.pack( 'V1', $CmdLen ).$Cmd.pack( 'V1', $UserDataLen ).$UserData;
    }
    return pack( 'C1', $type ).pack( 'C1', strlen($strGuid) ).$strGuid.pack( 'V1', $CmdLen ).$Cmd.pack( 'V1', $UserDataLen ).$UserData;
}