I wonder something about PingPongManager. Is this ping mechanism smart or just a regular send ping and waiting pong response?
For example, client call any rpc method or update game state, PingPongManager reset itself ping time interval? Is pingPongManager count this responses as like pong? Or just send ping every KeepAliveInterval seconds and wait pong.