hxp
4 天以前 c3bbd3b0263fc6c2127cd9f072f497f46f98758b
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -1371,6 +1371,22 @@
    ## 是否跨服中心服务器
    return GetServerType() == ShareDefine.serverType_CrossCenter
def CheckCrossCenterUniquenessErr():
    ## 检查跨服中心唯一性
    # @return: 是否异常
    if not IsCrossCenter():
        return
    serverCnt = 0
    serverDict = ReadChConfig.GetServerConfigDict()
    for serverInfo in serverDict.values():
        serverType = serverInfo[ShareDefine.serverCfgIndex_ServerType]
        if serverType == ShareDefine.serverType_CrossCenter:
            serverCnt += 1
            if serverCnt > 1:
                SendGameErrorEx("CrossCenterUniquenessErr", "跨服中心只允许配置一台", isRaiseErr=True)
                return
    return
def IsMainServer():
    ## 是否游戏服
    return GetServerType() == ShareDefine.serverType_Main
@@ -1407,7 +1423,7 @@
    #    MainServerDict = {} # 所属主服ID {子服ID:主服ID, ...}
    #    groupName = GetServerGroupName()
    #    serverDict = ReadChConfig.GetServerConfigDict()
    #    for serverInfo in serverDict:
    #    for serverInfo in serverDict.values():
    #        groupName = serverInfo[ShareDefine.serverCfgIndex_GroupName]
    #        serverMapID = serverInfo[ShareDefine.serverCfgIndex_MapID]
    #        serverType = serverInfo[ShareDefine.serverCfgIndex_ServerType]
@@ -2445,15 +2461,32 @@
def DebugAnswer(curPlayer, text):
    '''转码后再发DebugAnswer'''
    '''转码后再发DebugAnswer
    @param curPlayer: 跨服服务器时支持直接传入 crossPlayer
    '''
    #===========================================================================
    # if not GetGameWorld().GetDebugLevel():
    #    return
    #===========================================================================
    DebugLog(text, curPlayer.GetPlayerID())
    playerID = curPlayer.GetPlayerID()
    if IsCrossServer():
        crossPlayer = curPlayer
        mainServerID = crossPlayer.GetMainServerID()
        if not mainServerID:
            return
        import CrossMsg
        CrossMsg.SendToClientServer(ShareDefine.C2S_GMDebugAnswer, {"text":text}, [mainServerID], playerID)
        return
    DebugLog(text, playerID)
    text = text.decode(ShareDefine.Def_Game_Character_Encoding).encode(GetCharacterEncoding())
    curPlayer.DebugAnswer(text)
    return
def C2S_GMDebugAnswer(dataMsg, playerID):
    text = dataMsg["text"]
    curPlayer = GetPlayerManager().FindPlayerByID(playerID)
    if curPlayer:
        DebugAnswer(curPlayer, text)
    return
def RaiseException(errorMsg, playerID=0):
@@ -2465,10 +2498,10 @@
        SendGameError("MapServerRaiseException", errorMsg)
    return
def SendGameErrorEx(errType, msgInfo="", playerID=0):
def SendGameErrorEx(errType, msgInfo="", playerID=0, isRaiseErr=False):
    ErrLog("SendGameErrorEx: %s -> %s" % (errType, msgInfo), playerID)
    SendGameError(errType, msgInfo)
    if GetGameWorld().GetDebugLevel():
    if isRaiseErr or GetGameWorld().GetDebugLevel():
        raise Exception("%s -> %s" % (errType, msgInfo))
    return