Server not processing moves

You no need to call AddMovementInput for both client and server, CharacterMovementComponent already replicate move from client to server if you call from client.

Hi,

I’m modifying the First Person Shooter template (c++) to do multiplayer logic.
Inside the editor, with multiple clients and the option start dedicated server checked, everything seems to work so far:

Shooting works, Balls are created and replicated on all clients
Movement works
For those blocks where replication has been enabled, replication works.

Now to the tricky thing: I started a “dedicated server” manually using the ?listen -server -log flags and then manually connected to them. Connecting works - shooting works but movement is not replicated.

After moving around a little, the following appears in my log window:

[2015.01.14-01.14.41:804][574]LogNetPlayerMovement:Warning: CreateSavedMove: Hit limit of 96 saved moves (timing out or very bad ping?)

This message keeps repeating at a rate of about 1 every 1 to 2 seconds.
I don’t actually time out and, while I don’t know how exactly to check the ping, shooting works fine and within a few milliseconds (I know this because two balls are spawned: one in my clients presumed location and one on the servers original location before I moved around.

The way I have it setup right now in the code is (This is not how it’ll eventually be ofcourse, but while trying to get this proof of concept to work it was a quick fix):

void AarenaCharacter::MoveForward(float Value)
{
	if (Role < ROLE_Authority)
	{
		ServerMoveForward(Value);
	}

	if (Value != 0.0f)
	{
		// add movement in that direction
		AddMovementInput(GetActorForwardVector(), Value);
	}
}

bool AarenaCharacter::ServerMoveForward_Validate(float Value)
{
	return true;
}

void AarenaCharacter::ServerMoveForward_Implementation(float Value)
{
	MoveForward(Value);
}

and similar setup for MoveRight, TurnAtRate etc.

So far I’ve been unable to debug this. Any idea’s would be greatly appreciated.