Introducing authority
As we mentioned in Chapter 2, Understanding Networking Basics, the term authority refers to which instance of the game has the final say over certain aspects of the game state. In an Unreal Engine multiplayer environment, the server is authoritative over the game state: this means that the server makes the final decisions about things such as player movement, damage calculation, and other game mechanics.
When a client requests to perform an action that affects the game state, it sends a message to the server requesting permission to perform that action. The server then determines whether the action is valid and, if so, updates the game state accordingly. Once the server has updated the game state, it sends a message to all clients to inform them of the updated state.
In Unreal Engine, Actors can be either locally or remotely controlled, and the concept of authority is important in determining which controls are valid. Actors that are locally controlled have...