Nome do Script : Como Remover Account Salt
Autor : Henke Rula
Servidor Testado : OTX Server 9.8x e outras versões também serve
Descrição : Mesmo tendo a opção no config.lua, não é retirado o salt do banco de dados.
Então modifiquei nas sources forçando não criar o Salt na tabela.
Abrir iologindata.cpp e procure por :
query << "SELECT `name`, `password`, `salt`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1";
E Troque por:
query << "SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1";
Logo abaixo verá essa opção que você deve remover:
account.salt = result->getDataString("salt");
Procure por :
query << "SELECT `id`, `password`, `salt`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `name` " << db->getStringComparer() << db->escapeString(name) << " LIMIT 1";
E troque por:
query << "SELECT `id`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `name` " << db->getStringComparer() << db->escapeString(name) << " LIMIT 1";
Logo abaixo verá essa opção que você deve remover:
account.salt = result->getDataString("salt");
Como podem verificar, eu removi o salt da consulta sql e removi a função também.
O começo da consulta pode variar entre query e dbquery dependendo da sua distro.
Procure por:
password = salt + password;
E troque por:
password = password;
E logo abaixo procure por:
query << "INSERT INTO `accounts` (`id`, `name`, `password`, `salt`) VALUES (NULL, " << db->escapeString(name) << ", " << db->escapeString(password) << ", " << db->escapeString(salt) << ")";
E troque por:
query << "INSERT INTO `accounts` (`id`, `name`, `password`) VALUES (NULL, " << db->escapeString(name) << ", " << db->escapeString(password) << ")";
A modificação é muito simples e 100% funcional e livre de bugs.
Vale lembrar que essa modificação é muito útil para aqueles que querem ter seu servidor criando contas ingame ou por site.
Este script trabalha perfeitamente com esse outro :
http://forums.otserv.com.br/showthread.php?209758-Account-Manager-com-Op%E7%E3o-de-Cidade&p=1469186#post1469186
Estou aberto a sugestões e críticas construtivas.