From e4a73fcd808bcf5e22099b73f2bc98e8b6ee84c6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 06 三月 2026 14:56:17 +0800
Subject: [PATCH] 16 卡牌服务端(后台禁言、封号支持;)
---
/dev/null | 65 -----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_KickPlayer.py | 92 ++------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidTalk.py | 178 +++++++---------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 31 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerForbid.py | 109 ++-------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidLogin.py | 168 +++++++--------
8 files changed, 219 insertions(+), 426 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 3c5320a..9140eb1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -1376,6 +1376,7 @@
if (curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidByPy)) <= 0:
return True
+ GameWorld.Log("玩家被封号禁止登录" , curPlayer.GetPlayerID())
curPlayer.Kick(IPY_GameWorld.disGMKick)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GMTExec/Test.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GMTExec/Test.py
deleted file mode 100644
index 4c641b0..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GMTExec/Test.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package Script.Player.RemoteQuery.GMTExec.Test
-#
-# @todo:测试命令文件运行
-# @author hxp
-# @date 2021-05-19
-# @version 1.0
-#
-# 详细描述: 测试命令文件运行
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2021-05-19 11:00"""
-#-------------------------------------------------------------------------------
-
-
-def runMyTest(exec_locals):
- ''' 运行命令函数
- @param exec_locals: GY_Query_GMTExecfile 模块中的 DoLogic 函数 locals()
-
- import 其他模块需要写在此函数里,不然无法引用到
- '''
- import GameWorld
-
- orderId = exec_locals["orderId"]
- cmdInfo = exec_locals["cmdInfo"]
- curPlayer = exec_locals["curPlayer"]
- resultDict = exec_locals["resultDict"] # 建议都进行更新结果字典记录详细处理信息,GY_Query_GMTExecfile 模块会统一写入流向
-
- # 以下为详细处理逻辑
-
- GameWorld.Log("This is MameServer GMT_Execfile run %s. orderId=%s" % (cmdInfo, orderId), curPlayer.GetPlayerID())
- resultDict.update({"LV":curPlayer.GetLV(), "PlayerID":curPlayer.GetPlayerID()})
- return
-
-exec_locals = locals()
-if exec_locals.get("cmdInfo"):
- runMyTest(exec_locals)
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index f473343..0b9de40 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -958,7 +958,7 @@
def OnPlayerLogin(curPlayer):
- DoGMForbidenTalkOnLogin(curPlayer)
+ #DoGMForbidenTalkOnLogin(curPlayer)
curPlayer.SetDict(ChConfig.Def_PDict_DayOnlineCalcTime, int(time.time()))
return
@@ -4094,20 +4094,21 @@
GameWorld.DebugLog("SetPlayerAccState %s" % (accState), curPlayer.GetPlayerID())
return
-def DoGMForbidenTalkOnLogin(curPlayer):
- ## 离线时被禁言,此时DB的账号状态值为禁言状态,但是GMOper暂时没有禁言操作命令,故上线时检查设置下离线禁言状态
- ## 目前离线时被禁言的,暂时只处理AccState ExAttr17, GMOper命令暂不处理,所以为永久禁言
-
- if curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalkDevice):
- GameWorld.Log("上线时角色为被设备禁言状态!", curPlayer.GetPlayerID())
- __SetGMForbidenTalkValue(curPlayer, 2)
- __SetGMForbidenTalkValue(curPlayer, 1)
- elif curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalk):
- GameWorld.Log("上线时角色为被禁言状态!", curPlayer.GetPlayerID())
- __SetGMForbidenTalkValue(curPlayer, 1)
- else:
- SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_ForbidenTalk, 0)
- return
+#GM命令支持离线玩家上线后处理,且 PlayerGMOper 也有上线触发逻辑处理,故暂屏蔽
+#def DoGMForbidenTalkOnLogin(curPlayer):
+# ## 离线时被禁言,此时DB的账号状态值为禁言状态,但是GMOper暂时没有禁言操作命令,故上线时检查设置下离线禁言状态
+# ## 目前离线时被禁言的,暂时只处理AccState ExAttr17, GMOper命令暂不处理,所以为永久禁言
+#
+# if curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalkDevice):
+# GameWorld.Log("上线时角色为被设备禁言状态!", curPlayer.GetPlayerID())
+# __SetGMForbidenTalkValue(curPlayer, 2)
+# __SetGMForbidenTalkValue(curPlayer, 1)
+# elif curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidTalk):
+# GameWorld.Log("上线时角色为被禁言状态!", curPlayer.GetPlayerID())
+# __SetGMForbidenTalkValue(curPlayer, 1)
+# else:
+# SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_ForbidenTalk, 0)
+# return
def IsMainLevelPass(curPlayer, lvID):
## 判断玩家是否过关某个主线关卡ID
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
index e48de7e..9f13b06 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
@@ -106,6 +106,7 @@
if checkGMForbidenTalk and GetGMToolForbidTalk(curPlayer):
#GeRen_chenxin_921745 对不起,您已被GM禁言,发送信息失败
#PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_921745")
+ GameWorld.DebugLog("已被禁言!", curPlayer.GetPlayerID())
return False
#间隔时间
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalk.py
deleted file mode 100644
index b76c4f3..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalk.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_ForbidTalk
-# @todo: 禁言
-#
-# @author: panwei
-# @date 2011-05-23
-# @version 1.1
-#
-# @note:
-# @change: "2014-01-07 15:30" hxp 系统mark修改
-#---------------------------------------------------------------------
-"""Version = 2014-01-07 15:30"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import PlayerControl
-import GameWorld
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [GM账户 , 持续时间]
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- curFindPlayer_GMOper = curFindPlayer.GetGMOperManager()
- gmOper = curFindPlayer_GMOper.AddGMOper(IPY_GameWorld.gmForbidTalk)
- lastTime = int(packCMDList[1])
- gmOper.SetGMAccID(packCMDList[0])
- gmOper.SetLastTime(lastTime)
-
- curFindPlayer_GMOper.Sync_SaveToDB()
-
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 1)
- #PlayerControl.NotifyCode(curFindPlayer, "GeRen_chenxin_80731", [lastTime])
- return
-#---------------------------------------------------------------------
-#执行结果
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def DoResult(curPlayer, callFunName, funResult, tick):
- if funResult == '':
- #GeRen_chenxin_112395 对不起,目标玩家不在线,GM指令操作失败
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_112395")
- return
-
- #GeRen_chenxin_673416 GM指令已生效,操作成功
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_673416")
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalkByIP.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalkByIP.py
deleted file mode 100644
index 9e2b892..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_ForbidTalkByIP.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-
-##@package GY_Query_ForbidTalkByIP
-# 对IP禁言
-#
-# @author mark
-# @date 2010-3-31
-# @version 1.1
-#
-# 修改时间 修改人 修改内容
-# @change: "2014-01-07 15:30" hxp 系统mark修改
-#
-# VER = "2014-01-07 15:30" zhengyang 添加注释
-#
-# 模块详细说明
-#脚本说明
-#packCMDList [GM账户]
-#---------------------------------------------------------------------
-#导入
-import IPY_GameWorld
-import PlayerControl
-import GameWorld
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [GM帐号 , 持续时间 , 封存原因]
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type , query_ID , packCMDList , tick):
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- #直接禁
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 1)
- #PlayerControl.NotifyCode(curFindPlayer , "ForbidIP_Talk" )
- return
-#---------------------------------------------------------------------
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def DoResult(curPlayer , callFunName , funResult , tick):
- if funResult == '':
- #GeRen_chenxin_112395 对不起,目标玩家不在线,GM指令操作失败
- PlayerControl.NotifyCode(curPlayer,"GeRen_chenxin_112395")
- return
-
- #GeRen_chenxin_673416 GM指令已生效,操作成功
- PlayerControl.NotifyCode(curPlayer,"GeRen_chenxin_673416")
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMCloseFB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMCloseFB.py
deleted file mode 100644
index bd677a4..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMCloseFB.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_GMCloseFB.py
-# @todo: 关闭副本
-#
-# @author: wdb
-# @date 2013-07-08
-# @version 1.1
-#
-# @note:
-# @change: "2013-11-11 13:30" hxp 删除mark
-#---------------------------------------------------------------------
-"""Version = 2013-11-11 13:30"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import GameWorld
-import GameWorldProcess
-import PlayerControl
-#---------------------------------------------------------------------
-
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDTuple 发包命令
-# @param tick 当前时间
-# @return "True" or "False" or ""
-def DoLogic(query_Type, query_ID, packCMDTuple, tick):
-
- for index in range(GameWorld.GetGameWorld().GetGameWorldCount()):
-
- #设置当前的世界
- GameWorld.GetGameWorld().SetCurGameWorldIndex(index)
-
- if GameWorld.GetGameWorld().GetOpenState() != IPY_GameWorld.fbosOpen:
- continue
-
- GameWorldProcess.CloseFB(tick)
-
- #设置当前的世界
- GameWorld.GetGameWorld().SetCurGameWorldIndex(-1)
-
- #PlayerControl.WorldNotify(0, "GeRen_chenxin_772321")
- return
-
-
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-def DoResult(curPlayer, callFunName, funResult, tick):
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMOpenFBEx.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMOpenFBEx.py
deleted file mode 100644
index 26ee2dc..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMOpenFBEx.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_GMOpenFBEx.py
-# @todo: 开启副本
-#
-# @author: wdb
-# @date 2013-07-08
-# @version 1.0
-#
-# @note:
-#---------------------------------------------------------------------
-"""Version = 2013-07-08 14:00"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import GameWorld
-#---------------------------------------------------------------------
-
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDTuple 发包命令
-# @param tick 当前时间
-# @return "True" or "False" or ""
-def DoLogic(query_Type, query_ID, packCMDTuple, tick):
-
- for index in range(GameWorld.GetGameWorld().GetGameWorldCount()):
-
- #设置当前的世界
- GameWorld.GetGameWorld().SetCurGameWorldIndex(index)
-
- if GameWorld.GetGameWorld().GetOpenState() != IPY_GameWorld.fbosClosed \
- or GameWorld.GetGameWorld().GetFBFirstOpen():
- continue
-
- GameWorld.GetGameWorld().SetFBFirstOpen(1)
-
- #设置当前的世界
- GameWorld.GetGameWorld().SetCurGameWorldIndex(-1)
-
- return
-
-
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-def DoResult(curPlayer, callFunName, funResult, tick):
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTExecfile.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTExecfile.py
deleted file mode 100644
index b125a42..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTExecfile.py
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package Player.RemoteQuery.GY_Query_GMTExecfile
-#
-# @todo:执行命令文件
-# @author hxp
-# @date 2021-05-19
-# @version 1.0
-#
-# 详细描述: 执行命令文件
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2021-05-19 11:00"""
-#-------------------------------------------------------------------------------
-
-import DataRecordPack
-import GameWorld
-import GMCommon
-
-import traceback
-import os
-
-
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 玩家ID
-# @param packCMDList 发包命令
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curPlayer or curPlayer.IsEmpty():
- return
-
- pack_type = "GMT_Execfile"
- result = GMCommon.Def_Success
-
- orderId, cmdInfo = packCMDList
-
- backDir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
-
- execfilepath = os.path.join(backDir, "GMTExec\\%s.py" % cmdInfo)
-
- GameWorld.Log("GMT_Execfile: %s" % execfilepath)
-
- if not os.path.exists(execfilepath):
- GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_ParamErr, "%s is not exists!" % cmdInfo)
- return
-
- mapID = GameWorld.GetMap().GetMapID()
- resultDict = {"cmdInfo":cmdInfo, "mapID":mapID}
-
- try:
- execfile(execfilepath, globals(), locals())
- except:
- errMsg = traceback.format_exc()
- GameWorld.ErrLog(errMsg)
-
- resultDict["errMsg"] = errMsg
- GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_Unknow, resultDict)
- return
-
- DataRecordPack.DR_ToolGMOperate(query_ID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), pack_type, resultDict)
- GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_Success, resultDict)
- return
-
-
-#执行结果
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def DoResult(curPlayer, callFunName, funResult, tick):
- return
-
-
-
-
-
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTForbidTalk.py
deleted file mode 100644
index 50a59e8..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTForbidTalk.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_GMTForbidTalk.py
-# @todo: gm工具封号
-#
-# @author: wdb
-# @date 2012-06-14
-# @version 1.2
-#
-# @note:
-# @change: "2012-08-10 15:00" zhangxi 修改OSS记录
-# @change: "2014-09-05 16:30" hxp 增加可设置禁言时长
-#---------------------------------------------------------------------
-"""Version = 2014-09-05 16:30"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import ChConfig
-import GameWorld
-import DataRecordPack
-import PlayerControl
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [GM帐号 , 持续时间 , 封存原因]
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- GameWorld.DebugLog("GY_Query_GMTForbidTalk packCMDList=%s" % str(packCMDList))
-
- # 在线时可设定禁言时长;离线则在UserDBResponse执行状态禁言
- # 故解禁时需两种情况都解除
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- curFindPlayer_GMOper = curFindPlayer.GetGMOperManager()
- gmOper = curFindPlayer_GMOper.AddGMOper(IPY_GameWorld.gmForbidTalk)
- lastTime = int(packCMDList[0])
- forbidDevice = packCMDList[1] if len(packCMDList) > 1 else ""
- gmOper.SetGMAccID(curFindPlayer.GetAccID())
- gmOper.SetLastTime(lastTime)
-
- GameWorld.DebugLog(" forbidDevice=%s,解禁时间=%s" % (forbidDevice, str(gmOper.GetEndTime())))
-
- curFindPlayer_GMOper.Sync_SaveToDB()
-
- if forbidDevice:
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 2)
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 1)
- #PlayerControl.NotifyCode(curFindPlayer, "GeRen_chenxin_80731", [lastTime])
-
- curFindName = curFindPlayer.GetPlayerName()
- #流向
- DataRecordPack.DR_ToolGMOperate(query_ID, curFindName, curFindPlayer.GetAccID(), 'GMT_FobidTalk')
- return
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTUnForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTUnForbidTalk.py
deleted file mode 100644
index c5b7d7e..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMTUnForbidTalk.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_GMTUnForbidTalk.py
-# @todo: gm工具解禁言
-#
-# @author: wdb
-# @date 2012-06-14
-# @version 1.2
-#
-# @note:
-# @change: "2012-08-10 15:00" zhangxi 修改OSS记录
-# @change: "2014-09-05 16:30" hxp 解禁逻辑修改,同时解禁状态及GMTool操作
-#---------------------------------------------------------------------
-"""Version = 2014-09-05 16:30"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import ChConfig
-import GameWorld
-import DataRecordPack
-import PlayerControl
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [GM帐号 , 持续时间 , 封存原因]
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- GameWorld.DebugLog("GY_Query_GMTUnForbidTalk query_ID=%s, packCMDList=%s" % (query_ID, packCMDList))
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
- unForbidDevice = packCMDList[0] if len(packCMDList) > 0 else ""
- curFindName = curFindPlayer.GetPlayerName()
- #流向
- DataRecordPack.DR_ToolGMOperate(query_ID, curFindName, curFindPlayer.GetAccID(), 'GMTUnForbidTalk')
-
- curFindPlayer_GMOper = curFindPlayer.GetGMOperManager()
-
- for index in range(curFindPlayer_GMOper.GetCount()):
- curOper = curFindPlayer_GMOper.GetAt(index)
- if curOper.GetOper() == IPY_GameWorld.gmForbidTalk:
- curFindPlayer_GMOper.DeleteOper(IPY_GameWorld.gmForbidTalk)
- curFindPlayer_GMOper.Sync_SaveToDB()
- break
-
- if unForbidDevice:
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 3)
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 0)
- #PlayerControl.NotifyCode(curFindPlayer, "GeRen_liubo_97211")
- return ''
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMToolForbidLogin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMToolForbidLogin.py
deleted file mode 100644
index d3f432c..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_GMToolForbidLogin.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_GMToolForbidLogin
-# @todo: gm工具封号
-#
-# @author: wdb
-# @date 2012-06-04 15:30
-# @version 1.2
-#
-# @note:
-# @change: "2012-06-06 12:00" wdb gm工具调整
-# @change: "2012-08-10 15:00" zhangxi 修改OSS记录
-#---------------------------------------------------------------------
-"""Version = 2012-08-10 15:00"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import ChConfig
-import GameWorld
-import DataRecordPack
-import PlayerControl
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [GM帐号 , 持续时间 , 封存原因]
-# @param tick 当前时间
-# @return "True" or "False" or ""
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- PlayerControl.SetPlayerAccState(curFindPlayer, curFindPlayer.GetAccState()|pow(2, ChConfig.Def_PysForbidByPy))
- curFindName = curFindPlayer.GetPlayerName()
-
- DataRecordPack.DR_ToolGMOperate(query_ID, curFindName, curFindPlayer.GetAccID(), 'GMT_FobidLogin')
-
- curFindPlayer.Kick(IPY_GameWorld.disGMKick)
- return
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalk.py
deleted file mode 100644
index 22298a9..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalk.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GY_Query_UnForbidTalk
-# @todo: 解除禁言
-#
-# @author: panwei
-# @date 2011-05-23
-# @version 1.1
-#
-# @note:
-# @change: "2014-01-07 15:30" hxp 系统mark修改
-#---------------------------------------------------------------------
-"""Version = 2014-01-07 15:30"""
-#---------------------------------------------------------------------
-import IPY_GameWorld
-import PlayerControl
-import GameWorld
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [账号 ]
-# @param tick 当前时间
-# @return '' or none
-# @remarks 函数详细说明.
-def DoLogic(query_Type, query_ID, packCMDList, tick):
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- curFindPlayer_GMOper = curFindPlayer.GetGMOperManager()
- result = False
-
- for index in range(curFindPlayer_GMOper.GetCount()):
- curOper = curFindPlayer_GMOper.GetAt(index)
- if curOper.GetOper() == IPY_GameWorld.gmForbidTalk:
- curFindPlayer_GMOper.DeleteOper(IPY_GameWorld.gmForbidTalk)
- curFindPlayer_GMOper.Sync_SaveToDB()
- result = True
- break
-
- if result:
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 0)
- #PlayerControl.NotifyCode(curFindPlayer, "Player_Operate_RegainTalk")
-
- return
-#---------------------------------------------------------------------
-#执行结果
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def DoResult(curPlayer, callFunName, funResult, tick):
- if funResult == '':
- #GeRen_chenxin_112395 对不起,目标玩家不在线,GM指令操作失败
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_112395")
- return
-
- #GeRen_chenxin_673416 GM指令已生效,操作成功
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_673416")
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalkByIP.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalkByIP.py
deleted file mode 100644
index 6e4b10a..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_UnForbidTalkByIP.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-
-##@package GY_Query_Offline_UnBind
-# 解封玩家
-#
-# @author mark
-# @date 2010-3-31
-# @version 1.1
-#
-# 修改时间 修改人 修改内容
-# @change: "2014-01-07 15:30" hxp 系统mark修改
-#
-# VER = "2014-01-07 15:30" zhengyang 添加注释
-#
-# 模块详细说明
-#---------------------------------------------------------------------
-#导入
-import IPY_GameWorld
-import PlayerControl
-import GameWorld
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## 请求逻辑
-# @param query_Type 请求类型
-# @param query_ID 请求的玩家ID
-# @param packCMDList 发包命令 [ ]
-# @param tick 当前时间
-# @return '' or None
-# @remarks 函数详细说明.
-def DoLogic(query_Type , query_ID , packCMDList , tick):
- curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
-
- if not curFindPlayer or curFindPlayer.IsEmpty():
- return ''
-
- #直接禁
- PlayerControl.SetGMForbidenTalk(curFindPlayer, 0)
- #PlayerControl.NotifyCode(curFindPlayer , "RestoreIP_Talk" )
- return
-#---------------------------------------------------------------------
-#执行结果
-## 执行结果
-# @param curPlayer 发出请求的玩家
-# @param callFunName 功能名称
-# @param funResult 查询的结果
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def DoResult(curPlayer , callFunName , funResult , tick):
- if funResult == '':
- #GeRen_chenxin_112395 对不起,目标玩家不在线,GM指令操作失败
- PlayerControl.NotifyCode(curPlayer,"GeRen_chenxin_112395")
- return
-
- #GeRen_chenxin_673416 GM指令已生效,操作成功
- PlayerControl.NotifyCode(curPlayer,"GeRen_chenxin_673416")
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidLogin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidLogin.py
index abb68bd..e13cb70 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidLogin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidLogin.py
@@ -1,110 +1,96 @@
#!/usr/bin/python
# -*- coding: GBK -*-
-#---------------------------------------------------------------------
+#-------------------------------------------------------------------------------
#
-#---------------------------------------------------------------------
-##@package GMT_UnForbidLogin.py
-# GM命令解锁玩家账号
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_ForbidLogin
#
-# @author wdb
-# @date 2012-6-14
-# @version 1.2
+# @todo:GM工具命令 - 封号/解封
+# @author hxp
+# @date 2026-03-06
+# @version 1.0
#
-# @note
-# @change: "2012-06-21 15:30" wdb int修改到GMCommon开接口
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
-from MangoDBCommon import fix_incomingText
-from Collections.CollectionDefine import *
-from Common import (CommFuncEx, mylog)
-from Collections import DataServerPlayerData
+# 详细描述: GM工具命令 - 封号/解封
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2026-03-06 15:00"""
+#-------------------------------------------------------------------------------
+
import GMCommon
-#---------------------------------------------------------------------
-#全局变量
+from Player import (PlayerControl)
+from Collections.CollectionDefine import *
+import IPY_GameWorld
+import DataRecordPack
+import PyGameData
+import ChConfig
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
def OnExec(gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
+ queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
+ #playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
+ if queryType == "IP":
+ return __doForbidLoginByIP(gmCmdDict)
- if playerAccID != '':
- return GMCommon.Def_DoQueryLogDB, ''
-
- elif playerName != '':
- return GMCommon.Def_DoQueryUserDB, '%s'%GMCommon.Def_GMKey_PlayerName
- # 回复
- return GMCommon.Def_ParamErr, ''
+ forbidType = gmCmdDict.get("forbidType", '')
+ errorMsg = ""
+ from GMToolLogicProcess import ProjSpecialProcess
+ Result, curPlayer = ProjSpecialProcess.GMCmdPlayerValidation(gmCmdDict, False) # 不支持离线处理
+ if Result == GMCommon.Def_PlayerOfLine:
+ dbPlayer = curPlayer
+ return __doForbidLoginByDBPlayer(dbPlayer, forbidType)
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
-
- if playerAccID != '' and GMCommon.GetPlayerOnLineByAccID(logdb, playerAccID):
- return GMCommon.Def_SendToGameServer, ''
-
- # 转换字符串
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
+ if Result != GMCommon.Def_Success:
+ return Result, errorMsg
- return GMCommon.Def_DoQueryUserDB, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
- # 取得玩家accid
- if playerName != '':
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
+ if forbidType == "1":
+ # 玩家在线,可处理
+ playerID = curPlayer.GetPlayerID()
+ Result = GMCommon.Def_Unknow
+ #GMT_Name = gmCmdDict.get(GMCommon.Def_GMKey_Type, '')
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
+ PlayerControl.SetPlayerAccState(curPlayer, curPlayer.GetAccState() | pow(2, ChConfig.Def_PysForbidByPy))
+ DataRecordPack.DR_ToolGMOperate(playerID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), "GMTFobidLogin")
+ curPlayer.Kick(IPY_GameWorld.disGMKick)
+
+ else:
+ return GMCommon.Def_NoNeed, "玩家正常在线"
- # 返回playerid,判断是否在线
- if data == '%s'%GMCommon.Def_GMKey_PlayerName:
- return GMCommon.Def_DoQueryLogDB, playerAccID
+ return GMCommon.Def_Success
+
+def __doForbidLoginByDBPlayer(dbPlayer, forbidType):
+ ## 离线根据dbPlayer处理
- collection = userdb[UCN_DBPlayer]
- dbPlayer = DataServerPlayerData.tagDBPlayer()
- dbPlayer.IsDeleted = 0
+ col = PyGameData.g_usrCtrlDB.db[UCN_DBPlayer]
- loadOK = dbPlayer.adoLoadCEx(collection, {'AccID':fix_incomingText(playerAccID),
- 'IsDeleted':dbPlayer.IsDeleted})
- if not loadOK:
- # 回复gm
- return GMCommon.Def_NoTag, ''
+ playerID = dbPlayer.PlayerID
+ playerName = dbPlayer.PlayerName
+ accID = dbPlayer.AccID
- # 已是锁定状态
- if (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidByPy)) > 0:
- return GMCommon.Def_NoNeed, ''
-
- # 设置玩家账号状态
- dbPlayer.AccState = dbPlayer.AccState|pow(2, GMCommon.Def_PysForbidByPy)
- dbPlayer.ExAttr17 = dbPlayer.AccState
- dbPlayer.adoUpdateC(collection)
-
+ if forbidType == "1":
+ if (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidByPy)) > 0:
+ return GMCommon.Def_NoNeed, "已经被封号了"
+
+ # 设置玩家账号状态
+ dbPlayer.AccState = dbPlayer.AccState | pow(2, GMCommon.Def_PysForbidByPy)
+ dbPlayer.ExAttr17 = dbPlayer.AccState
+ dbPlayer.adoUpdateC(col)
+
+ gmToolCmd = "GMTFobidLogin"
+ else:
+ if (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidByPy)) <= 0:
+ return GMCommon.Def_NoNeed, "玩家账号正常"
+
+ # 设置玩家账号状态
+ dbPlayer.AccState = dbPlayer.AccState ^ pow(2, GMCommon.Def_PysForbidByPy)
+ dbPlayer.ExAttr17 = dbPlayer.AccState
+ dbPlayer.adoUpdateC(col)
+
+ gmToolCmd = "GMTFobidLogin"
+
# 记录流向
- dataDic = {"PlayerID":dbPlayer.PlayerID, 'AccID':playerAccID}
- GMCommon.SendEventPack(gmCmdDict.get(GMCommon.Def_GMKey_Type, ''), dataDic)
- return GMCommon.Def_Success, ''
+ DataRecordPack.DR_ToolGMOperate(playerID, playerName, accID, gmToolCmd)
+ return GMCommon.Def_Success
-
-
-
-
+def __doForbidLoginByIP(gmCmdDict):
+ Result = GMCommon.Def_Unknow
+ # 暂不支持,后续扩展,需要处理全局管理
+ return Result, "暂不支持"
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidTalk.py
index 4a16f71..8c79a0a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidTalk.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_ForbidTalk.py
@@ -1,117 +1,95 @@
#!/usr/bin/python
# -*- coding: GBK -*-
-#---------------------------------------------------------------------
+#-------------------------------------------------------------------------------
#
-#---------------------------------------------------------------------
-##@package GMT_ForbidTalk.py
-# GM命令玩家禁言
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_ForbidTalk
#
-# @author wdb
-# @date 2012-6-14
-# @version 1.1
+# @todo:GM工具命令 - 禁言/解禁
+# @author hxp
+# @date 2026-03-06
+# @version 1.0
#
-# @note
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
-from MangoDBCommon import fix_incomingText
-from Collections.CollectionDefine import *
-from Common import (CommFuncEx, mylog)
-from Collections import DataServerPlayerData
+# 详细描述: GM工具命令 - 禁言/解禁
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2026-03-06 15:00"""
+#-------------------------------------------------------------------------------
+
import GMCommon
-#---------------------------------------------------------------------
-#全局变量
+import GameWorld
+from Player import (PlayerControl)
+import IPY_GameWorld
+import DataRecordPack
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
def OnExec(gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
-
- if playerAccID != '':
- return GMCommon.Def_DoQueryLogDB, ''
- elif loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
+ queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
+ #playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
+ if queryType == "IP":
+ return __doForbidTalkByIP(gmCmdDict)
- elif playerName != '':
- return GMCommon.Def_DoQueryUserDB, '%s'%GMCommon.Def_GMKey_PlayerName
- # 回复
- return GMCommon.Def_ParamErr, ''
+ errorMsg = ""
+ from GMToolLogicProcess import ProjSpecialProcess
+ Result, curPlayer = ProjSpecialProcess.GMCmdPlayerValidation(gmCmdDict)
+ if Result != GMCommon.Def_Success:
+ return Result, errorMsg
+ if not curPlayer:
+ return Result, "玩家不在线,上线后自动处理"
+ # 玩家在线,可处理
+ playerID = curPlayer.GetPlayerID()
+ Result = GMCommon.Def_Unknow
+ #GMT_Name = gmCmdDict.get(GMCommon.Def_GMKey_Type, '')
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
+ forbidType = gmCmdDict.get("forbidType", '')
+ isDevice = gmCmdDict.get("isDevice", '')
+ forbitDay = GameWorld.ToIntDef(gmCmdDict.get("forbitDay", '0'))
+ forbitHour = GameWorld.ToIntDef(gmCmdDict.get("forbitHour", '0'))
+ forbitMinute = GameWorld.ToIntDef(gmCmdDict.get("forbitMinute", '0'))
- # 玩家在线
- if playerAccID != '' and GMCommon.GetPlayerOnLineByAccID(logdb, playerAccID):
- return GMCommon.Def_SendToGameServer, ''
- # accid查询
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
-
- return GMCommon.Def_DoQueryUserDB, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
- # 取得玩家accid
- if playerName != '':
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
+ # 禁言
+ if forbidType == "1":
+ if forbitDay <= 0 and forbitHour <= 0 and forbitMinute <= 0:
+ return GMCommon.Def_ParamErr, "需设置禁言时长"
+ forbitTotalMinute = forbitDay * 24 * 60 + forbitHour * 60 + forbitMinute # 禁言时长
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- # 返回playerid,判断是否在线
- if data == '%s'%GMCommon.Def_GMKey_PlayerName:
- return GMCommon.Def_DoQueryLogDB, playerAccID
-
- collection = userdb[UCN_DBPlayer]
- dbPlayer = DataServerPlayerData.tagDBPlayer()
- dbPlayer.IsDeleted = 0
-
- loadOK = dbPlayer.adoLoadCEx(collection, {'AccID':fix_incomingText(playerAccID),
- 'IsDeleted':dbPlayer.IsDeleted})
- if not loadOK:
- return GMCommon.Def_NoTag, ''
-
- forbidDevice = gmCmdDict.get("forbidDevice", '')
- forbidType = GMCommon.Def_PysForbidTalkDevice if forbidDevice else GMCommon.Def_PysForbidTalk
- # 玩家账号已禁
- if (dbPlayer.AccState & pow(2, forbidType)) > 0:
- return GMCommon.Def_NoNeed, ''
+ curFindPlayer_GMOper = curPlayer.GetGMOperManager()
+ gmOper = curFindPlayer_GMOper.AddGMOper(IPY_GameWorld.gmForbidTalk)
+ gmOper.SetGMAccID(curPlayer.GetAccID())
+ gmOper.SetLastTime(forbitTotalMinute)
+ curFindPlayer_GMOper.Sync_SaveToDB()
+
+ GameWorld.Log("禁言分钟=%s,isDevice=%s,endTime=%s" % (forbitTotalMinute, isDevice, str(gmOper.GetEndTime())), playerID)
+ if isDevice:
+ PlayerControl.SetGMForbidenTalk(curPlayer, 2)
+ PlayerControl.SetGMForbidenTalk(curPlayer, 1)
+ #PlayerControl.NotifyCode(curFindPlayer, "GeRen_chenxin_80731", [lastTime])
+ DataRecordPack.DR_ToolGMOperate(playerID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), "GMTFobidTalk")
- # 设置玩家账号状态
- dbPlayer.AccState = dbPlayer.AccState|pow(2, forbidType)
- if forbidType == GMCommon.Def_PysForbidTalkDevice:
- dbPlayer.AccState = dbPlayer.AccState|pow(2, GMCommon.Def_PysForbidTalk)
- dbPlayer.ExAttr17 = dbPlayer.AccState
- dbPlayer.adoUpdateC(collection)
+ # 解禁
+ else:
+ curFindPlayer_GMOper = curPlayer.GetGMOperManager()
+ for index in range(curFindPlayer_GMOper.GetCount()):
+ curOper = curFindPlayer_GMOper.GetAt(index)
+ if curOper.GetOper() == IPY_GameWorld.gmForbidTalk:
+ curFindPlayer_GMOper.DeleteOper(IPY_GameWorld.gmForbidTalk)
+ curFindPlayer_GMOper.Sync_SaveToDB()
+ break
- # 记录流向
- dataDic = {"PlayerID":dbPlayer.PlayerID, 'AccID':playerAccID}
- GMCommon.SendEventPack(gmCmdDict.get(GMCommon.Def_GMKey_Type, ''), dataDic)
- mylog.info("GMT_ForbidTalk: playerAccID=%s,forbidType=%s,AccState=%s" % (playerAccID, forbidType, dbPlayer.AccState))
- return GMCommon.Def_Success, ''
+ if isDevice:
+ PlayerControl.SetGMForbidenTalk(curPlayer, 3)
+ PlayerControl.SetGMForbidenTalk(curPlayer, 0)
+ #PlayerControl.NotifyCode(curFindPlayer, "GeRen_liubo_97211")
+ #流向
+ DataRecordPack.DR_ToolGMOperate(playerID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), "GMTUnForbidTalk")
+
+ return GMCommon.Def_Success
-
-
-
-
+def __doForbidTalkByIP(gmCmdDict):
+ Result = GMCommon.Def_Unknow
+ # 暂不支持,后续扩展,需要处理全局管理
+ #gmOper = IPY_GameServer.gmForbidTalk
+ #ipManager = GameWorld.GetGameWorld().GetAllDBIPManage()
+ #根据IP筛选,直接禁言
+ #PlayerControl.SetGMForbidenTalk(curFindPlayer, 1)
+ return Result, "暂不支持"
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerForbid.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerForbid.py
index dbcceb1..1e2118e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerForbid.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerForbid.py
@@ -1,100 +1,39 @@
#!/usr/bin/python
# -*- coding: GBK -*-
-#---------------------------------------------------------------------
+#-------------------------------------------------------------------------------
#
-#---------------------------------------------------------------------
-##@package GMT_GetPlayerForbid.py
-# GM命令获得玩家处罚
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_GetPlayerForbid
#
-# @author wdb
-# @date 2012-6-14
-# @version 1.2
+# @todo:GM工具命令 - 查看玩家禁言封禁状态
+# @author hxp
+# @date 2026-03-06
+# @version 1.0
#
-# @note
-# @change: "2012-06-21 15:30" wdb int修改到GMCommon开接口
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
-from MangoDBCommon import fix_incomingText
-from Collections.CollectionDefine import *
-from Common import (CommFuncEx, mylog)
-from Collections import DataServerPlayerData
+# 详细描述: GM工具命令 - 查看玩家禁言封禁状态
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2026-03-06 15:00"""
+#-------------------------------------------------------------------------------
+
import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
def OnExec(gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
-
- if playerAccID != '':
- return GMCommon.Def_DoQueryLogDB, ''
-
- elif playerName != '':
- return GMCommon.Def_DoQueryUserDB, '%s'%GMCommon.Def_GMKey_PlayerName
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
-
- # 玩家在线
- if playerAccID != '' and GMCommon.GetPlayerOnLineByAccID(logdb, playerAccID):
- return GMCommon.Def_SendToGameServer, ''
-
- # 转换字符串
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
-
- return GMCommon.Def_DoQueryUserDB, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
- # 取得玩家accid
- if playerName != '':
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
+ errorMsg = ""
+ from GMToolLogicProcess import ProjSpecialProcess
+ Result, curPlayer = ProjSpecialProcess.GMCmdPlayerValidation(gmCmdDict, False)
+ if Result == GMCommon.Def_PlayerOfLine:
+ dbPlayer = curPlayer
+ accState = dbPlayer.AccState
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- # 返回playerid,判断是否在线
- if data == '%s'%GMCommon.Def_GMKey_PlayerName:
- return GMCommon.Def_DoQueryLogDB, playerAccID
-
- collection = userdb[UCN_DBPlayer]
- findPlayer = collection.find({'AccID':fix_incomingText(playerAccID)})
+ elif Result == GMCommon.Def_Success:
+ accState = curPlayer.GetAccState()
- if findPlayer.count() <= 0:
- return GMCommon.Def_NoTag, ''
+ else:
+ return Result, errorMsg
- accState = findPlayer[0].get('AccState', 0)
forbidInfo = {
'forbidLogin':(accState & pow(2, GMCommon.Def_PysForbidByPy)) > 0, #是否锁定
- 'forbidTalk': (accState & pow(2, GMCommon.Def_PysForbidTalk)) > 0 or (accState & pow(2, GMCommon.Def_PysForbidTalkDevice)) > 0, #是否禁言
+ 'forbidTalk': (accState & pow(2, GMCommon.Def_PysForbidTalk)) > 0, #是否禁言
+ #'forbidTalk': (accState & pow(2, GMCommon.Def_PysForbidTalk)) > 0 or (accState & pow(2, GMCommon.Def_PysForbidTalkDevice)) > 0, #是否禁言
}
return GMCommon.Def_Success, forbidInfo
-
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerFuncInfo.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerFuncInfo.py
deleted file mode 100644
index 7cec836..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_GetPlayerFuncInfo.py
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GMT_GetPlayerFuncInfo
-# GM命令提供查询玩家功能信息
-#
-# @author xdh
-# @date 2017-07-13 10:00
-# @version 1.0
-#
-# @note
-#---------------------------------------------------------------------
-"""Version = 2017-07-13 10:00"""
-#---------------------------------------------------------------------
-#导入
-import GMCommon
-from MangoDBCommon import fix_incomingText
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
-def OnExec(gmCmdDict):
- playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
- queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
- queryFuncKey = gmCmdDict.get(GMCommon.Def_GMKey_FuncKey, '')
- if queryFuncKey in ['HHZL','ManorWar','FamilysWar']:
- return GMCommon.Def_SendToGameServer, ''
-
- elif playerFind == '':
- return GMCommon.Def_ParamErr, ''
-
- elif queryType == 'accID':
- return GMCommon.Def_DoQueryLogDB, ''
-
- return GMCommon.Def_DoQueryUserDB, '%s'%GMCommon.Def_GMKey_PlayerName
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
- queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
-
- if queryType == 'accID' and GMCommon.GetPlayerOnLineByAccID(logdb, playerFind):
- return GMCommon.Def_SendToGameServer, ''
-
- # 转换字符串
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
-
- return GMCommon.Def_PlayerOfLine, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
- playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')
-
- playerAccID = ""
- # 玩家姓名
- if queryType == GMCommon.Def_GMKey_PlayerName:
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerFind), 'IsDeleted':0})
-
- elif queryType == GMCommon.Def_GMKey_PlayerAccID:
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'AccID':fix_incomingText(playerFind), 'IsDeleted':0})
-
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- return GMCommon.Def_DoQueryLogDB, playerAccID
-
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_KickPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_KickPlayer.py
index 9b082d8..1511a64 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_KickPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_KickPlayer.py
@@ -1,80 +1,32 @@
#!/usr/bin/python
# -*- coding: GBK -*-
-#---------------------------------------------------------------------
+#-------------------------------------------------------------------------------
#
-#---------------------------------------------------------------------
-##@package GMT_KickPlayer.py
-# GM命令踢玩家下线
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_KickPlayer
#
-# @author wdb
-# @date 2012-6-14
-# @version 1.2
+# @todo:GM工具命令 - 踢下线
+# @author hxp
+# @date 2026-03-06
+# @version 1.0
#
-# @note
-# @change: "2012-06-21 15:30" wdb int修改到GMCommon开接口
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
+# 详细描述: GM工具命令 - 踢下线
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2026-03-06 15:00"""
+#-------------------------------------------------------------------------------
+
import GMCommon
-from MangoDBCommon import fix_incomingText
-#---------------------------------------------------------------------
-#全局变量
+import IPY_GameWorld
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
def OnExec(gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
+ errorMsg = ""
+ from GMToolLogicProcess import ProjSpecialProcess
+ Result, curPlayer = ProjSpecialProcess.GMCmdPlayerValidation(gmCmdDict, False)
+ if Result == GMCommon.Def_PlayerOfLine:
+ return GMCommon.Def_NoNeed, "已离线"
- if playerAccID != '':
- return GMCommon.Def_DoQueryLogDB, ''
-
- elif playerName != '':
- return GMCommon.Def_DoQueryUserDB, ''
-
- # 回复gm玩家不在线
- return GMCommon.Def_ParamErr, ''
+ elif Result == GMCommon.Def_Success:
+ curPlayer.Kick(IPY_GameWorld.disGMKick)
+ return Result
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
-
- if playerAccID != '' and GMCommon.GetPlayerOnLineByAccID(logdb, playerAccID):
- return GMCommon.Def_SendToGameServer, ''
-
- # 转换字符串
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
-
- return GMCommon.Def_PlayerOfLine, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
-
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
-
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- return GMCommon.Def_DoQueryLogDB, playerAccID
-
-
-
-
-
+ return Result, errorMsg
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_LockIP.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_LockIP.py
deleted file mode 100644
index 05373ff..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_LockIP.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GMT_LockIP.py
-# GM命令锁定IP
-#
-# @author whx
-# @date 2012-08-10 17:00
-# @version 1.0
-#
-# @note
-#---------------------------------------------------------------------
-"""Version = 2012-08-10 17:00"""
-#---------------------------------------------------------------------
-#导入
-import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
-def OnExec(gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidLogin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidLogin.py
deleted file mode 100644
index 3fe993d..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidLogin.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GMT_UnForbidLogin.py
-# GM命令解锁玩家账号
-#
-# @author wdb
-# @date 2012-6-14
-# @version 1.1
-#
-# @note
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
-from MangoDBCommon import fix_incomingText
-from Collections.CollectionDefine import *
-from Collections import DataServerPlayerData
-from Common import mylog
-import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
-def OnExec(gmCmdDict):
- # 转换字符串,获得账号
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
-
- if playerAccID == '' and playerName == '':
- return GMCommon.Def_ParamErr, ''
-
- # 查询userdb
- return GMCommon.Def_DoQueryUserDB, ''
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- return
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
-
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
-
- # 取得玩家accid
- if playerName != '':
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
-
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- collection = userdb[UCN_DBPlayer]
- dbPlayer = DataServerPlayerData.tagDBPlayer()
- dbPlayer.IsDeleted = 0
-
- loadOK = dbPlayer.adoLoadCEx(collection, {'AccID':fix_incomingText(playerAccID),
- 'IsDeleted':dbPlayer.IsDeleted})
- if not loadOK:
- return GMCommon.Def_NoTag, ''
-
- # 玩家账号正常
- if (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidByPy)) <= 0:
- return GMCommon.Def_NoNeed, ''
-
- # 设置玩家账号状态
- dbPlayer.AccState = dbPlayer.AccState ^ pow(2, GMCommon.Def_PysForbidByPy)
- dbPlayer.ExAttr17 = dbPlayer.AccState
- dbPlayer.adoUpdateC(collection)
-
- # 记录流向
- dataDic = {"PlayerID":dbPlayer.PlayerID, 'AccID':playerAccID}
- GMCommon.SendEventPack(gmCmdDict.get(GMCommon.Def_GMKey_Type, ''), dataDic)
- return GMCommon.Def_Success, ''
-
-
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidTalk.py
deleted file mode 100644
index 1e545a8..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnForbidTalk.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GMT_UnForbidTalk.py
-# GM命令玩家解禁言
-#
-# @author wdb
-# @date 2012-6-14
-# @version 1.2
-#
-# @note
-# @change: "2012-06-21 15:30" wdb int修改到GMCommon开接口
-# @change: "2012-07-12 18:00" wdb 增加编码属性
-#---------------------------------------------------------------------
-"""Version = 2012-07-12 18:00"""
-#---------------------------------------------------------------------
-#导入
-from MangoDBCommon import fix_incomingText
-from Collections.CollectionDefine import *
-from Common import (CommFuncEx, mylog)
-from Collections import DataServerPlayerData
-import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
-def OnExec(gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
-
- if playerAccID != '':
- return GMCommon.Def_DoQueryLogDB, ''
-
- elif loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- elif playerName != '':
- return GMCommon.Def_DoQueryUserDB, '%s'%GMCommon.Def_GMKey_PlayerName
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
-
- # 玩家在线
- if playerAccID != '' and GMCommon.GetPlayerOnLineByAccID(logdb, playerAccID):
- return GMCommon.Def_SendToGameServer, ''
-
- # accid查询
- if data != '' and GMCommon.GetPlayerOnLineByAccID(logdb, data):
- return GMCommon.Def_SendToGameServer, ''
-
- return GMCommon.Def_DoQueryUserDB, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- playerAccID = gmCmdDict.get(GMCommon.Def_GMKey_PlayerAccID, '')
- playerName = gmCmdDict.get(GMCommon.Def_GMKey_PlayerName, '')
- # 取得玩家accid
- if playerName != '':
- playerAccID = GMCommon.GetPlayerAccID(userdb, {'PlayerName':fix_incomingText(playerName), 'IsDeleted':0})
-
- if playerAccID == '':
- return GMCommon.Def_NoTag, ''
-
- # 返回playerid,判断是否在线
- if data == '%s'%GMCommon.Def_GMKey_PlayerName:
- return GMCommon.Def_DoQueryLogDB, playerAccID
-
- collection = userdb[UCN_DBPlayer]
- dbPlayer = DataServerPlayerData.tagDBPlayer()
- dbPlayer.IsDeleted = 0
-
- loadOK = dbPlayer.adoLoadCEx(collection, {'AccID':fix_incomingText(playerAccID),
- 'IsDeleted':dbPlayer.IsDeleted})
- if not loadOK:
- return GMCommon.Def_NoTag, ''
-
- unForbidDevice = gmCmdDict.get("unForbidDevice", '')
- unForbidType = GMCommon.Def_PysForbidTalkDevice if unForbidDevice else GMCommon.Def_PysForbidTalk
- # 玩家账号正常
- if (dbPlayer.AccState & pow(2, unForbidType)) <= 0:
- return GMCommon.Def_NoNeed, ''
-
- # 设置玩家账号状态
- dbPlayer.AccState = dbPlayer.AccState ^ pow(2, unForbidType)
- if unForbidType == GMCommon.Def_PysForbidTalkDevice and (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidTalk)):
- dbPlayer.AccState = dbPlayer.AccState ^ pow(2, GMCommon.Def_PysForbidTalk)
- dbPlayer.ExAttr17 = dbPlayer.AccState
- dbPlayer.adoUpdateC(collection)
-
- # 记录流向
- dataDic = {"PlayerID":dbPlayer.PlayerID, 'AccID':playerAccID}
- GMCommon.SendEventPack(gmCmdDict.get(GMCommon.Def_GMKey_Type, ''), dataDic)
- mylog.info("GMT_UnForbidTalk: playerAccID=%s,unForbidType=%s,AccState=%s" % (playerAccID, unForbidType, dbPlayer.AccState))
- return GMCommon.Def_Success, ''
-
-
-
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnLockIP.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnLockIP.py
deleted file mode 100644
index c6786ed..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_UnLockIP.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#---------------------------------------------------------------------
-#
-#---------------------------------------------------------------------
-##@package GMT_UnLockIP.py
-# GM命令解锁IP
-#
-# @author whx
-# @date 2012-08-10 17:00
-# @version 1.0
-#
-# @note
-#---------------------------------------------------------------------
-"""Version = 2012-08-10 17:00"""
-#---------------------------------------------------------------------
-#导入
-import GMCommon
-#---------------------------------------------------------------------
-#全局变量
-
-#---------------------------------------------------------------------
-
-## 收到gm命令执行
-# @param gmCmdDict:gm命令字典
-# @return None
-def OnExec(gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询logdb返回
-# @param logdb:logdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def LogDBResponse(logdb, data, gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
-
-## 查询userdb返回
-# @param userdb:userdb
-# @param data:传入的信息
-# @param gmCmdDict:gm命令字典
-# @return None
-def UserDBResponse(userdb, data, gmCmdDict):
- loginIP = gmCmdDict.get(GMCommon.Def_GMKey_IP, '')
-
- if loginIP != '':
- return GMCommon.Def_SendToGameServer, ''
-
- # 回复
- return GMCommon.Def_ParamErr, ''
-
--
Gitblit v1.8.0