hxp
2024-07-08 0d0ae1b28705c90d5b0bc5f15c995fb668dc924b
10196 【越南】【香港】【主干】【砍树】增加地图数量开启警告
2个文件已修改
51 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RemoteTool/RemoteServer/webapp.py 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -114,6 +114,7 @@
import CrossChampionship
import GameWorldMineArea
import GameWorship
import os
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -1451,6 +1452,7 @@
    if not GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit):
        GameWorld.Log("AllMapServerInitOK时GameServer还未启动好!")
        return
    __CheckAllMapInitOK()
    #通知所有地图服务器初始化成功, 同步时间
    GameWorld.GetGameWorld().Notify_AllMapServerInitOK(GameWorld.GetCurrentDataTimeStr())
    
@@ -1544,6 +1546,41 @@
    GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
    return
def __CheckAllMapInitOK():
    ## 检查所有地图是否启动成功
    rootPath = ChConfig.GetServerRootPath()
    mapIDTxtPath = os.path.join(rootPath, "ZoneServerGroup\map1_8G\MapServer\MapServerData\Map\MapID.txt")
    if not os.path.isfile(mapIDTxtPath):
        GameWorld.ErrLog("MapID.txt不存在: %s" % mapIDTxtPath)
        return
    fileObj = open(mapIDTxtPath, 'rb')
    content = fileObj.read()
    fileObj.close()
    mapInfoDict = {}
    mapInfoList = content.split('\r\n')
    for info in mapInfoList:
        mapInfo = info.split('\t')
        if len(mapInfo) < 3:
            continue
        mapInfoDict[GameWorld.ToIntDef(mapInfo[1])] = mapInfo[2]
    gameMapManager = GameWorld.GetGameWorld().GetGameMapManager()
    for i in range(0, gameMapManager.GetCount()):
        curMap = gameMapManager.GetAt(i)
        mapID = curMap.GetID()
        state = curMap.GetState()
        if mapID in mapInfoDict and state == IPY_GameServer.mssRunning:
            mapInfoDict.pop(mapID)
    if not mapInfoDict:
        #GameWorld.Log("都启动成功了")
        return
    # 汇报没有启动启动成功的地图ID信息
    errorMapIDList = mapInfoDict.keys()
    GameWorld.SendGameError("AllMapInitError", "未启动成功地图:%s" % (str(errorMapIDList)))
    return
## 服务器合服首次启动数据加载处理
#  @param None
#  @return None
Tool/RemoteTool/RemoteServer/webapp.py
@@ -237,10 +237,16 @@
    
    serverInfo = dbname.split('GameUser_')[1]
    
    message = MIMEText('%s' % mailText, 'plain', 'gbk')
    message['From'] = Header("%s %s" % (serverInfo, subject), 'gbk')
    message['To'] = Header("运维", 'gbk')    # 不发送的话会被记录为垃圾邮件
    message['Subject'] = Header(subject, 'gbk')
    if SMTPServer == "qq":
        message = MIMEText('%s' % mailText, 'plain', 'gbk')
        message['From'] = mail_user
        message['To'] = Header("运维", 'gbk')    # 不发送的话会被记录为垃圾邮件
        message['Subject'] = Header("%s%s" % (serverInfo, subject), 'gbk')
    else:
        message = MIMEText('%s' % mailText, 'plain', 'gbk')
        message['From'] = Header("%s %s" % (serverInfo, subject), 'gbk')
        message['To'] = Header("运维", 'gbk')    # 不发送的话会被记录为垃圾邮件
        message['Subject'] = Header(subject, 'gbk')
    
    if SSL == 1:
        smtpObj = smtplib.SMTP_SSL(mail_host)