s&box UndoSystem: per-player stacks keyed by SteamId, bounded at 128, RemovePlayer on disconnect, Rpc.FilterInclude for notices
s&box: Correct damage pipeline order — pre-event, armour, health, OnDeath, then Kill()
s&box: PlayerData is a separate networked GameObject (not a Component on the ...
s&box: INetworkListener.OnActive fires only on host — spawn player and set CanSpawnObjects there
s&box: All inventory/weapon mutations must run on host — use Rpc.Host wrappers for client calls
s&box networking: ISceneStartup — OnHostInitialize vs OnClientInitialize for multiplayer scene setup
s&box networking: NetworkingSettings — ClientsCanSpawnObjects security, update rate, host migration
s&box networking: Creating and joining lobbies with Networking.CreateLobby / JoinBestLobby
s&box networking: Handling player join/leave/spawn with INetworkListener
s&box networking: RPC types — [Rpc.Host], [Rpc.Owner], [Rpc.Broadcast] and when to use each
s&box networking: Choosing the right [Sync] flags — FromHost, Query, Interpolate