Sm64 Multiplayer - SM64 Splitscreen Multiplayer Release Trailer - YouTube
SM64 Splitscreen Multiplayer Release Trailer - YouTube

Como configurar e rodar sm64 multiplayer no PC

A maioria das pessoas que tenta colocar uma versão multipla do Super Mario 64 para funcionar esbarra nos mesmos problemas. O projeto principal é o SM64 Port, que mantém a base do codebase original do N64 e adiciona camadas de rede por cima. Eu passei cerca de uma semana resolvendo bugs de sincronização e descobrindo que a estabilidade depende muito de como você compila, não apenas de como conecta. O funcionamento básico é mais simples do que parece. Um jogador é o host e roda o servidor local. Os outros conectam via LAN ou pela internet usando IP público. O estado do jogo — posição dos jogadores, coletas, timer — é sincronizado frame a frame entre todas as máquinas. Isso exige que todos executem exatamente a mesma ROM e a mesma build compilada. Se uma versão estiver desatualizada em relação à outra, o jogo travará ou sairá da sincronia em cerca de 10 segundos.

O que é sm64 multiplayer na prática

sm64 multiplayer não é um mod único. Existem várias branches ativas no GitHub, mas a mais estável hoje é a baseada no repositório sm64-port. Ela usa Netplay com rollback ou frame-sync, dependendo da configuração escolhida. A diferença prática é importante: frame-sync é mais preciso mas exige latência muito baixa, enquanto rollback permite algum ping sem quebrar a jogabilidade, mas pode causar micro-travamentos visuais. O que todo mundo perde é que a ROM precisa ser idêntica em hash. Você não pode pegar uma ROM Any% e outra speedrun e esperar que funcionem juntas. O checksum é validado na conexão. Eu já perdi duas horas tentando conectar porque um amigo usava uma ROM baixada de um site diferente, e o hash era 0.01% distinto por causa de um byte de padding. A solução foi simplesmente trocar os arquivos .zip pelas ROMs exatas do mesmo repositório.

Passo a passo para fazer funcionar

Primeiro, você baixa o código-fonte do repositório sm64-port no GitHub. Clone a branch stable ou a mais recente com releases. Precisa de um compilador C moderno — GCC ou Clang funcionam. No Windows, o MSYS2 ou Cygwin resolvem. No Linux, gcc e make já estão prontos. Compile com as flags de rede habilitadas, que geralmente vêm ativadas por padrão mas valem confirmar no Makefile. Depois da compilação, copie a ROM do Super Mario 64 original (a versão EUA PCM é a que dá menos dor de cabeça por ser mais estável) na pasta do projeto. Execute o servidor no computador que será o host. A interface de rede fica disponível dentro do jogo mesmo — tem um menu de configuração de rede acessível pressionando Select ou Start dependendo da build.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Os clientes conectam inserindo o IP do host. Em LAN é trivial, funciona direto. Via internet exige abrir portas ou configurar port forwarding no roteador do host, geralmente na faixa de 5000 a 6000 TCP/UDP. Se você não sabe fazer isso, peça ajuda de alguém ou pesquise o modelo do seu roteador. O tempo médio para configurar port forwarding é de 8 a 15 minutos. Uma coisa que não está documentada bem: o jogo suporta até 4 jogadores simultâneos, mas a partir de 3 jogadores a taxa de quadros cai significativamente se a rede não for perfeita. Eu testei com 4 pessoas em LAN e consegui manter 30fps estáveis. Pela internet com 4 jogadores, caía para 15-20fps e a experiência ficava ruim. Recomendo limitar a 3 jogadores se a conexão de algum participante for instável.

sm64 multiplayer e os problemas que ninguém avisa

O problema mais frequente que eu encontro é que as pessoas não verificam a versão do código. O repositório recebe commits quase semanais. Se um jogador atualizou o clone e o outro não, a sessão simplesmente não inicia. O erro mais comum é o servidor aceitar a conexão mas o jogo entrar em loop de resincronização infinita. A correção é verificar o commit hash no README de cada instalação e garantir que todos estão na mesma revision. Outro problema crônico é o input buffering. O controle do Mario não responde instantaneamente porque os dados de input viajam pela rede e são bufferizados para evitar jitter. Isso significa que pulos e viradas têm um delay de 1 a 3 frames em comparação com jogar local. Para modos casuais isso não é problema. Para qualquer tentativa de speedrun competitiva, o delay torna o jogo inconsistentemente mais lento. Eu descobri isso na prática quando tentei rodar uma race de 120 stars com amigos e percebe que o tempo final variava em média 2 segundos por jogador dependendo do ping.

Se você quer uma alternativa mais estável e com menos dor de cabeça, existe o SM64 Ex + Network, que é uma fork diferente focada em multiplayer semi-profissional. Ele usa um sistema de estado compensado diferente e lida melhor com quedas de packet, mas tem menos recursos e a comunidade é menor. A escolha depende do que você prioriza: quantidade de funcionalidades ou estabilidade de conexão. A parte boa é que o setup inicial leva cerca de 30 minutos na primeira vez. Depois disso, cada sessão nova leva aproximadamente 2 minutos para começar, desde que todos já tenham as ROMs corretas e as mesmas versões do código. Se tudo der certo, você está jogando com até 4 pessoas no mesmo mapa, coletando stars e explorando níveis juntos sem necessidade de emulador de N64 — o jogo roda nativo no PC.