UE4 Network protocol and security

Hello fellow game devs,

I’ve recently been upping the security of my multiplayer game by adding and streamlining server RPC validation.

I also tweaked the network relevancy settings as far as I could to avoid key data being replicated to players that are not supposed to have that specific information at that specific moment. However, network relevancy doesn’t work 100% and there will likely always be more information replicated than what is supposed to be available to a client.

As far as I know, thats where a lot of ESP hacks come to life that are based on accessing and examining the process memory. Obviouisly I’ll probably have to rely on anti-cheat engines to take care of that for me, but anti-cheat engines won’t be able to detect people intercepting and copying server-to-client traffic and extracting replicated properties from those packets.

I’ve not found any official documentation on the network protocol of UE4 and whether encryption is enabled by default (or how to enable it?).

Leading me to my questions:

  • Is traffic encryption enabled by default or do I have to enable it explicitly? How would I do that?
  • Is there any documentation on the protocol/package format?

There is no encryption in replication protocol and there no documentation on protocol at all as i know.

Basic security is to control what is replicated and what is not when theres many options how to do it, including cutting of entire actor from replication

GameMode object as well as foreign PlayerControllers are not replicated to clients by default so key data should be there. If property (UProperty) does not have CPF_Net frag on it won’t be replicated

Other then that you need took up the source code. If you really so not trusting UE4 replication you free to make your own protocol.