2 player multiplayer not working properly

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ROBOTOO007

HEY! i’m new to networking and i’m trying to make a multiplayer game.
The problem is with the host, it can see the client but can’t see it’s own player and the client has an extra player that’s not moving, here’s my Network.g file code:

extends Node

const MAX_PEERS    = 10
var   players      = {}
var   player_name
var can_spawn_player = false

func _ready():
	get_tree().connect("network_peer_connected", self, "_player_connected")
	get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
	get_tree().connect("connected_to_server", self, "_connected_ok")
	get_tree().connect("connection_failed", self, "_connected_fail")
	get_tree().connect("server_disconnected", self, "_server_disconnect")
	
func start_server(name, Port):
	player_name = str(name)
	var host    = NetworkedMultiplayerENet.new()
	
	var err = host.create_server(Port, MAX_PEERS)
	
	if (err!=OK):
		print("error")
		return
		
	get_tree().set_network_peer(host)
	
func join_server(name, Port, server_ip):
	player_name = str(name)
	var host    = NetworkedMultiplayerENet.new()
	
	host.create_client(str(server_ip), Port)
	get_tree().set_network_peer(host)
	
func _player_connected(id):
	get_tree().change_scene("res://scenes/TestScene.tscn")
	if is_network_master():
		spawn_player(1)
	
func _player_disconnected(id):
	unregister_player(id)
	rpc("unregister_player", id)
	
func _connected_ok():
	rpc_id(1, "user_ready", get_tree().get_network_unique_id(), player_name)
	can_spawn_player = true
	
remote func user_ready(id, player_name):
	if get_tree().is_network_server():
		rpc_id(id, "register_in_game")
		
remote func register_in_game():
	rpc("register_new_player", get_tree().get_network_unique_id(), player_name)
	register_new_player(get_tree().get_network_unique_id(), player_name)
	
func _server_disconnected():
	quit_game()
	can_spawn_player = false
	
remote func register_new_player(id, name):
	if get_tree().is_network_server():
		rpc_id(id, "register_new_player", 1, player_name)
		
		for peer_id in players:
			rpc_id(id, "register_new_player", peer_id, players[peer_id])
			
	players[id] = name
	spawn_player(id)


remote func unregister_player(id):
	get_node("/root/" + str(id)).queue_free()
	players.erase(id)


func quit_game():
	get_tree().set_network_peer(null)
	players.clear()


func spawn_player(id):
	var player_scene = load("res://entity/player.tscn")
	var player       = player_scene.instance()
	var Label_scene = load("res://gameObjects/Label.tscn")
	var player_label = Label_scene.instance()
	
	if is_network_master():
		players[1] = player_name
	
	player.set_name(str(id))
	
	if id == get_tree().get_network_unique_id():
		player.set_network_master(id)
		player.player_id = id
		player.control   = true
		
	get_parent().add_child(player)
	player.add_child(player_label)
	player_label.text = players[id]