From 088edd63c5966e8159c3952cedbc2e748a8c08d9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 02 十二月 2021 18:31:40 +0800
Subject: [PATCH] 5295 【BT5_1.100.1】【BT5】【主干】【gt_1.102.1】开服运营活动异常重置(修复玩家0点整服务器处理onday前登录导致的运营活动重置)

---
 Tool/RemoteTool/RemoteServer/webapp.py |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/Tool/RemoteTool/RemoteServer/webapp.py b/Tool/RemoteTool/RemoteServer/webapp.py
index a2e8e30..b6c67a3 100644
--- a/Tool/RemoteTool/RemoteServer/webapp.py
+++ b/Tool/RemoteTool/RemoteServer/webapp.py
@@ -22,6 +22,7 @@
 from email.header import Header
 import datetime
 import subprocess
+import urllib
 # get: request.query.username request.GET.get('username','')
 # post: request.forms.get('username')  request.POST.get('username')
 #===============================================================================
@@ -98,9 +99,10 @@
         
         elif stateType in ["MapError", "GameServerError", "PyMongoError"]:
             #groupID=%s&userDBName=%s&Type=PyMongoError
-            ServerInfo = "错误类型:%s 服务器组:%s, dbname:%s"%(stateType,
+            ServerInfo = "错误类型:%s 服务器组:%s, dbname:%s msg:%s"%(stateType,
                                                        dataDict.get("groupID", 0),
-                                                       dataDict.get("userDBName", 0))
+                                                       dataDict.get("userDBName", 0),
+                                                       urllib.unquote_plus(dataDict.get("MsgInfo", "0")))
             SendEmail(ServerInfo)
             return
         elif stateType == "MapDisconnect":
@@ -113,10 +115,18 @@
             return  
         elif stateType == "GameWarning":
             # 游戏通用警告邮件使用
-            ServerInfo = "游戏警报:服务器组:%s, dbname:%s, 警告信息:"%(
+            ServerInfo = "游戏警报:服务器组:%s, dbname:%s, 警告信息:%s"%(
                                                        dataDict.get("groupID", 0),
                                                        dataDict.get("userDBName", 0),
-                                                       dataDict.get("MsgInfo", 0))
+                                                       urllib.unquote_plus(dataDict.get("MsgInfo", 0)))
+            SendEmail(ServerInfo)
+        elif stateType in ["MapServerRaiseException", "GameServerRaiseException", "RaiseException"]:
+            ServerInfo = "%s 抛出Try异常报错:服务器组:%s, dbname:%s, MapID:%s 异常信息:%s"%(
+                                                       stateType,
+                                                       dataDict.get("groupID", 0),
+                                                       dataDict.get("userDBName", 0),
+                                                       dataDict.get("mapID", 0),
+                                                       urllib.unquote_plus(dataDict.get("MsgInfo", 0)))
             SendEmail(ServerInfo)
         elif stateType == "QueryMapOK":
             if g_AllMapCnt == 0:
@@ -129,6 +139,11 @@
             return "服务器开启完毕,地图数:%s"%g_AllMapCnt
     except Exception, e:
         print e
+        ServerInfo = "控制台报错,服务器异常!  %s"%e
+        try:
+            SendEmail(ServerInfo)
+        except:
+            print "无法发送邮件"
 
 # 邮件汇报
 def SendEmail(ServerInfo):
@@ -142,7 +157,7 @@
     sender = '2199274165@qq.com'
     
     # 这里可以填写需要接收汇报的邮件地址
-    receivers = ['305670599@qq.com']#, '1142397645@qq.com']  
+    receivers = ['305670599@qq.com']#, '1142397645@qq.com', '305670599@qq.com', '995275190@qq.com']  
      
     message = MIMEText('异常汇报:%s'%ServerInfo, 'plain', 'gbk')
     message['From'] = Header("游戏服务器异常汇报", 'gbk')

--
Gitblit v1.8.0