Reconnecting problems in multiplayer

Godot Version

4.2.2

Question

Hey! So I have a really odd bug which I don’t fully understand, I get this error message whenever a client tries to join the host after the host stops hosting and then re-hosts, this does not happen if the client leaves first

Error message:

Cannot call method ‘get_unique_id’ on null value

the error’s location:

var id := multiplayer.get_unique_id()

the scripts for leaving the game:

func _on_quit_pressed():
	var host = multiplayer.get_unique_id()
	var Mission = Global.current_mission
	if Global.is_multiplayer == true:
		var id := multiplayer.get_unique_id()
		player.queue_free()
		if multiplayer.is_server():
			disconnect_all(host)
			multiplayer.multiplayer_peer.disconnect_peer(host)
		else:
			disconnect_player.rpc(id)
		get_tree().change_scene_to_file("res://Scenes/Menu.tscn")
		get_tree().get_root().get_node(Mission).queue_free()
	elif Global.is_multiplayer == false:
		get_tree().change_scene_to_file("res://Scenes/Menu.tscn")
@rpc("call_local", "any_peer")
func disconnect_player(peer_id : int):
	for i in GlobalMissionManager.Players:
		if GlobalMissionManager.Players[i].id == peer_id:
			GlobalMissionManager.Players.erase(peer_id)
	await get_tree().create_timer(0.1).timeout
	multiplayer.multiplayer_peer.disconnect_peer(peer_id)
@rpc("call_local", "any_peer")
func disconnect_all(host):
	for i in GlobalMissionManager.Players:
		if i != host:
			multiplayer.multiplayer_peer.disconnect_peer(i)
			GlobalMissionManager.Players.erase(i)

it’s likely something wrong in the disconnect_all function but I honestly cannot tell

I just realized I’m getting the error:

E 0:00:07:0634 PauseMenu.gd:54 @ disconnected(): The multiplayer instance isn’t currently active.
<C++ Error> Condition “!_is_active()” is true. Returning: 0
<C++ Source> modules\enet\enet_multiplayer_peer.cpp:439 @ ENetMultiplayerPeer::get_unique_id()
PauseMenu.gd:54 @ disconnected()

Nevermind I fixed it, I’m just dumb, I had two different disconnect connections which messed everything up

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.