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.