Servidores de Jogos

Migrando de arquivos INI (dini/y_ini) para MySQL

Migrando de arquivos INI (dini/y_ini) para MySQL

Seu servidor cresceu e a pasta scriptfiles/contas/ tem milhares de arquivos? É hora de migrar para o MySQL. Com planejamento, dá para fazer sem perder nenhuma conta.

1. Mapeie os dados

Abra alguns arquivos e liste todas as chaves:

Senha=...
Dinheiro=15000
Nivel=7
Skin=46
Admin=0

Cada chave vira uma coluna. Arquivos de casas, veículos e facções viram tabelas próprias.

2. Crie as tabelas

Aproveite para melhorar a estrutura: tipos corretos, índices e separação de dados. Veja nosso post sobre estruturar tabelas.

3. Escreva o importador

Duas abordagens:

  • Script externo (Python, PHP, Node): lê os arquivos INI e insere no banco. Costuma ser mais rápido e fácil de depurar;
  • Filterscript em Pawn: percorre os arquivos e insere via plugin MySQL. Útil se a equipe só conhece Pawn.

Registre as contas que falharem (arquivos corrompidos, valores inválidos) para tratar manualmente.

4. O problema das senhas

Se as senhas estão em texto puro ou em hash fraco (como udb_hash), você não consegue convertê-las para bcrypt diretamente. Opções:

  • Migração no login: importe o hash antigo numa coluna separada. Quando o jogador logar com sucesso usando o método antigo, gere o hash novo e apague o antigo;
  • Redefinição: peça que todos redefinam a senha (exige outro meio de verificação, como Discord ou e-mail).

A primeira é a mais transparente para os jogadores.

5. Adapte o gamemode

Substitua leituras e escritas de INI por consultas MySQL assíncronas (mysql_tquery). Aproveite para centralizar o salvamento numa função só.

6. Teste com uma cópia

  • Rode o importador numa cópia dos arquivos;
  • Compare amostras: dinheiro, nível, casas;
  • Teste login, registro e salvamento no servidor de testes.

7. A virada

  1. Anuncie a manutenção;
  2. Desligue o servidor (nenhuma alteração durante a importação);
  3. Faça backup dos arquivos INI;
  4. Rode o importador final;
  5. Suba o gamemode novo e acompanhe os logs.

Mantenha os arquivos antigos guardados por um tempo, por segurança.

Hospede seu servidor com a VittHost

Os planos OPENMP-BR da VittHost incluem MySQL, prontos para receber seus dados migrados. Servidores no Brasil, painel Pterodactyl, proteção DDoS, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.

Compartilhar:

Pronto para hospedar seu próximo projeto?

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

Ver planos VPS