Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá a todos,

Estive trabalhando em um OT 11.49 (sim, do malucoo) E está quase pronto, finalmente. O único problema é que eu não consigo fazer um cliente próprio da versão 11! Já vi todos os tutoriais disponíveis e nada.

 

O que acontece de errado:

Após editar o client via Notepad ++, eu abro ele, coloco meu account name e a senha, ele abre a seleção de char, mas ao tentar entrar no char:

mFv3IDUtRVuEX93e3EnfMA.png

 

O client versão 10 funcionou perfeitamente! Só tive esse problema com o 11.49.

Grato pela atenção. No aguardo de respostas.

Link para o post
Compartilhar em outros sites

Olá amigo,

existem algumas etapas a fazer antes com o client 11.

Não é apenas editar ele com o notepad++.

Você precisa também usar um arquivo que vou detalhar abaixo:

 

1° Etapa:
Você tem que possuir o arquivo login.php dentro do seu html (linux) ou www (windows)
(caso não tenha copie esse abaixo no spoiler, crie um arquivo login.php e adicione o codigo dentro dele. depois coloque o arquivo dentro da pasta html ou www)

 

Spoiler

 


<?php

require 'config/config.php';

// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);

// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);
define('INITIALIZED', true);

if (!defined('ONLY_PAGE'))
    define('ONLY_PAGE', true);

// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');

// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');

// DATABASE
include_once('./system/load.database.php');
if (DEBUG_DATABASE)
    Website::getDBHandle()->setPrintQueries(true);

// DATABASE END
/*error example:
{
    "errorCode":3,
    "errorMessage":"Account name or password is not correct."
}*/

# Declare variables with array structure
$characters = array();
$playerData = array();
$data = array();
$isCasting = false;

# error function
function sendError($msg){
    $ret = array();
    $ret["errorCode"] = 3;
    $ret["errorMessage"] = $msg;
    
    die(json_encode($ret));
}

# getting infos
	$request = file_get_contents('php://input');
	$result = json_decode($request, true);

# account infos
	$accountName = $result["accountname"];
	$password = $result["password"];
# game port
	$port = 7172;

# check if player wanna see cast list
if (strtolower($accountName) == "cast")
	$isCasting = true;
if ($isCasting) {
	$casts = $SQL->query("SELECT `player_id` FROM `live_casts`")->fetchAll();
	if (count($casts[0]) == 0)
		sendError("There is no live casts right now!");
	foreach($casts as $cast) {
		$character = new Player();
		$character->load($cast['player_id']);
		
		if ($character->isLoaded()) {
			$char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false);
			$characters[] = $char;
		}			
	}
	$port = 7173;
	$lastLogin = 0;
	$premiumAccount = true;
	$timePremium = 0;
} else {
	$account = new Account();
	$account->find($accountName);
	
	if (!$account->isLoaded())
		sendError("Failed to get account. Try again!");
	if ($account->getPassword() != Website::encryptPassword($password))
		sendError("The password for this account is wrong. Try again!");
	
	foreach($account->getPlayersList() as $character) {
		$char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false);
		$characters[] = $char;
	}
	
	$lastLogin = $account->getLastLogin();
	$premiumAccount = ($account->isPremium()) ? true : false;
	$timePremium = time() + ($account->getPremDays() * 86400);
}
$session = array(
	"fpstracking" => false,
	"isreturner" => true,
	"returnernotification" => false,
	"showrewardnews" => false,
	"sessionkey" => $accountName . "\n" . $password,
	"lastlogintime" => $lastLogin,
    "ispremium" => $premiumAccount,
    "premiumuntil" => $timePremium,
    "status" => "active"	
);
$world = array(
	"id" => 0,
	"name" => $config['server']['serverName'],
	"externaladdress" => $config['server']['ip'],
	"externalport" => $port,
	"previewstate" => 0,
    "location" => "BRA",
    "anticheatprotection" => false
);

//Survey by: Cjaker
$survey = array(
    "id" => rand(0, 999999),
    "invitationtext" => "Querido tibiano, obrigado por usar OTX, a base mais atualizada do Tibia Global.\n'Mensagem dita por Cjaker'.",
    "invitationtoken" => "1751f1beddf001e1d36dee78ace974",
    "endtimestamp" => 1510614000
);

// https://limesurvey.cipsoft.com/index.php/survey/index/sid/527875/lang-en?token=1751f1beddf001e1d36dee78ace974
// token=invitationtoken
// o endtimestamp acima é o tempo convertido em unix timestamp, onde o mesmo é o prazo que irá acabar o survey!

$worlds = array($world);
$data["session"] = $session;
$playerData["worlds"] = $worlds;
$playerData["characters"] = $characters;
$data["playdata"] = $playerData;
$data["survey"] = $survey;

echo json_encode($data);

 

 

 

 

2° Etapa:

Você vai abrir o CLIENT 11 com o NOTEPAD++

