Could you add details on what happens? Does he get a message? Also, what are some of the servers specifically that he is trying and is not able to play on? The fact that connecting via VPN allows it to work definitely hints there may be some firewall in place that is blocking connectivity. For a quick test could you try temporarily disabling the firewall (you could start with outbound, but of course inbound as well if it's still a problem playing)?

