Como liberar a porta 30120 no firewall do FiveM (Linux e Windows)

Guia técnico pra liberar a porta 30120 (TCP+UDP) no firewall do FiveM em Ubuntu, Debian, AlmaLinux e Windows Server. Inclui verificação e troubleshooting.

Seu servidor FiveM está rodando, o console do FXServer mostra Server started, o sv_licenseKey foi validado, mas os players relatam timeout ao tentar conectar. Em 9 de cada 10 casos novos, o problema é a porta 30120 bloqueada no firewall do sistema operacional ou no security group da provedora — não no FiveM em si.

Este guia cobre como liberar a porta 30120 (TCP e UDP) em Ubuntu/Debian com UFW, AlmaLinux/Rocky com firewalld, regras iptables diretas, e Windows Server com o Windows Defender Firewall. Também mostra como verificar se a porta está realmente aberta de fora e o que fazer quando o problema persiste.

Tempo estimado de execução: 5 a 10 minutos, dependendo do sistema operacional e se você já tem acesso administrativo.

Pré-requisitos

Antes de liberar a porta, confirme que o FXServer está rodando e escutando na 30120. Sem isso, abrir o firewall não resolve nada.

Pré-requisitos

Acesso root ou sudo no servidor. FXServer instalado e rodando com server.cfg configurado. Conhecimento do endereço IP público do servidor (curl ifconfig.me retorna). Em hosts cloud (AWS, GCP, Hetzner, Hostini), acesso ao painel de rede pra ajustar security groups se necessário.

Porta padrão FiveM 30120
Protocolo TCP + UDP
Painel txAdmin (opcional) 40120/TCP
Direção Inbound (entrada)

Confirme rapidamente que o FXServer está ouvindo na porta antes de mexer no firewall:

sudo ss -tulnp | grep 30120

Se retornar duas linhas (uma tcp e uma udp) com FXServer ao lado, o serviço está pronto. Se não retornar nada, suba o servidor primeiro — não adianta abrir porta de algo que não está rodando.

Ubuntu e Debian com UFW

UFW é o frontend de firewall mais comum em Ubuntu 22.04/24.04 e Debian 12. Os comandos abaixo abrem a 30120 TCP+UDP e persistem a regra entre reinicializações.

01

Verifique o status atual do UFW:

sudo ufw status verbose

Se a saída for Status: inactive, o UFW está desligado e provavelmente o iptables está vazio também. Confirme que a porta já não está bloqueada por outra camada antes de ativar o UFW — ativá-lo sem regras adequadas pode trancar você do SSH.

02

Antes de tudo, garanta que SSH continua liberado:

sudo ufw allow 22/tcp

Se você mudou a porta SSH (ex: 2222), use o número correto. Esse passo é defensivo — pula se você sabe que o SSH já está coberto.

03

Libere a porta 30120 nos dois protocolos:

sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp

Cada comando adiciona uma regra inbound permitindo qualquer origem. Pra restringir a um range específico de IPs (raro em servidor de jogos público), use sudo ufw allow from 1.2.3.0/24 to any port 30120.

04

Se o UFW estiver inativo, ative agora:

sudo ufw enable

Confirme y quando pedir. As regras adicionadas no passo anterior já estão presentes — você não vai se trancar fora se o SSH foi liberado no passo 02.

05

Confirme que as regras foram aplicadas:

sudo ufw status numbered

Saída esperada deve incluir duas linhas referenciando a porta 30120 — uma 30120/tcp ALLOW e outra 30120/udp ALLOW.

AlmaLinux, Rocky e CentOS com firewalld

Distribuições baseadas em Red Hat usam firewalld como gerenciador padrão. A sintaxe é diferente do UFW mas o resultado é equivalente.

01

Verifique se o firewalld está ativo:

sudo systemctl status firewalld

Se estiver inativo, ative com sudo systemctl enable --now firewalld antes de continuar.

02

Adicione as regras permanentes pra zona public (zona default na maioria das instalações):

sudo firewall-cmd --permanent --zone=public --add-port=30120/tcp
sudo firewall-cmd --permanent --zone=public --add-port=30120/udp

A flag --permanent grava a regra no arquivo de configuração; sem ela, a regra some no próximo restart do firewalld.

