pointer -> reference:
OnDataReceive with null socket makes no sense
typo
OnBattleOpenedEx -> OnBattleOpened (adjust to lobby protocol name)
privatize / unused function