I know that the title is a little ambiguous so let me try to explain with images.

I'm basically trying to set up a multiplayer server where up to 6 people can play together P2P, with on player serving as the server. For my example, I will just demonstrate 2 players. When players are in and the "START BUTTON" is pressed, they all spawn in. The picture on the left is the server, who I gave the name "Player1", while the picture on the right is the client who I gave a name of "Player 2". Note that I don't have any function that iterates the number at the end, which could possible be causing the error, thus they could be named "Steve" and "Henry"

As you can see, player 1 and player 2 are different for the server vs client. When I try to move them, moving is shown in both the server and the client. HOWEVER, when I try to move them, only "player1 in server/player2 in client" would move as seen below.

The code I used for this project was highly based upon the Multiplayer Bomberman demo in Godot. When I press the start button, the following code will run.

This is the code that runs the moment you switch scenes.

Can anyone assist me with this issue? I'm pretty new to networking in Godot and I've been stuck for quite some time on this already.

looking at the code i cannot spot any obvious error. For me it seems that GameState.player_name is incorrectly set.

You should provide the player's code

So I actually fixed it. I'm not sure what I did, but I redid it but kept it even closer to the multiplayer bomberman demo. My guess is that somewhere I'm ignoring one of the players and setting one player ot have two network masters

Player.gd
extends KinematicBody

const GRAV_FRC = 12

var gravity = Vector3.DOWN * GRAV_FRC
var speed = 4
var jump_speed = 6

var direction = Vector3()

puppet var puppet_position = Vector3() setget puppet_position_set
puppet var pupped_direction = Vector3()
puppet var puppet_rotation = 0


func set_name_tag(name) -> void:
	get_node("NameTag").set_text(name)

remote func _set_position(pos):
	global_transform.origin = pos

func _physics_process(delta):
	if is_network_master():
		direction += gravity * delta
		get_input()
		move_and_slide(direction * speed, Vector3.UP)
	rpc_unreliable("_set_position", global_transform.origin)

func get_input():
	var x_input = int(Input.is_action_pressed("right")) - int(Input.is_action_pressed("left"))
	var z_input = int(Input.is_action_pressed("down")) - int(Input.is_action_pressed("up"))

	direction = Vector3(x_input, direction.y, z_input).normalized()


# Called when the node enters the scene tree for the first time.
func _ready():
	pass



func puppet_position_set(new_value) -> void:
	pass

func _on_Network_tick_rate_timeout():
	if is_network_master():
		rset_unreliable("puppet_position", global_transform.origin)
		rset_unreliable("puppet_direction", direction)
		rset_unreliable("puppet_rotation", rotation_degrees)
a year later