Ejemplo n.º 1
0
def _plunder_finished(from_char_id, from_char_name, to_char_id, from_win, standard_drop, target_server_url, **kwargs):
    data = {
        'from_char_id': from_char_id,
        'from_char_name': from_char_name,
        'to_char_id': to_char_id,
        'from_win': 1 if from_win else 0,
        'standard_drop': json.dumps(standard_drop)
    }

    cmd = target_server_url + "/api/plunder/finish/"
    apicall(data=data, cmd=cmd)
Ejemplo n.º 2
0
def unregister(key):
    req_data = {
        'key': key
    }

    req = apicall(data=json.dumps(req_data), cmd=TIMER_UNREGISTER)
    return req['data']['ttl']
Ejemplo n.º 3
0
    def search_all_servers(cls, city_id, exclude_char_id=None):
        # 跨服掠夺
        # 流程
        # 1. 向HUB取到所有的servers
        # 2. random choice一个 server,并且调用其API,获得目标玩家数据
        # 3. 开打
        # 4. 调用HUB 打完的API
        # 5. HUB收到请求后,根据target_char_id所在的server,并调用其对于API
        data = {'is_test': 1 if server.test else 0}

        servers = api_server_list(data=data)
        s = random.choice(servers['data'])
        url = "https://{0}:{1}/api/plunder/search/".format(
            s['host'], s['port_https'])

        data = {
            'city_id': city_id,
            'exclude_char_id': exclude_char_id,
        }

        res = apicall(data=data, cmd=url)
        target = res['data']
        obj = dill.loads(base64.b64decode(target))
        obj.server_url = "https://{0}:{1}".format(s['host'], s['port_https'])

        return obj
Ejemplo n.º 4
0
    def search_all_servers(cls, city_id, exclude_char_id=None):
        # 跨服掠夺
        # 流程
        # 1. 向HUB取到所有的servers
        # 2. random choice一个 server,并且调用其API,获得目标玩家数据
        # 3. 开打
        # 4. 调用HUB 打完的API
        # 5. HUB收到请求后,根据target_char_id所在的server,并调用其对于API
        data = {
            'is_test': 1 if server.test else 0
        }

        servers = api_server_list(data=data)
        s = random.choice(servers['data'])
        url = "https://{0}:{1}/api/plunder/search/".format(s['host'], s['port_https'])

        data = {
            'city_id': city_id,
            'exclude_char_id': exclude_char_id,
        }

        res = apicall(data=data, cmd=url)
        target = res['data']
        obj = dill.loads(base64.b64decode(target))
        obj.server_url = "https://{0}:{1}".format(s['host'], s['port_https'])

        return obj
Ejemplo n.º 5
0
def register(data, seconds):
    req_data = {
        'callback_cmd': CALLBACK_HANG_URL,
        'callback_data': json.dumps(data),
        'seconds': seconds
    }

    req = apicall(data=json.dumps(req_data), cmd=TIMER_REGISTER)
    return req['data']['key']
Ejemplo n.º 6
0
def register(data, seconds):
    req_data = {
        'callback_cmd': CALLBACK_HANG_URL,
        'callback_data': json.dumps(data),
        'seconds': seconds
    }

    req = apicall(data=json.dumps(req_data), cmd=TIMER_REGISTER)
    return req['data']['key']
Ejemplo n.º 7
0
def unregister(key):
    req_data = {'key': key}

    req = apicall(data=json.dumps(req_data), cmd=TIMER_UNREGISTER)
    return req['data']['ttl']