The game needs to let the server system know where and how big the gentities are, so it can look at them directly without going through an interface.
Notifies the engine where in VM memory the data for g_entities and g_clients exists.
Because the engine does not have specific detailed knowledge of the VM memory layout, it cannot determine every field of a certain block of the VM memory.
The VM and the engine shares the struct layout (offset and sequence of fields) of engine-specific structs (e.g. entityState_t and playerState_t) through q_* files, and the engine expects the VM to place these shared structs layouts at the beginnings of gentity_t and client_t, for simplification.
It would be very unusual for a mod programmer to want to call this - especially with parameters other than those outlined above.
In the Q3 source it is used twice - once on level load and in G_Spawn where it is called whenever an entity is created.