| | |
| | | PyGameData.g_UserCtrlDBFirstInit = True
|
| | | self.__PlayerBackupSave()
|
| | | CheckGameVersion()
|
| | |
|
| | | #后续也要增加公共数据保存如家族等,考虑保存失败可以直接关闭地图
|
| | |
|
| | | self.loadDBPlayerIDMap()
|
| | | |
| | | return
|
| | | |
| | | def loadDBPlayerIDMap(self):
|
| | | ## 加载本服玩家映射关系
|
| | | col = self.db[UCN_DBPlayer]
|
| | | resultSet = col.find({}, {"PlayerID":1, "AccID":1, "_id":0})
|
| | | if resultSet and resultSet.count():
|
| | | for resultDict in resultSet:
|
| | | PyGameData.g_dbPlayerIDMap[resultDict["PlayerID"]] = resultDict["AccID"]
|
| | | GameWorld.Log("启动服务器加载DBPlayer玩家账号ID对应关系! %s, %s" % (len(PyGameData.g_dbPlayerIDMap), PyGameData.g_dbPlayerIDMap))
|
| | | return
|
| | | |
| | | def findDBPlayer(self, playerID):
|
| | | col = self.db[UCN_DBPlayer]
|
| | | dbPlayer = DataServerPlayerData.tagDBPlayer()
|
| | | dbPlayer.IsDeleted = 0
|
| | | if not dbPlayer.adoLoadCEx(col, {"PlayerID":playerID}):
|
| | | return
|
| | | return dbPlayer
|
| | |
|
| | | def requestLogicProcess(self, pack):
|
| | | db = self.db
|
| | |
| | |
|
| | | mylog.debug('RevoverBillProcess success...%s'%orderID)
|
| | | except:
|
| | | mylog.error("RevoverBillProcess error %s"%orderID)
|
| | | mylog.error("RevoverBillProcess error %s"%traceback.format_exc())
|
| | |
|
| | | def SavePlayerMapServerData(self, db, saveData):
|
| | | playerRec = DataServerPlayerData.tagDBPlayer()
|
| | |
| | | return 0, disDataBaseError, createPlayer.AccID, ''
|
| | |
|
| | | mylog.debug('insert role ok!accid = %s, PlayerName = %s'%(createPlayer.AccID, createPlayer.PlayerName))
|
| | | PyGameData.g_dbPlayerIDMap[newPlayerID] = createPlayer.AccID
|
| | | mylog.debug('PyGameData.g_dbPlayerIDMap = %s, %s'%(len(PyGameData.g_dbPlayerIDMap), PyGameData.g_dbPlayerIDMap))
|
| | | |
| | | #构造其他角色初始数据
|
| | | itemData = ''
|
| | | itemData = CommFunc.WriteDWORD(itemData, 0)
|
| | |
| | | data += DBFamilyAction.adoQueryAll(collection)
|
| | | mylog.info("tagDBFamilyAction ok")
|
| | |
|
| | | collection = db[UCN_DBGameRec]
|
| | | DBGameRec = DataServerPlayerData.tagDBGameRec()
|
| | | data += DBGameRec.adoQueryAll(collection)
|
| | | mylog.info("tagDBGameRec ok")
|
| | | |
| | | mylog.info('readGameWorldData len:%s' % len(data))
|
| | | return data
|
| | |
|
| | |
| | | gameDataReadPos = self.savegameServerWorldData(saveData, gameDataReadPos, UCN_DBFamily, DataServerPlayerData.tagDBFamily, db)
|
| | | gameDataReadPos = self.savegameServerWorldData(saveData, gameDataReadPos, UCN_DBFamilyMem, DataServerPlayerData.tagDBFamilyMem, db)
|
| | | gameDataReadPos = self.savegameServerWorldData(saveData, gameDataReadPos, UCN_DBFamilyAction, DataServerPlayerData.tagDBFamilyAction, db)
|
| | | gameDataReadPos = self.savegameServerWorldData(saveData, gameDataReadPos, UCN_DBGameRec, DataServerPlayerData.tagDBGameRec, db)
|
| | |
|
| | | mylog.info('saveGameWorldData ok!')
|
| | |
|