Não há uma maneira padrão confiável de informar a um sistema remoto em uma rede NATted diferente para abrir uma porta para um aplicativo em um sistema local.
Você tem três métodos básicos para evitar a configuração do usuário do encaminhamento de porta com a maioria dos aplicativos:
Diga ao usuário que ele é SOL, a menos que ele conecte diretamente seu computador ou dispositivo a uma Internet cujo ISP não bloqueie o tráfego de entrada. Esta é uma má ideia.
Dizendo ao roteador para abrir uma porta programaticamente usando algo como o uPNP. Isso pressupõe que seu roteador suporte isso.
C. Ter um sistema conhecido fora de qualquer rede NATted para a qual os clientes possam fazer conexões de saída. Esse sistema também pode precisar encaminhar o tráfego em nome dos clientes.
O termo apropriado para "emulador de LAN" é rede privada virtual. O Hamachi e o OpenVPN são dois pacotes de software que configuram uma VPN. Estou apostando que Garena, como mencionado por @gronostaj, opera de maneira semelhante com uma interface amigável para jogadores.
Uma VPN cairá na categoria C - você precisará de um servidor VPN acessível fora do NAT de qualquer pessoa para que funcione. Uma VPN funcionaria bem - a rede virtual funcionaria exatamente como uma LAN e os sistemas que estão na VPN podem receber conexões de entrada de qualquer outro sistema na VPN.
Tenho certeza que você não quer arcar com as despesas e responsabilidade de operar uma VPN acessível centralmente - sem mencionar que restringir a utilização apenas para Warcraft será difícil e muito mais responsável.
Eu não usei muito o Hamachi, então não tenho certeza se você pode aproveitá-lo para alcançar o que deseja.
O melhor que você provavelmente pode fazer é suportar o uPnP e incluir instruções de encaminhamento de porta para roteadores comuns com o seu software.