#!/usr/bin/python # -*- coding: GBK -*- ##@package GMT_LockIP # Êý¾Ý¿âGMÃüÁîÖ´ÐÐ->IPËø¶¨ # # @author whx # @date 2012-08-10 17:00 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # @note # Ä£¿éÏêϸ˵ #½Å±¾ËµÃ÷ #--------------------------------------------------------------------- #µ¼Èë import IPY_GameServer import GMCommon import ChConfig import GameWorld import DataRecordPack #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- VER = "2012-08-10 17:00" #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ(ÕâÀïcurPlayer = None) ## Ö´ÐÐÂß¼­ # @param curPlayer µ±Ç°Íæ¼Ò # @param gmList # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(orderId, gmCmdDict): queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '') #IP´¦·ÖÐÅÏ¢ if queryType == "allPlayer": GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr) return forbidLoginList = [] forbidTalkList = [] allIPManager = GameWorld.GetGameWorld().GetAllDBIPManage() ipManageCnt = allIPManager.GetCount() if ipManageCnt <= 0: GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_NoTag) return for i in range(ipManageCnt): ipMgr = allIPManager.GetAt(i) gmOper = ipMgr.GetOper() #½ûÖ¹µÇ½ if gmOper == IPY_GameServer.gmForbidAcc: forbidLoginList.append(ipMgr.GetIP()) #½ûÑÔ if gmOper == IPY_GameServer.gmForbidTalk: forbidTalkList.append(ipMgr.GetIP()) forbidInfo = { 'forbidLoginList':forbidLoginList, #ÊÇ·ñËø¶¨ 'forbidTalkList':forbidTalkList, #ÊÇ·ñ½ûÑÔ } if len(forbidInfo) > pow(2, 14): #Êý¾Ý¹ý´ó GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_MaxLimit) return #Ö´Ðгɹ¦ GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, forbidInfo) return