Locality in Multiplayer

From Bohemia Interactive Community
Revision as of 01:41, 29 January 2019 by Lou Montana (talk | contribs) (Add delete request)
Jump to navigation Jump to search

Template:Delete


Entities in OFP are handled, in multiplayer, by one computer alone (the server), which sends updates about this entity to all clients connected to the MP game. A unit is "local" when it is handled by the local computer (only registered on that machine,other clients connected won't see that unit as local).

To know if a unit is local, use the local script command.


Basic Rules

The basic rules to determine locality are as follows:

server = The dedicated server or the client that is hosting the game

client = A game instance used by a player, normally each is on a separate computer

  • The player's unit is always local to its client
  • AI units are always local to the client of their leader
  • A vehicle is always local to the client of its driver
  • AI leaders are always local to the server, if placed in the mission editor
  • AI units created after mission start via scripting will be local to the computer that issued the command
  • Empty vehicles/objects placed in the mission editor are local to the server
  • Empty vehicles/objects created after mission start via scripting (with createVehicle for example) are local to the machine that issued the command


Effects of different localities

Knowing locality of a unit is very important as certain command only affect local units (see moveInDriver for example). Other commands have only local effect, nothing will be done outside of computer where the command was issued (see setFog for example).

A unit can change locality during its lifetime. Typical cases are:

  • A player dying (his squad AI units are passed to server)
  • Use of a join command
  • Units or players entering or exiting a vehicle
  • TeamSwitch
  • selectPlayer


Further reading