Ir para conteúdo
  • 0

[Resolvido] Problema com Distro TFS e Allisow


jvcasarin

Pergunta

Bom galera, eu tenho um server com o mapa Hero editado, rachei muito pra achar ele, porém, ele veio com a distro Allisow Server 8.6, e o server contém MUITOS, mas MUITOS erros mesmo, mas até agora, nenhum prejudicou a jogatina dos players.

 

Eu fui trocar o distro para um TFS 0.4 que eu compilei aqui com war system, cast etc...

 

Quando eu troco o distro, ocorre um bug MUITO LOUCO que eu nunca tinha visto.

 

Não aparece nenhum erro no console(pelo o que eu consegui observar) que gerou esse bug.

 

O bug é: Quando eu iniciei o server pela primeira vez usando esse TFS 0.4 que eu tenho, TODAS as account names foram trocadas para o account id da account do cara, exemplo:

 

Antes de trocar o distro:

account ID : 3

account name: exemplo1

password: 12345678

 

 

Depois de trocar o distro para TFS 0.4:

account ID: 3

account name: 3

password: 12345678

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Diretor

1º método

 

Eu sei porque amigo, importe sua database denovo mais não abre a distro...

 

Vai nas suas source procure definitions.h

 

Tente achar #define VERSION_DATABASE

 

e vê qual o número que está exemplo: #define VERSION_DATABASE 27

 

Após ter feito isso vai no seu banco de dados do servidor e procure: server_config

 

Altere o db_version para o número da versão da database que você viu no DEFINITIONS.H.

 

EXEMPLO:

 

Config value

db_version 27

 

Ou você pode olhar a que ficou com este problema que você diz, pois se a versão da database da distro for uma e na sua database for outra a sua distro altera para a dela, por isso muda, mais ele não muda so isso não viu, nos players muda os loot e talz e pode bugar na hora de morrer...

 

2º métedo (pela sources)

 

Abre suas sources pelo C++ e abre a databasemanager.cpp procure isto:

db->query("DELETE FROM `player_storage` WHERE `key` = 30018;");
   db->query("ALTER TABLE `accounts` ADD `name` VARCHAR(32) NOT NULL DEFAULT '';");
   if((result = db->storeQuery("SELECT `id` FROM `accounts`;")))
   {
	do
	{
	 query << "UPDATE `accounts` SET `name` = '" << result->getDataInt("id") << "' WHERE `id` = " << result->getDataInt("id") << ";";
	 db->query(query.str());
	 query.str("");
	}
	while(result->next());
	result->free();
   }

Altere para:

/*db->query("DELETE FROM `player_storage` WHERE `key` = 30018;");
   db->query("ALTER TABLE `accounts` ADD `name` VARCHAR(32) NOT NULL DEFAULT '';");
   if((result = db->storeQuery("SELECT `id` FROM `accounts`;")))
   {
	do
	{
	 query << "UPDATE `accounts` SET `name` = '" << result->getDataInt("id") << "' WHERE `id` = " << result->getDataInt("id") << ";";
	 db->query(query.str());
	 query.str("");
	}
	while(result->next());
	result->free();
   }*/

Pronto isso não alteraria o Login da sua conta.

 

Eu preferia fazer o método 1 rsrs mais fique de sua escolha.

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

  • 0

normalmente se tem que resetar o otserv para poder mudar a distro kk acretido eu,

 

e quando vc colocar a distro 0.4 voce deve mudar a criptografia para sha1 no config.lua que vai estar plain

 

 

não recomendo usar a distro do allisow porque ja usei ela e da muito crash e tem bug do elfbot com clonagem

Editado por valakas
Link para o comentário
Compartilhar em outros sites

  • 0

O TFS 0.4 fui eu que compilei, pedi em vários forums pra retirar a obrigatoriedade do sha1 e deixar usar plain, ou seja, agora meu TFS 0.4 aceita plain tbm rsrs


O TFS 0.4 fui eu que compilei, pedi em vários forums pra retirar a obrigatoriedade do sha1 e deixar usar plain, ou seja, agora meu TFS 0.4 aceita plain tbm rsrs

 

 

 

Edit:

 

Nunca precisei desse negócio de resetar a database pra trocar distro, ja fiz isso em alguns outros mapas meus, e nunca deu problema.. Mas vlw a intenção!!

Link para o comentário
Compartilhar em outros sites

  • 0

O TFS 0.4 fui eu que compilei, pedi em vários forums pra retirar a obrigatoriedade do sha1 e deixar usar plain, ou seja, agora meu TFS 0.4 aceita plain tbm rsrs

 

 

 

Edit:

 

Nunca precisei desse negócio de resetar a database pra trocar distro, ja fiz isso em alguns outros mapas meus, e nunca deu problema.. Mas vlw a intenção!!

não acho necessario por plain por enquanto rsrsrs porque logo o cara quer usar mysql

Link para o comentário
Compartilhar em outros sites

  • 0

1º método

 

Eu sei porque amigo, importe sua database denovo mais não abre a distro...

 

Vai nas suas source procure definitions.h

 

Tente achar #define VERSION_DATABASE

 

e vê qual o número que está exemplo: #define VERSION_DATABASE 27

 

Após ter feito isso vai no seu banco de dados do servidor e procure: server_config

 

Altere o db_version para o número da versão da database que você viu no DEFINITIONS.H.

 

EXEMPLO:

 

Config value

db_version 27

 

Ou você pode olhar a que ficou com este problema que você diz, pois se a versão da database da distro for uma e na sua database for outra a sua distro altera para a dela, por isso muda, mais ele não muda so isso não viu, nos players muda os loot e talz e pode bugar na hora de morrer...

 

2º métedo (pela sources)

 

Abre suas sources pelo C++ e abre a databasemanager.cpp procure isto:

db->query("DELETE FROM `player_storage` WHERE `key` = 30018;");
   db->query("ALTER TABLE `accounts` ADD `name` VARCHAR(32) NOT NULL DEFAULT '';");
   if((result = db->storeQuery("SELECT `id` FROM `accounts`;")))
   {
	do
	{
	 query << "UPDATE `accounts` SET `name` = '" << result->getDataInt("id") << "' WHERE `id` = " << result->getDataInt("id") << ";";
	 db->query(query.str());
	 query.str("");
	}
	while(result->next());
	result->free();
   }

Altere para:

/*db->query("DELETE FROM `player_storage` WHERE `key` = 30018;");
   db->query("ALTER TABLE `accounts` ADD `name` VARCHAR(32) NOT NULL DEFAULT '';");
   if((result = db->storeQuery("SELECT `id` FROM `accounts`;")))
   {
	do
	{
	 query << "UPDATE `accounts` SET `name` = '" << result->getDataInt("id") << "' WHERE `id` = " << result->getDataInt("id") << ";";
	 db->query(query.str());
	 query.str("");
	}
	while(result->next());
	result->free();
   }*/

Pronto isso não alteraria o Login da sua conta.

 

Eu preferia fazer o método 1 rsrs mais fique de sua escolha.

 

RESOLVIDO pelo 1º método! VLW REP+

Link para o comentário
Compartilhar em outros sites

  • 0
  • Administrador
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...