Configurar RCON SA-MP remoto: acesso seguro ao servidor
Configure o RCON do SA-MP pra administrar seu servidor remotamente via client ou ferramenta externa — senha forte, porta, firewall, comandos e auditoria.
RCON (Remote Console) é o canal administrativo nativo do servidor SA-MP — autoriza comandos como kick, ban, mapname, reload e exit mediante senha. Diferente de sistemas de admin in-game escritos no gamemode, o RCON funciona no nível do core do servidor: responde mesmo sem gamemode carregado, autentica por senha em server.cfg e aceita conexões externas via UDP na mesma porta do jogo.
Este guia é pra owner de SA-MP que quer administrar o servidor remotamente — seja pelo próprio client SA-MP via /rcon login, seja via ferramentas externas como samp-rcon em Python pra automação. Cobre a configuração no server.cfg, geração de senha segura, liberação no firewall, restrição por IP e uso prático de comandos.
Tempo estimado: 15 a 25 minutos, incluindo geração de senha forte, ajustes no firewall e testes de conectividade.
Pré-requisitos
Servidor SA-MP já instalado e rodando (Windows Server ou Linux), acesso ao arquivo server.cfg (geralmente em /samp/server.cfg no Linux ou C:\samp\server.cfg no Windows), permissão pra reiniciar o processo do servidor e acesso administrativo ao firewall do sistema operacional. Se for usar ferramenta externa, Python 3.8+ instalado na sua máquina local.
7777 (UDP) server.cfg UDP sem criptografia rcon_login_attempts (default 3) Confirme antes que o servidor responde no IP esperado. Em VPS ou dedicado, garanta que a porta UDP 7777 (ou a que você definiu em port) está liberada na borda. Se o servidor está atrás de NAT, o forwarding precisa cobrir UDP — RCON não usa TCP em nenhum momento.
Habilite o RCON no server.cfg
O RCON é controlado por duas diretivas no server.cfg: rcon (liga/desliga) e rcon_password (define a senha). Sem rcon 1, qualquer tentativa de login é rejeitada silenciosamente — o cliente recebe “Bad RCON password” mesmo se passar a string correta.
Abra o server.cfg no editor de texto e localize ou adicione as linhas de RCON:
rcon 1
rcon_password SUA_SENHA_AQUI
rcon_login_attempts 3rcon 1 habilita o canal administrativo. rcon_password define a string usada pra autenticar. rcon_login_attempts limita falhas in-game antes de banir o IP do jogador (não afeta RCON externo, mas é boa prática).
Gere uma senha forte aleatória — não reutilize senha de painel ou banco. No Linux:
openssl rand -base64 32 | tr -d '/+=' | head -c 32No Windows PowerShell:
-join ((48..57) + (65..90) + (97..122) | Get-Random -Count 32 | % {[char]$_})Cole o resultado em rcon_password. Evite caracteres $, ", ' e espaços — o parser do client SA-MP quebra com eles.
A senha do RCON trafega em UDP sem criptografia. Senhas curtas (8-12 chars) são quebráveis em horas via brute force em rede. Use no mínimo 24 caracteres aleatórios. Se você suspeitar de comprometimento, troque a senha e reinicie o servidor imediatamente.
Salve o arquivo e reinicie o servidor SA-MP pra carregar as mudanças. RCON não recarrega via comando — precisa restart completo do processo.
No Linux com screen/tmux:
killall samp03svr && cd /samp && ./samp03svr &No Windows, pare o processo samp-server.exe no Task Manager e inicie novamente pelo executável ou serviço.
Restrinja o RCON no firewall
Por padrão, qualquer IP que alcance a porta do jogo pode tentar login RCON. Restringir o canal administrativo aos IPs do time de admin reduz drasticamente a superfície de ataque — brute force só funciona se o pacote chegar ao servidor.
No Linux com iptables, libere a porta do jogo geral mas faça uma regra de log/drop específica pra tentativas suspeitas:
sudo iptables -A INPUT -p udp --dport 7777 -m recent --name RCONFLOOD --update --seconds 60 --hitcount 20 -j DROP
sudo iptables -A INPUT -p udp --dport 7777 -m recent --name RCONFLOOD --set
sudo iptables -A INPUT -p udp --dport 7777 -j ACCEPTIsso bloqueia IPs que mandam mais de 20 pacotes UDP em 60 segundos pra porta do servidor — mitigação genérica que pega brute force RCON sem prejudicar jogadores legítimos (que mandam ~10-15 pacotes/seg em condições normais).
Se você quer restringir RCON estritamente a IPs administrativos conhecidos, crie uma regra mais agressiva e libere o tráfego de jogo separadamente. Isso exige separar pacotes RCON de pacotes de jogo no payload — não trivial sem deep packet inspection.
A solução prática: deixar o servidor em rede privada e expor a porta 7777 via reverse proxy UDP que filtra por IP de origem em camada superior. Em VPS Hostini, a proteção de borda já filtra padrões anômalos de UDP antes de chegar no servidor.
Se você bloquear todos os IPs exceto o seu e seu IP residencial for dinâmico, vai perder acesso administrativo no próximo reset do roteador. Use IP estático na rede admin ou VPN dedicada com IP fixo. Mantenha uma rota alternativa de acesso (console KVM ou SSH no host) pra restaurar regras em emergência.
Faça login RCON pelo client SA-MP
A forma mais direta de testar é conectar ao servidor pelo próprio client SA-MP e autenticar via comando.
Entre no servidor normalmente (Servers → Add → IP:porta) e, com personagem spawnado, abra o chat e digite:
/rcon login SUA_SENHA_AQUIO servidor responde com SERVER: You are logged in as admin. no chat. A partir daí, qualquer comando RCON funciona prefixado por /rcon.
Teste comandos básicos pra validar:
/rcon cmdlist
/rcon players
/rcon hostname Novo Nome do Servidor
/rcon weather 15
/rcon gravity 0.005cmdlist lista todos os comandos RCON disponíveis. players mostra jogadores conectados com ID. hostname, weather e gravity alteram propriedades do servidor em runtime — útil pra eventos.
Use ferramenta externa pra automação
Pra agendar reinícios, reloads de filterscript ou broadcasts via cron, o caminho é uma ferramenta externa que mande pacotes RCON sem precisar de client SA-MP conectado.
Instale o pacote samp-rcon em Python na máquina que vai automatizar:
pip install samp-rconE execute comandos diretos:
samp-rcon 192.0.2.10 7777 SUA_SENHA "gmx"
samp-rcon 192.0.2.10 7777 SUA_SENHA "reloadfs anticheat"
samp-rcon 192.0.2.10 7777 SUA_SENHA "say Reinício programado em 5 minutos"gmx faz reload completo do gamemode. reloadfs recarrega filterscript específico. say envia mensagem broadcast pro chat in-game.
Quando RCON é usado em scripts automáticos, registre cada comando executado em log próprio (timestamp + comando + resultado). Isso facilita troubleshooting quando algo dispara fora de hora e deixa trilha de auditoria pra revisão de segurança. Stdout do samp-rcon traz o retorno do servidor — basta redirecionar pra arquivo.
Verificação
Confirme que o RCON está funcional e protegido:
# Teste login válido
samp-rcon SEU_IP 7777 SUA_SENHA "players"
# Teste senha errada (deve retornar Bad RCON)
samp-rcon SEU_IP 7777 errada "players"
Output esperado pra login válido: lista de jogadores. Pra senha errada: mensagem de falha. Verifique o log do servidor SA-MP — cada tentativa RCON gera linha do tipo RCON: Connection from 1.2.3.4:54321 - Login attempt.
Resolução de problemas
Login retorna “Bad RCON password” mesmo com senha correta
Confirme rcon 1 (não rcon 0) no server.cfg e que o arquivo foi salvo antes do restart. Se a senha tem caracteres especiais, teste com senha só alfanumérica pra isolar — o parser do client SA-MP tem bugs conhecidos com $, aspas e cifrão.
RCON funciona local mas não da internet
Verifique o firewall do sistema operacional e o firewall da borda (provedor/datacenter). Pacotes UDP precisam roteamento bidirecional. Use nc -u -v SEU_IP 7777 da máquina externa pra confirmar conectividade UDP — se trava sem resposta, é firewall.
Tentativas brute force aparecem no log
Mude a senha imediatamente, ative regra iptables recent (Step 04) e considere mover o servidor pra rede com proteção DDoS na borda. Logs em server_log.txt mostram IP de origem de cada tentativa — bloqueie individualmente IPs reincidentes via iptables -A INPUT -s IP -j DROP.
Próximos passos
Com RCON configurado, considere os próximos avanços:
- Implementar sistema de admin in-game escalonado (níveis 1-5) pra reduzir uso de RCON puro
- Configurar log centralizado dos comandos RCON pra auditoria
- Avaliar plugins de anticheat (sampac, NEX-AC) que rodam separado do RCON
- Documentar runbook de incidente pra time admin saber quando trocar senha e reiniciar
Se você está colocando o servidor SA-MP em produção pra comunidade grande, uma VPS Hostini já vem com proteção DDoS na borda e firewall configurável por IP — isolar o canal administrativo fica muito mais simples quando a infra subjacente filtra padrões anômalos antes do servidor. Conheça as opções em /jogos.
Perguntas frequentes
Qual a diferença entre RCON e admin in-game no SA-MP?
RCON é o protocolo nativo do server SA-MP — autentica via senha definida em `rcon_password` no server.cfg e dá acesso a comandos do core (kick, ban, mapname, reload, exit). Admin in-game é qualquer sistema de níveis implementado em gamemode/filterscript (ex: /makeadmin no pawn). RCON funciona mesmo sem gamemode carregado e responde por UDP na porta do servidor; admin in-game depende do script estar rodando e do jogador estar conectado.
Por que meu /rcon login sempre falha com a senha correta?
Três causas comuns: (1) `rcon` está como `0` no server.cfg — precisa `rcon 1` pra habilitar; (2) caracteres especiais na senha conflitam com o parser do client (evite espaços, aspas e cifrão); (3) o jogador não está logado ou o servidor tem `rcon_login_attempts` configurado e você passou do limite. Confirme nos logs do servidor: cada tentativa imprime `RCON (In-Game): Player ... <NOME> failed login attempt`.
É seguro deixar o RCON exposto na internet?
Não sem precauções. RCON do SA-MP transmite a senha em UDP sem criptografia — qualquer sniffer no caminho captura. Mitigações práticas: (1) senha de 32+ caracteres aleatórios, nunca a mesma do painel; (2) firewall liberando RCON só dos IPs administrativos; (3) log de tentativas falhas via plugin (Streamer/sscanf não cobrem isso, use logger custom); (4) trocar a senha em qualquer suspeita. Não existe RCON sobre TLS no SA-MP — é limitação do protocolo.
Como mudar a porta do RCON pra ficar diferente da porta do jogo?
Não dá. O RCON do SA-MP compartilha a mesma porta UDP do servidor de jogo (padrão 7777). Não há config separada — `port 7777` no server.cfg vale pros dois canais. Se quiser isolar tráfego administrativo, a única saída é firewall: libere a porta do jogo pra `0.0.0.0/0` (jogadores) e restrinja pacotes RCON via regras em camada superior. Na prática, controle por IP de origem é a mitigação real.
Qual ferramenta externa funciona pra mandar comandos RCON em massa?
SAMP RCON Tool (Windows GUI clássico), samp-rcon (Python, mantido no GitHub, multiplataforma) e queries via `socat`/`netcat` com payload manual. O mais usado em automação é o pacote Python — `pip install samp-rcon` e roda `samp-rcon <ip> <porta> <senha> 'cmdlist'`. Útil pra agendar `gmx`, reload de filterscripts ou broadcasts via cron sem entrar in-game.
RCON tem rate limit ou proteção contra brute force?
O server SA-MP não tem rate limit nativo no RCON — cada tentativa válida processa o login independente da frequência. A única proteção embutida é `rcon_login_attempts` (default 3) que bane o IP do jogador autenticado in-game após N falhas. Pra RCON externo (sem player object), não há throttle. Solução real: rate limit no firewall (iptables `recent` module) ou na borda de rede limitando pacotes UDP por IP.