03

Recarregue o firewalld pra aplicar as regras gravadas:

sudo firewall-cmd --reload

Esse comando é seguro — não derruba conexões existentes.

04

Confirme as regras ativas:

sudo firewall-cmd --list-ports

A saída deve listar 30120/tcp 30120/udp junto com outras portas previamente abertas (ex: 22/tcp).

Regras iptables diretas

Se você administra o firewall manualmente via iptables (sem UFW ou firewalld), as regras precisam ser inseridas explicitamente e persistidas com o pacote iptables-persistent (Debian/Ubuntu) ou iptables-services (Red Hat).

sudo iptables -A INPUT -p tcp --dport 30120 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 30120 -j ACCEPT
Persistência manual no iptables

Regras adicionadas com iptables -A somem no próximo reboot. Em Debian/Ubuntu, instale iptables-persistent e rode sudo netfilter-persistent save. Em Red Hat, use sudo service iptables save. Sem isso, o servidor volta sem a regra após qualquer reinicialização.

Windows Server com Defender Firewall

Em Windows Server 2019, 2022 e Windows 10/11 usados como host de FiveM, o Defender Firewall bloqueia inbound por padrão. Crie a regra via PowerShell pra evitar cliques no GUI.

01

Abra o PowerShell como Administrador (clique direito no ícone, “Executar como administrador”).

02

Crie a regra inbound pra TCP/30120:

New-NetFirewallRule -DisplayName "FiveM TCP 30120" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 30120 `
  -Action Allow `
  -Profile Any

A flag -Profile Any aplica em redes Public, Private e Domain — necessário porque servidores cloud aparecem como Public no Windows.

03

Repita pra UDP/30120:

