Multiplayer: Translate server's mobj types and states to local equivalents
The server sends a lookup table of mobj type IDs and state IDs, so that the client can translate any differences due to modified/missing definitions.
This takes care of the basic requirement of validating the values sent by the server. However, this is not the final solution to the issue of having different resources on the client. Ultimately in most cases it should be allowed and OK for a client to add resources on top of those basic ones present on the server, while the server should enforce that the "basic" ones are exactly the same on both sides.
In the context of mobj types and states, the issue is made a bit simpler by the fact that the known type/state indexes are hardcoded into the game plugin.
Multiplayer: Translate server's mobj types and states to local equivalents
The server sends a lookup table of mobj type IDs and state
IDs, so that the client can translate any differences due to
modified/missing definitions.
This takes care of the basic requirement of validating the
values sent by the server. However, this is not the final
solution to the issue of having different resources on the
client. Ultimately in most cases it should be allowed and
OK for a client to add resources on top of those basic
ones present on the server, while the server should enforce
that the "basic" ones are exactly the same on both sides.
In the context of mobj types and states, the issue is made
a bit simpler by the fact that the known type/state indexes
are hardcoded into the game plugin.