Tutoriais

Como enviar gamemodes e plugins para seu servidor open.mp

O open.mp herdou a organização do SA-MP, com uma diferença que pega quem vem de lá: a configuração não é mais o server.cfg, é o config.json.

E há uma regra que vale para tudo: o open.mp só carrega o que estiver declarado. Copiar o arquivo para a pasta certa é metade do trabalho; a outra metade é dizer no config.json que ele existe.

Cada coisa na sua pasta

Pasta O que vai nela
gamemodes/ O modo de jogo — os .amx
filterscripts/ Scripts avulsos que rodam junto do gamemode
plugins/ Plugins do SA-MP — arquivos .so
components/ Componentes nativos do open.mp
scriptfiles/ Arquivos de dados que os scripts leem e gravam

Na raiz ficam o omp-server (o executável) e o config.json.

.amx é o que o servidor roda; .pwn é o código-fonte. O servidor não compila nada. Se você só tem o .pwn, precisa compilá-lo antes — no Pawno, no qawno ou pelo compilador de linha de comando.

Conectando por SFTP

É SFTP, não FTP. O painel usa SFTP na porta 2022, não o FTP da porta 21. Escolher "FTP" no FileZilla faz a conexão falhar sem explicar o motivo.

Entre em pelican.vitthost.com.br, abra o servidor e copie os dados de SFTP que ele mostra — o endereço depende do nó e o usuário traz o identificador do servidor.

Campo Valor
Protocolo SFTP - SSH File Transfer Protocol
Host o que o painel mostrar (nossos nós são node-01.br.vitthost.com.br e node-02.br.vitthost.com.br)
Porta 2022
Usuário o que o painel mostrar
Senha a mesma do painel

Enviando um gamemode

  1. Conecte no SFTP e entre em gamemodes/.
  2. Envie o .amx.
  3. Abra o config.json na raiz e declare o gamemode no bloco pawn, em main_scripts:
{
  "pawn": {
    "main_scripts": ["meu-gamemode 1"]
  }
}

O nome vai sem a extensão .amx. O número depois do espaço é o que o SA-MP chamava de gamemode0 nome 1 — quantas vezes aquele modo entra no rodízio.

  1. Reinicie o servidor pelo painel.

Enviando um filterscript

  1. Envie o .amx para filterscripts/.
  2. Declare no config.json, em side_scripts:
{
  "pawn": {
    "main_scripts": ["meu-gamemode 1"],
    "side_scripts": ["meu-filterscript"]
  }
}
  1. Reinicie.

Enviando um plugin

Plugin no Linux é um arquivo .so. Se você baixou um .dll, ele é do servidor de Windows e não funciona aqui — procure a versão para Linux na mesma página de download.

  1. Envie o .so para plugins/.
  2. Declare em legacy_plugins:
{
  "pawn": {
    "legacy_plugins": ["meu-plugin"]
  }
}
  1. Reinicie.

Componentes nativos do open.mp vão em components/ e não precisam ser declarados — o servidor carrega o que encontra lá.

Quando dá errado

O servidor não sobe e o console fala de script. Leia a mensagem: ela costuma dizer qual arquivo não foi encontrado. Confira se o nome no config.json bate com o do arquivo, sem a extensão, e se respeita maiúsculas e minúsculas — no Linux isso importa.

Plugin não carrega. Três causas, nessa ordem: é .dll em vez de .so; não foi declarado em legacy_plugins; ou falta uma biblioteca do sistema de que ele depende. O console diz qual.

O gamemode sobe mas nada funciona. Confira se o .amx foi compilado com as includes que o código pede. Erro de compilação vira comportamento estranho em tempo de execução.

Servidor não sobe depois de mexer no config.json. É JSON: vírgula sobrando antes de } ou ] quebra o arquivo inteiro. Passe num validador de JSON — leva dez segundos e resolve a maior parte dos casos.

Vindo do SA-MP?

Se você está migrando um servidor de SA-MP, o conteúdo dos scripts continua valendo. O que muda é a configuração: o server.cfg não é mais lido, e tudo o que estava nele precisa ir para o config.json no formato certo.

Os gamemodes e filterscripts de SA-MP rodam, e os plugins antigos entram em legacy_plugins — é para isso que esse campo existe.

Cuidados

  • Faça cópia antes de trocar gamemode. A responsabilidade pelo backup é sua, conforme a cláusula 14 dos Termos de Uso.
  • Gamemode de fonte desconhecida é código rodando no seu servidor, com acesso ao banco e aos jogadores. Vale olhar o que ele faz antes de ligar.
  • Para editar o config.json, o gerenciador de arquivos do painel é mais seguro que baixar, editar e subir de novo: evita problema de codificação e de quebra de linha em arquivo de texto.

Outros tutoriais desta série:

Veja os planos de open.mp ou abra um ticket.

Compartilhar:

Pronto para hospedar seu próximo projeto?

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

Ver planos VPS