New-NetFirewallRule -DisplayName "FiveM UDP 30120" `
  -Direction Inbound `
  -Protocol UDP `
  -LocalPort 30120 `
  -Action Allow `
  -Profile Any
04

Confirme que as duas regras existem:

Get-NetFirewallRule -DisplayName "FiveM*" | Format-Table DisplayName, Enabled, Direction, Action

Saída esperada: duas linhas com Enabled True, Direction Inbound e Action Allow.

Verificação externa

Liberar a porta no sistema operacional não garante que ela esteja acessível de fora — provedoras cloud (AWS, GCP, Hetzner) têm uma camada adicional de security group que precisa ser ajustada separadamente.

De uma máquina externa (seu computador local, outro VPS, ou usando um serviço público), teste:

nmap -p 30120 -sU -sT SEU_IP_PUBLICO

A flag -sU testa UDP, -sT testa TCP. Saída esperada:

PORT      STATE         SERVICE
30120/tcp open          unknown
30120/udp open|filtered unknown

UDP frequentemente aparece como open|filtered porque é stateless — o nmap não consegue distinguir “porta aberta sem resposta” de “porta filtrada por firewall”. Isso é normal e não indica problema se o TCP retornou open.

Teste rápido sem nmap

Se não tem nmap instalado, use o site canyouseeme.org ou rode nc -zv SEU_IP 30120 de outro Linux. Pra UDP, nc -zuv SEU_IP 30120. Os resultados são menos confiáveis que nmap mas servem pra confirmação rápida.

Resolução de problemas

nmap retorna filtered em ambos protocolos

Significa que alguma camada está bloqueando os pacotes antes de chegar ao seu sistema operacional. Geralmente é:

  1. Security group da provedora cloud (AWS, GCP, Azure, Hetzner Cloud)
  2. Firewall de rede do datacenter
  3. Roteador NAT entre você e a internet (se for servidor caseiro)

Acesse o painel da provedora e adicione regra inbound TCP+UDP/30120 no security group associado à instância. Em servidores Hostini dedicados ou VPS, não há security group externo — o firewall do sistema operacional é a única camada, então filtered geralmente indica regra incorreta no UFW/firewalld.

nmap retorna closed no TCP

Firewall está OK mas FXServer não está escutando. Cheque:

sudo ss -tulnp | grep 30120

Se vazio, suba o FXServer e verifique os logs em ~/server-data/logs/. Erros comuns: endpoint_add_tcp apontando pra IP errado no server.cfg, falta de sv_licenseKey, ou conflito com outro processo já usando a porta.

Players conectam mas caem em segundos

Sintoma clássico de UDP bloqueado com TCP aberto. O handshake inicial funciona (TCP), mas o tráfego de jogo (UDP) não passa. Reveja se o passo de liberar UDP foi executado em todas as camadas (sistema operacional + security group).

txAdmin não abre no navegador

A 30120 é só pro jogo. O painel txAdmin escuta em 40120/TCP por padrão. Libere essa porta separadamente, mas restrita ao seu IP residencial (segurança):

sudo ufw allow from SEU_IP_RESIDENCIAL to any port 40120 proto tcp

Próximos passos

Com a porta liberada e o servidor acessível, considere:

  • Configurar fail2ban pra bloquear ataques de força bruta em SSH, já que o servidor agora tem porta pública exposta
  • Habilitar logs detalhados de conexão no FXServer (con_miniconChannels em server.cfg) pra investigar problemas de conectividade individuais
  • Implementar backups automáticos do server-data/resources/ e do banco MySQL antes de subir a divulgação do servidor
  • Avaliar proteção DDoS dedicada se você espera mais de 32 slots simultâneos — ataques contra servidores FiveM são comuns e baratos

Se você está colocando um servidor FiveM em produção e precisa de latência baixa pra players brasileiros, um VPS Hostini já vem com filtro de pacotes em kernel ativo contra DDoS L3/L4 e roteamento direto pra IXBR — sem cobrança por tráfego e sem precisar configurar security group externo.

Perguntas frequentes

Por que a porta 30120 precisa de TCP e UDP ao mesmo tempo?

O FXServer usa UDP/30120 pro tráfego principal do jogo (movimento, sincronização de estado, voz) por ser de baixa latência e tolerar perda. E usa TCP/30120 pra handshake inicial, autenticação no master server e endpoint HTTP do server browser. Liberar só um dos protocolos faz o servidor sumir da lista ou conectar e cair em segundos.

Posso usar uma porta diferente de 30120?

Pode. Mude `endpoint_add_tcp` e `endpoint_add_udp` no `server.cfg` pra outra porta (ex: 30125) e libere a nova porta no firewall em vez da 30120. Players precisam conectar com `connect IP:PORTA` informando a porta nova, já que o cliente FiveM assume 30120 por default.

Liberei a porta mas o servidor não aparece no server browser. O que está faltando?

Verifique se `sv_master1` está habilitado no `server.cfg` (geralmente o default já cobre), se o servidor tem `sv_licenseKey` válido vindo do Keymaster, e se a porta 30120/TCP está aberta pra saída também. O FXServer faz uma chamada saindo pro master server pra se anunciar — bloqueio de outbound TCP também causa o problema.

Preciso liberar mais alguma porta além da 30120?

Pra um servidor FiveM básico, só a 30120 (TCP+UDP). Se você roda txAdmin, o painel web abre na porta 40120/TCP por default — libere essa só pro seu IP, nunca aberta pra mundo. Se usa MySQL/MariaDB externo, considere 3306 mas restrito por IP.

Como sei se o problema é firewall do servidor ou do datacenter/provedora?

Rode `nmap -p 30120 SEU_IP` de uma máquina externa. Se retorna `filtered`, alguma camada está bloqueando silenciosamente — provavelmente security group ou firewall de rede da provedora. Se retorna `closed`, o firewall do sistema operacional aceitou o pacote mas nada está escutando na porta (FXServer não subiu). Se retorna `open`, o caminho está livre e o problema é outro (ex: licenseKey).

Posso desabilitar o firewall em vez de liberar a porta?

Pode tecnicamente, mas não faça. Desabilitar o ufw/firewalld/iptables expõe SSH, painéis administrativos e qualquer serviço local pra internet inteira. Em servidores de jogos isso é vetor de invasão e DDoS amplificado. Sempre prefira abrir só as portas necessárias.

Tópicos:
Próximos passos VPS, dedicado ou painel gerenciado para FiveM, SAMP, MTA, Tibia e mais.Hospede seu servidor de jogos com a Hostini →
Esse tutorial foi útil?
Falar no WhatsApp