Vai da um CTRL + H e em LOCALIZAR você coloca

BC27F992A96B8E2A43F4DFBE1CEF8FD51CF43D2803EE34FBBD8634D8B4FA32F7D9D9E159978DD29156D62F4153E9C5914263FC4986797E12245C1A6C4531EFE48A6F7C2EFFFFF18F2C9E1C504031F3E4A2C788EE96618FFFCEC2C3E5BFAFAF743B3FC7A872EE60A52C29AA688BDAF8692305312882F1F66EE9D8AEB7F84B1949

Em SUBSTITUIR POR você coloca

9B646903B45B07AC956568D87353BD7165139DD7940703B03E6DD079399661B4A837AA60561D7CCB9452FA0080594909882AB5BCA58A1A1B35F8B1059B72B1212611C6152AD3DBB3CFBEE7ADC142A75D3D75971509C321C5C24A5BD51FD460F01B4E15BEB0DE1930528A5D3F15C1E3CBF5C401D6777E10ACAAB33DBE8D5B7FF5

Pronto, você acabou de trocar a RSA KEY

Agora vamos mudar o endereço de login do Client 11.

Obs.: Tenha em mente que o  numero de CARACTERES que tem no client tem que permanecer (53), caso o seu não possua a mesma quantidade você vai preencher com NULL conforme abaixo:

Dê um CTRL + L e procure por:

https://secure.tibia.com/services/clientservices.php

Essa Linha tem 53 caracteres!

Logo, caso o seu nao possua a mesma quantidade você terá que incluir alguns NULLs

vamos usar como exemplo o ip localhost 127.0.0.1 e vamos substituir o site do tibia por:

http://127.0.0.1/login.php

Ao substituir essa linha, observe que só tem 27 caracteres, ou seja, tem 26 caracteres a menos do que a linha original.

Dessa forma teremos que adicionar 26 caracteres NULL

Para adicionar vá em

 

Plugins>Converter>Conversion Painel

 

rZT3rba.png

 

 

Na linha 19243 você irá começar a adicionar os NULLS

 

b1J29ac.png

 

Nessa situação, iremos adicionar 26 caracteres

 

1XWEskY.png

 

Após adicionar os caracteres, salve o arquivo e ele vai entrar tranquilamente no seu servidor xD

espero ter ajudado.

Caso queira utilizar o client que usei nesse tutorial baixe através do link abaixo. (com os dados originais do tibia)

Client Tibia 11.49.5884

 

Link para o post
Compartilhar em outros sites
1 hora atrás, TioSlash disse:

Olá amigo,

existem algumas etapas a fazer antes com o client 11.

Não é apenas editar ele com o notepad++.

Você precisa também usar um arquivo que vou detalhar abaixo:

 

1° Etapa:
Você tem que possuir o arquivo login.php dentro do seu html (linux) ou www (windows)
(caso não tenha copie esse abaixo no spoiler, crie um arquivo login.php e adicione o codigo dentro dele. depois coloque o arquivo dentro da pasta html ou www)

 

  Mostrar conteúdo oculto

 



<?php

require 'config/config.php';

// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);

// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);
define('INITIALIZED', true);

if (!defined('ONLY_PAGE'))
    define('ONLY_PAGE', true);

// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');

// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');

// DATABASE
include_once('./system/load.database.php');
if (DEBUG_DATABASE)
    Website::getDBHandle()->setPrintQueries(true);

// DATABASE END
/*error example:
{
    "errorCode":3,
    "errorMessage":"Account name or password is not correct."
}*/

# Declare variables with array structure
$characters = array();
$playerData = array();
$data = array();
$isCasting = false;

# error function
function sendError($msg){
    $ret = array();
    $ret["errorCode"] = 3;
    $ret["errorMessage"] = $msg;
    
    die(json_encode($ret));
}

# getting infos
	$request = file_get_contents('php://input');
	$result = json_decode($request, true);

# account infos
	$accountName = $result["accountname"];
	$password = $result["password"];
# game port
	$port = 7172;

# check if player wanna see cast list
if (strtolower($accountName) == "cast")
	$isCasting = true;
if ($isCasting) {
	$casts = $SQL->query("SELECT `player_id` FROM `live_casts`")->fetchAll();
	if (count($casts[0]) == 0)
		sendError("There is no live casts right now!");
	foreach($casts as $cast) {
		$character = new Player();
		$character->load($cast['player_id']);
		
		if ($character->isLoaded()) {
			$char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false);
			$characters[] = $char;
		}			
	}
	$port = 7173;
	$lastLogin = 0;
	$premiumAccount = true;
	$timePremium = 0;
} else {
	$account = new Account();
	$account->find($accountName);
	
	if (!$account->isLoaded())
		sendError("Failed to get account. Try again!");
	if ($account->getPassword() != Website::encryptPassword($password))
		sendError("The password for this account is wrong. Try again!");
	
	foreach($account->getPlayersList() as $character) {
		$char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false);
		$characters[] = $char;
	}
	
	$lastLogin = $account->getLastLogin();
	$premiumAccount = ($account->isPremium()) ? true : false;
	$timePremium = time() + ($account->getPremDays() * 86400);
}
$session = array(
	"fpstracking" => false,
	"isreturner" => true,
	"returnernotification" => false,
	"showrewardnews" => false,
	"sessionkey" => $accountName . "\n" . $password,
	"lastlogintime" => $lastLogin,
    "ispremium" => $premiumAccount,
    "premiumuntil" => $timePremium,
    "status" => "active"	
);
$world = array(
	"id" => 0,
	"name" => $config['server']['serverName'],
	"externaladdress" => $config['server']['ip'],
	"externalport" => $port,
	"previewstate" => 0,
    "location" => "BRA",
    "anticheatprotection" => false
);

