Ошибка с запросом RPC и непонятная ошибка

Я пытаюсь создать выделенный сервер и клиент с помощью godot, я могу подключиться к серверу через Интернет, но когда я делаю RPC, я получаю эту ошибку:

ОШИБКА: узел не найден: gamestate
В: scene / main / node.cpp: 1382

ОШИБКА: _process_get_node: не удалось получить путь от RPC: состояние игры
По адресу: core / io / multiplayer_api.cpp: 248

ОШИБКА: получен недопустимый пакет. Запрошенный узел не найден.
В: core / io / multiplayer_api.cpp: 194

Сервер:

func _client_connected(id):
    print('Client ' + str(id) + ' is connected')
    var newClient = load("res://remote_client.tscn").instance()
    newClient.set_name(str(id))
    get_tree().get_root().add_child(newClient)
remote func _register_player_to_server(id, info):
    players_server[id] = info 

Клиент:

func connect_to_server(player_nickname, ip):
    self_data.name = player_nickname
    get_tree().connect('connected_to_server', self, '_connected_to_server')
    var peer = NetworkedMultiplayerENet.new()
    if ip == null or ip == '':
        peer.create_client(DEFAULT_IP, DEFAULT_PORT)
    else:
        peer.create_client(ip, DEFAULT_PORT)
    get_tree().set_network_peer(peer)

func _connected_to_server():
    players[get_tree().get_network_unique_id()] = self_data
    print("here")
    rpc_id(1, '_register_player_to_server', get_tree().get_network_unique_id(), self_data)
    print("wtf")

Функция _conneccted_to_server() должна вызывать функцию _register_player_to_server() на сервере, которая затем сохраняет информацию о значениях игроков.

Обратите внимание, что клиент находится в синглтоне с именем gamestate и что ошибка отображается в консоли сервера.


person Pledge    schedule 07.07.2019    source источник


Ответы (1)


Мои узлы не были на пути (отсюда и ошибка).

person Pledge    schedule 07.07.2019
comment
Вы можете остановиться на этом? У меня такая же ошибка. - person WeirdElfB0y; 05.01.2020