Ir para conteúdo
Entre para seguir isso  
Raphael Carnaúba

[7.92] Auto IP Changer

Recommended Posts

Raphael Carnaúba    1
Raphael Carnaúba

Fiz esse code a 2 dias atrás, mais não quiz liberar...depois de meus amigos pedirem descidi liberar pra OTNET

 

(SVN)

Vá em otserv.cpp e procure por :

 


if(argc > 1)

 ip = argv[1];

else

 ip = g_config.getString(ConfigManager::IP);

 

 

Substitua por:

 



   if( g_config.getString(ConfigManager::IP) == "auto" )

   {

       if( gethostname( szHostName , 128) == 0 )

       {

            struct hostent* he = gethostbyname( szHostName );

          

            if( he != NULL )

            {

                ip = inet_ntoa( * ( reinterpret_cast< in_addr* >( he->h_addr )));

            }

       }

   }   

   

   else{

if(argc > 1)

 ip = argv[1];

else

 ip = g_config.getString(ConfigManager::IP);

   }

 

Se você usa Forgotten Server ou Evolutions:

 

Procure por:

 

 


 ip = g_config.getString(ConfigManager::IP);

 

Substitua por:

 


   if( g_config.getString(ConfigManager::IP) == "auto" )

   {

       if( gethostname( szHostName , 128) == 0 )

       {

            struct hostent* he = gethostbyname( szHostName );

          

            if( he != NULL )

            {

                ip = inet_ntoa( * ( reinterpret_cast< in_addr* >( he->h_addr )));

            }

       }

   }   

   

   else{

 ip = g_config.getString(ConfigManager::IP);

   }   

 

 

 

Auto IP Terminado

 

 

Agora se você quer algo diferente como por exemplo você colocar

no seu ip no config.lua seuserver.servegame.com

 

Use esse codigo:

 

(SVN)

Procure por:

 

	

   if(argc > 1)

 ip = argv[1];

else

 ip = g_config.getString(ConfigManager::IP);

 

E substitua por :

 


 

 struct hostent* he = gethostbyname(g_config.getString(ConfigManager::IP));

 if( he != NULL )

 {

     ip = inet_ntoa( * ( reinterpret_cast< in_addr* >( he->h_addr )));

 }

 else{

     std::cout << "Could not resolve host address " << ip << std::endl;

     std::cout << "IP now is 127.0.0.1" << std::endl;

     ip = "127.0.0.1";

 }

 

 

 

Se você usa Evolutions ou Forgotten Server:

 

Troque:


   	ip = g_config.getString(ConfigManager::IP);

   	

por:

 

  

 struct hostent* he = gethostbyname(g_config.getString(ConfigManager::IP));

 if( he != NULL )

 {

     ip = inet_ntoa( * ( reinterpret_cast< in_addr* >( he->h_addr )));

 }

 else{

     std::cout << "Could not resolve host address " << ip << std::endl;

     std::cout << "IP now is 127.0.0.1" << std::endl;

     ip = "127.0.0.1";

 }

 

Creditos:

 

Rappa Carnaúba

Compartilhar este post


Link para o post
Guiminhah    0
Guiminhah

Boaaaa Rappa! OT$ nele x]]]

 

Outros servers já tinham, mais o seu code é o mais desenvolvido, prático, e "useful" x] Vlws ai

Compartilhar este post


Link para o post
Dr0p    0
Dr0p

caramba, muito bom! :)

Compartilhar este post


Link para o post
Zero    0
Zero

Muito legal Carnaúba. ^^

 

Abraços!

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Obrigado ae zero! :)

Compartilhar este post


Link para o post
punkndisaster    0
punkndisaster

Muito bom code cara.

 

Como sempre você mandando muuuuito, mas muuuuito bem cara.

Compartilhar este post


Link para o post
evolutions    0
evolutions

oque que essi code faiz?

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Bom, deixe me explicar....

 

na 1 versão:

 

Se você poe no seu config.lua

 

ip = "auto"

 

Ele pega seu ip dinamico da rede automaticamente....

 

Na 2 versão

 

você coloca no config.lua

 

 

ip = "otserv.com.br"

 

Ele estabeleçe uma conexão com o otserv.com.br e pega o IP dinamico ou seja de host. então seu IP que ia ficar no config.lua no otserv agora é o ip dinamico do otserv.com.br

 

 

Espero que você tenha entendido...

 

Atenciosamente,

 

Raphael.

Compartilhar este post


Link para o post
Giko    0
Giko

@All

 

Galera, evitem fazer comentários curtos em sem conteúdo... como por exemplo "Muito bom".

 

Isso ajuda a controlar o flood e deixa o tópico mais limpo.

 

Abraços.

Compartilhar este post


Link para o post
Dorak manado    0
Dorak manado

zero muito obrigado me ajudou mto

estava precisando mesmo

vlws

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

@Up

 

Zero? o.O não foi o zero que fez fui eu haha edita o post ae.

Compartilhar este post


Link para o post
Lithium o original    0
Lithium o original

@up

eu tenho uma duvida tipo todo código de auto IP que eu já vi tem um bug que aparece a lista dos char da account mais quando vai entrar da concection refused você corrigiu isto nesse code?

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

cara, ja testei o code ta funcionando direitinho...naum tem esse bug não eu garanto, mais se houver me diga que eu corrigo :)

 

Abraços.

Compartilhar este post


Link para o post
igoos    0
igoos

esse codigo é pra muda auto maticamente o ip do config lua né??

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Não não...ele muda no OTServ!

 

Se você está usando a 1 versão você poe ip = "auto"

 

Ele quando abrir a conexão com o OTServ seu IP lá no OTServ vai ser seu IP dinamico da rede que vamos dizer é 222.222.118.19

 

 

Na 2 opção você poe seu IP Fixo como igoos.no-ip.info

Ele vai se conectar ao seu IP e pegar o seu ip dinamico que é 222.222.118.19 entendeu?

 

 

Abraços!

Compartilhar este post


Link para o post
igoos    0
igoos

mas eu não tenho q ficar alterando o ip do config.lua pro ot pega?? então esse codigo faz isso né??

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Isso! invês de você ficar toda hora o ip do otserv ele faz isso pra você.

 

Pratico e simples não? :)

 

Falow! :D

Compartilhar este post


Link para o post
igoos    0
igoos

realmente muito legal, mas em q arquivo e pasta eu tenho q coloca isso seja mais específico por favor

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Bom, primeiramente você deve saber compilar um servidor.....

 

Você pode ler o tutorial de como compilar no site oficial de otserv (inglês)

 

http://www.otserv.org

 

Lá você encontra o tutorial explicando como compilar.

 

Abraços.

Compartilhar este post


Link para o post
igoos    0
igoos

mas vc não poderia me fala q eu naum sei le inglÊs

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×