Why does my server not allow MaxWalkSpeed to change on client?

Old post but these pop up on google so just in case someone comes across this post

You are not supposed to put “_implementation” onto a the UFUNCTION declaration in the header file. When you declare a function as running on server; unreal engine will expect to see “_implementation” tacked on to the end of the function in the cpp file.

.h file

UFUNCTION(Server, Reliable)
    void MulticastSprintStart();

UFUNCTION(Server, Reliable)
    void MulticastSprintEnd();

.cpp file

void APlayerCharacter::MulticastSprintStart_Implementation() {
	GetCharacterMovement()->MaxWalkSpeed *= 2.5f;
}

void APlayerCharacter::MulticastSprintEnd_Implementation() {
	GetCharacterMovement()->MaxWalkSpeed /= 2.5f;
}

Also Specifically Aejjee’s problem is also probably due to either live coding or messed up compile files, which is resolved by deleting the Binaries, Intermediate, Saved, and DerivedDataCache folders and recompiling.