Esempio n. 1
0
 def post(self):
     args = parser.parse_args()
     UUID = str(uuid4())
     if not args.account_key:
         args.account_key = 0
     if len(args.account_key) < 5:
         args.account_key = 0
     character_to_add = dict(args)
     # print(UUID)
     # print(character_to_add)
     if args.account_key is not 0:
         if checkUUID(args.account_key, 'accounts'):
             account = literal_eval(db.hget('accounts', args.account_key))
             temp = dict()
             for information in character_to_add:
                 if information in keep_informations:
                     temp[information] = character_to_add[information]
             temp['class_name'] = literal_eval(
                 db.hget('classes', temp["class_key"]))['class_name']
             temp['character_key'] = UUID
             account["account_characters"].append(temp)
             # print(temp)
             # print(account["account_characters"])
             data_account = {args.account_key: json.dumps(account)}
             db.hmset('accounts', data_account)
             db.hset('quests', UUID, "{}")
         else:
             abort(404,
                   message="uuid {} not found".format(args.account_key))
     data = {UUID: json.dumps(character_to_add)}
     db.hmset('characters', data)
     # print(UUID)
     return UUID, 200
Esempio n. 2
0
 def post(self):
     # print("no processed data receive : {}".format(request.data))
     # logging.info("post RTS")
     # logging.info(request.data)
     npc_quest = json.loads(db.hget('quests', NPC_UUID))
     args = parser.parse_args()
     if args.nbr_remnants:
         update = args.nbr_remnants
         data = json.loads(db.hget('characters', NPC_TRASH_UUID))
         data["character_last_position"] = data["character_last_position"]
         data["nbr_remnants"] = update
         key_to_delete = []
         players = db.hgetall('quests')
         for key in npc_quest:
             if (npc_quest[args.quest_key]["game_key"] == npc_quest[key]
                 ["game_key"]):
                 key_to_delete.append(key)
         for k, value in players.items():
             dict_value = literal_eval(value)
             for key in key_to_delete:
                 if key in dict_value:
                     del dict_value[key]
             db.hset('quests', k, json.dumps(dict_value))
         data["quest_key_1"] = key_to_delete[0]
         data["quest_key_2"] = key_to_delete[1]
         data_mq = {"call_type": 0, "from": "RTS", "payload": data}
         communication_core.rts_quest_add(data_mq)
         response = "monsters invocated"
     else:
         data = {}
         UUID = str(uuid4())
         data["quest_key"] = UUID
         data["team_key"] = args.team_key
         data["game_key"] = args.game_key
         data["quest_giver"] = NPC_UUID
         data["quest_name"] = args.quest_name
         data["quest_description"] = args.quest_description
         data["quest_gold"] = int(args.quest_gold)
         data["quest_type_key"] = 0
         data["quest_experience"] = int(args.quest_experience)
         data["quest_advancement"] = {
             "id": 12,
             "max_nbr": int(args.nbr_spawns_to_kill),
             "current": 0,
             "classe": 12
         }
         npc_quest[UUID] = data
         data["npc"] = json.loads(db.hget('characters', NPC_TRASH_UUID))
         data["npc"]["character_last_position"] = literal_eval(
             data["npc"]["character_last_position"])
         db.hset('quests', NPC_UUID, json.dumps(npc_quest))
         del data["team_key"]
         del data["game_key"]
         data_mq = {"call_type": 1, "from": "RTS", "payload": data}
         communication_core.rts_quest_add(data_mq)
         response = UUID
     # print(npc_quest)
     return response, 200
Esempio n. 3
0
def createRTSAccount(user_name):
    print('Never connected on MMO, creation account for {}'.format(user_name))
    UUID = str(uuid4())
    # print(UUID)
    pre_data = dict()
    pre_data["account_characters"] = []
    pre_data["account_key"] = UUID
    pre_data["account_pseudo"] = user_name
    data = {UUID: json.dumps(pre_data)}
    # print(data)
    # print(type(data))
    db.hmset('accounts', data)
    db.hset('accounts_search', user_name, UUID)
    createMMOCharacter(UUID, user_name)
Esempio n. 4
0
 def put(self):
     logging.info("patch auth RTS")
     logging.info("no processed data receive : {}".format(request.data))
     args = parser.parse_args()
     args.account_hash = args.account_hash.upper()
     checkPseudo(args.account_login)
     account = checkAuth(args.account_login, args.account_hash, False)
     if (db.hexists('accounts_search', account["rts_account_key"])):
         db.hdel('accounts_search', account["rts_account_key"])
     account["rts_account_key"] = args.rts_account_key
     logging.info("change for {}".format(account))
     db.hset('accounts_search', args.rts_account_key,
             account["account_key"])
     db.hset('accounts', account["account_key"], json.dumps(account))
     # test = str(request.__dict__)
     # res = make_response(test, 200)
     return 'modified', 200
Esempio n. 5
0
 def post(self):
     args = parser.parse_args()
     if db.hexists('accounts_search', args.account_pseudo) != 0 or db.hexists('accounts_search', args.account_email) != 0:
         abort(403, message="account name or email already in database")
     UUID = str(uuid4())
     # print(UUID)
     args.account_characters = []
     args.account_key = UUID
     args.rts_account_key = "not yet linked"
     account = json.dumps(args)
     data = {UUID: account}
     # print(data)
     # print(type(data))
     db.hmset('accounts', data)
     db.hset('accounts_search', args.account_pseudo, UUID)
     db.hset('accounts_search', args.account_email, UUID)
     return UUID, 200
Esempio n. 6
0
 def delete(self):
     db.hset('quests', NPC_UUID, "{}")
     return 'deleted', 204