Add sv_sharekeys for coop. Shares keys between the players. When a key is picked up, print a global notification.
Shouldn't be hard to do it (without even making some protocol changes !)
1) Make serverside (or commonside ?) the CVAR sv_sharekeys
2) Make from the server a byte[MAX KEYS] flagging keys.
3) Whenever a client gets a key, increment from that byte.
4) in the Player Think, check if we don't have the same keys from the server. If so, sync them with the server.
5) In the player (re?)spawn function, sync
6) (Optionnal ?) If we enable the CVAR midgame, sync them between all players.