Servidores de Jogos

Como criar servidor MTA:SA (Multi Theft Auto) — guia brasileiro

Sobre MTA:SA

Multi Theft Auto: San Andreas é a modificação multiplayer clássica do GTA:SA. No Brasil, é praticamente uma cultura à parte — há servidores de cidades RP, drift, freeroam, DM com décadas de existência e milhares de players ativos.

Requisitos

Muito mais leve que FiveM:

Players RAM vCPU Disco
16-32 2 GB 1 vCPU 10 GB
32-100 4 GB 2 vCPU 20 GB
100-500 8 GB 4 vCPU 40 GB
500+ 16 GB+ 6 vCPU+ 80 GB

Instalação (Linux)

apt update
apt install -y screen wget unzip lib32gcc-s1
useradd -m -s /bin/bash mta
su - mta
mkdir server && cd server

# Última versão do MTA (troque link se necessário):
wget https://linux.mtasa.com/dl/multitheftauto_linux_x64.tar.gz
tar xzf multitheftauto_linux_x64.tar.gz --strip-components=1
rm multitheftauto_linux_x64.tar.gz

# Baixar resources default (obrigatório)
cd mods/deathmatch/resources
wget https://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip
unzip mtasa-resources-latest.zip
rm mtasa-resources-latest.zip

Configurar mtaserver.conf

cd ~/server/mods/deathmatch
nano mtaserver.conf

Parâmetros principais:

<config>
    <servername>Meu Servidor - Vitt Host</servername>
    <serverip>auto</serverip>
    <serverport>22003</serverport>
    <httpport>22005</httpport>
    <maxplayers>128</maxplayers>
    <httpserver>1</httpserver>
    <ase>1</ase>                       <!-- lista pública -->
    <donotbroadcastlan>0</donotbroadcastlan>
    <password></password>
    <bandwidth_reduction>medium</bandwidth_reduction>
    <player_sync_interval>100</player_sync_interval>
    <lightweight_sync_interval>1500</lightweight_sync_interval>
    <camera_sync_interval>500</camera_sync_interval>
    <ped_sync_interval>400</ped_sync_interval>
    <vehext_sync_interval>500</vehext_sync_interval>
    <fpslimit>36</fpslimit>            <!-- FPS máximo do server -->
    <voice>0</voice>
    <verifyclientsettings>2</verifyclientsettings>
    <hideac>0,2</hideac>

    <!-- Módulos: ligar mysql, ml_base64, etc se usar -->
    <!-- <module src="ml_mysql.so" /> -->

    <resource src="admin"    startup="1" protected="0" />
    <resource src="freeroam" startup="1" protected="0" />
    <resource src="parachute" startup="1" protected="0" />
</config>

Iniciar

cd ~/server
screen -S mta ./mta-server64

Detach: Ctrl+A D. Console interativo: screen -r mta.

Firewall

ufw allow 22003/udp     # jogo (obrigatório)
ufw allow 22003/tcp     # opcional (usado por HTTP)
ufw allow 22005/tcp     # HTTP externo (recursos custom)

Sistema ACL (permissões)

O MTA usa mods/deathmatch/acl.xml. Estrutura padrão:

<group name="Admin">
    <acl name="Admin" />
    <acl name="Moderator" />
    <object name="user.SEUUSUARIO" />
    <object name="resource.admin" />
</group>

Para criar seu usuário admin, no console do servidor:

aexec addaccount USUARIO SENHA
aexec addaccountpermission user.USUARIO command.shutdown

Depois logar no jogo: /login USUARIO SENHA e usar /admin.

Resources populares (baixar de community.mtasa.com)

  • admin — painel de admin (já vem)
  • race — modo racing
  • freeroam — modo livre (spawn de carros)
  • radar — mapa/minimap
  • acpanel — anti-cheat
  • helpmanager — sistema de ajuda
  • login-panel — sistema de conta com MySQL
  • money-system — economia
  • inventory-system — inventário
  • rp-base — base de servidor RP

Instalar resource:

cd ~/server/mods/deathmatch/resources
# baixe o resource desejado em https://community.mtasa.com/ e faca upload via SFTP

No console: start nome-do-resource

Gamemodes populares no Brasil

  • Cidade RP — cidade custom, empregos, missões (Los Santos RP, BRT-RP)
  • Drift — mapas customizados, ranking de score
  • DayZ MTA — sobrevivência com zumbis
  • Freeroam — spawn livre, DM
  • Race — corridas com checkpoints

MySQL para RP

Se seu gamemode usa MySQL, instale o módulo:

# No config, adicione:
# <module src="ml_mysql.so" />

E crie o banco:

CREATE DATABASE mta;

Comandos in-game (admin)

/admin              abre painel admin (após login)
/kick <player>      expulsar
/ban <player>       banir
/restart <resource> reiniciar resource
/mute <player>      silenciar
/setmoney <p> 1000  dar dinheiro (se rp)

Otimização

  • Se lag ao movimentar: reduza player_sync_interval para 80-100
  • Muitos players (100+): compile os resources em .luac (ofusca + acelera)
  • Use CDN para arquivos grandes: configure httpurl no config apontando pra Cloudflare
  • Restart programado a cada 6h evita memory leak

Backup

# Dump MySQL + arquivos
0 4 * * * mysqldump -u root -psenha mta | gzip > /backup/mta-db-$(date +\%F).sql.gz && 
          tar czf /backup/mta-files-$(date +\%F).tar.gz ~/server/mods/deathmatch/resources

Troubleshooting

"Not connected to master server"<ase>1</ase> e firewall UDP 22003
"Resource failed to load" → depende de outro resource; veja o erro no console
Lag alto → aumente bandwidth_reduction=medium ou high
Players caem → verifique CPU (100% = servidor não segue), aumente vCPU

Links

Cena brasileira gigante: nossos VPS-BR têm ping baixo em todo o Brasil.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS
⏰ 20% OFF em VPS-BR --:--:-- Ver oferta →