//Survey by: Cjaker
$survey = array(
    "id" => rand(0, 999999),
    "invitationtext" => "Querido tibiano, obrigado por usar OTX, a base mais atualizada do Tibia Global.\n'Mensagem dita por Cjaker'.",
    "invitationtoken" => "1751f1beddf001e1d36dee78ace974",
    "endtimestamp" => 1510614000
);

// https://limesurvey.cipsoft.com/index.php/survey/index/sid/527875/lang-en?token=1751f1beddf001e1d36dee78ace974
// token=invitationtoken
// o endtimestamp acima é o tempo convertido em unix timestamp, onde o mesmo é o prazo que irá acabar o survey!

$worlds = array($world);
$data["session"] = $session;
$playerData["worlds"] = $worlds;
$playerData["characters"] = $characters;
$data["playdata"] = $playerData;
$data["survey"] = $survey;

echo json_encode($data);

 

 

 

 

2° Etapa:

Você vai abrir o CLIENT 11 com o NOTEPAD++

Vai da um CTRL + H e em LOCALIZAR você coloca


BC27F992A96B8E2A43F4DFBE1CEF8FD51CF43D2803EE34FBBD8634D8B4FA32F7D9D9E159978DD29156D62F4153E9C5914263FC4986797E12245C1A6C4531EFE48A6F7C2EFFFFF18F2C9E1C504031F3E4A2C788EE96618FFFCEC2C3E5BFAFAF743B3FC7A872EE60A52C29AA688BDAF8692305312882F1F66EE9D8AEB7F84B1949

Em SUBSTITUIR POR você coloca


9B646903B45B07AC956568D87353BD7165139DD7940703B03E6DD079399661B4A837AA60561D7CCB9452FA0080594909882AB5BCA58A1A1B35F8B1059B72B1212611C6152AD3DBB3CFBEE7ADC142A75D3D75971509C321C5C24A5BD51FD460F01B4E15BEB0DE1930528A5D3F15C1E3CBF5C401D6777E10ACAAB33DBE8D5B7FF5

Pronto, você acabou de trocar a RSA KEY

Agora vamos mudar o endereço de login do Client 11.

Obs.: Tenha em mente que o  numero de CARACTERES que tem no client tem que permanecer (53), caso o seu não possua a mesma quantidade você vai preencher com NULL conforme abaixo:

Dê um CTRL + L e procure por:


https://secure.tibia.com/services/clientservices.php

Essa Linha tem 53 caracteres!

Logo, caso o seu nao possua a mesma quantidade você terá que incluir alguns NULLs

vamos usar como exemplo o ip localhost 127.0.0.1 e vamos substituir o site do tibia por:


http://127.0.0.1/login.php

Ao substituir essa linha, observe que só tem 27 caracteres, ou seja, tem 26 caracteres a menos do que a linha original.

Dessa forma teremos que adicionar 26 caracteres NULL

Para adicionar vá em

 

Plugins>Converter>Conversion Painel

 

rZT3rba.png

 

 

Na linha 19243 você irá começar a adicionar os NULLS

 

b1J29ac.png

 

Nessa situação, iremos adicionar 26 caracteres

 

1XWEskY.png

 

Após adicionar os caracteres, salve o arquivo e ele vai entrar tranquilamente no seu servidor xD

espero ter ajudado.

Caso queira utilizar o client que usei nesse tutorial baixe através do link abaixo. (com os dados originais do tibia)

Client Tibia 11.49.5884

 

Muito obrigado por responder!

Eu já fiz todos os passos acima, o meu website tem o login.php.

O client está conectando com o servidor, consigo acessar a conta, mas não consigo acessar o char! O que será que está acontecendo?

Link para o post
Compartilhar em outros sites
  • 1 month later...
Em 09/02/2018 em 13:07, joaotmed disse:

Muito obrigado por responder!

Eu já fiz todos os passos acima, o meu website tem o login.php.

O client está conectando com o servidor, consigo acessar a conta, mas não consigo acessar o char! O que será que está acontecendo?

 

mesmo problema

Link para o post
Compartilhar em outros sites
  • 2 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo