Ir para conteúdo
  • Cadastre-se

[Tutorial] Colocar server de lineage on com sistema DDNS


Grundor
Message added by Grundor

Serviço DDNS foi descontinuado. Utilizem o NO-ip ou outros similares.

Caso haja algum retorno desse sistema irei reabrir o tópico.

Posts recomendados

  • L2JBr ADM

Funciona muito bem em computadores que recebe a internet de um roteador direto (banda larga a cabo).ainda não testado com outros tipos de rede.

 

TIVE MUITOS PROBLEMAS COM NO-IP O SISTEMA DELES ESTAVA MUITO INSTAVÉL...EU USAVA ESSE PROGRAMINHA PRA FAZER ACESSO REMOTO E RESOLVI TESTAR COM O LINE...E DEU CERTO PRA MIM...

 

Tutorial e ferramentas necessárias:

 

Tutorial Criando Server de Lineage By Kelvin

DDNS

L2 Fileedite(ct1 e interlude)

 

Introdução

 

Aqui usaremos o DDNS porque:

"Conexões do tipo ADSL, Cable Modem, Velox, Speedy e outras formas de banda larga, apesar de muito velozes, têm o inconveniente de fornecer um endereçamento com IP Dinâmico. Ou seja, a cada conexão, o computador terá um IP diferente da conexão anterior.

 

Isto inviabiliza a utilização de servidores web, sistemas de webmail, VPN, controles externos e outros serviços que necessitam saber o endereço IP da conexão.

 

Como solução para este problema, a Winco desenvolveu o serviço de DDNS, que significa: Servidor DNS Dinâmico. Uma vez instalado, o DDNS verifica e informa o endereço IP da conexão.

 

Asseguramos que o DDNS é o melhor serviço existente em comparação aos concorrentes, devido a sua capacidade funcional, além de sua simplicidade." (http://www.winco.com.br/ddns/index.phtml -2008)

 

Ele é uma forma simples de tornar seu "ip" Dinâmico ou seja fixo(ou pelo menos reconhecido em qualquer lugar do mundo)

 

 

Como instalar e configurar o DDNS ?

 

É muito simples configurar o DDNS utilizando o Assistente de Configuração DDNS. Basta inserir os dados solicitados e o processo de configuração será concluído rapidamente.

 

O Assistente de Configuração DDNS é executado automaticamente após ter sido baixado e executado o arquivo de instalação do DDNS.

 

Na primeira tela você deve informar o que deseja fazer, conforme a imagem abaixo.

 

ddns1.gif

 

Selecione a opção de configuração de acordo com a ação que deseja efetuar:

 

- "Criar o meu Domínio no Servidor DDNS", se você deseja registrar um domínio no DDNS.

 

- "Já registrei o domínio e tenho a Senha. Gostaria de registrar este computador.", caso você tenha interrompido o processo de validação da senha.

 

- "Perdi a minha senha, gostaria de recebê-la novamente.", caso você deseje recuperar a sua senha.

 

Após selecionar a opção desejada, clique em "Avançar". Na próxima tela insira os dados solicitados (nome, e-mail e domínio a ser registrado) e, novamente, clique em "Avançar".

Em seguida, o sistema enviará para o e-mail cadastrado uma senha para a ativação do DDNS.

 

Na tela seguinte, insira a senha enviada pelo sistema para a conclusão da configuração.

 

Automaticamente o Agente DDNS será iniciado e as informações referentes ao domínio registrado serão transmitidas ao servidor da Winco.

Agora que você já tem um domínio dinâmico:

 

Configurando o servidor(CT1 L2JEMU_BD):

em: C:\Server\l2emu-gameserver\dist\config\network no arquivo network e configure dessa forma..

 

# -----------------

# Connection Config

# -----------------

# Bind ip of the gameserver, use 0.0.0.0 to bind on all available IPs

GameserverHostname = 0.0.0.0

GameserverPort = 7777

 

# This is transmitted to the clients connecting from an external network,

# so it has to be a public IP or resolvable hostname

ExternalHostname = seudominiodinamicoaqui.ddns.com.br

 

# This is transmitted to the client from the same network,

# so it has to be a local IP or resolvable hostname

InternalHostname = seudominiodinamicoaqui.ddns.com.br

 

# --------------

# Port Forwading

# --------------

# The Loginserver host and port

LoginPort = 9014

LoginHost = 127.0.0.1

 

-E no arquivo TELNETNo caso vc queria usar esse método mais avançado de conexão depois:

 

# Hosts must be resolvable to an IP.

# define here the IPs allowed to connect to your server via Telnet.

# The format is as follows:

# ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3

# NOTE: Make sure there are no spaces between hosts/ips !

ListOfHosts = 127.0.0.1,localhost,seudominiodinamicoaqui.ddns.com.br

 

-E DEPOIS EM C:\Server Kamael\l2emu-loginserver\dist\config\network no arquivo NETWORK

 

# ==========

# Connection

# ==========

 

# Bind ip of the loginserver, use 0.0.0.0 to bind on all available IPs

LoginServerHostName = 0.0.0.0

LoginServerPort = 2106

 

# The port, ip on which login will listen for GameServers

LoginPort = 9014

LoginHostName = 127.0.0.1

 

-TAMBÉM NO ARQUIVO TELNET dessa mesma pasta

# =====

# Hosts

# =====

# This list can contain IPs or Hosts of clients you wish to allow.

# Hosts must be resolvable to an IP.

# The format is as follows:

# ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3

# Make sure there are no spaces between hosts/ips

ListOfHosts = 127.0.0.1,localhost,seudominiodinamicoaqui.ddns.com.br

 

Configurando o servidor(INTERLUDE L2JBD):

 

-em: C:\Server\gameserver\config no arquivo Server

 

# Bind ip of the gameserver, use 0.0.0.0 to bind on all available IPs

GameserverHostname=0.0.0.0

GameserverPort=7777

 

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname

ExternalHostname=seudominiodinamicoaqui.ddns.com.br

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname

InternalHostname=seudominiodinamicoaqui.ddns.com.br

# Define internal networks (10.0.0.0/8,192.168.0.0/16 is default internal networks)

InternalNetworks=189.1.61.181(ip interno da rede vc sabe o que é né fih?192.168.0.0)

# Define optional networks and router IPs

# IP (200.100.200.100) or fully qualified domain name

# (google.com) that resolves to an IP (use ping to determine if a domain resolves).

# Format: ip,net/mask;ip,net/mask,net/mask

# (mask 192.168.0.0/16 or 192.168.0.0/255.255.0.0 would be 192.168.*.*)

# Note: keep InternalNetworks and OptionalNetworks blank for compatibility with older login server

OptionalNetworks=seudominiodinamicoaqui.ddns.com.br

 

# The Loginserver host and port

LoginPort=9014

LoginHost=127.0.0.1/color]

 

-EM: C:\Server\login\config Arquivo Loginserver

 

# Bind ip of the loginserver, use 0.0.0.0 to bind on all available IPs

LoginServerHostname=0.0.0.0

LoginServerPort=2106

GMMinLevel=100

 

# The port, ip on which login will listen for GameServers

LoginHostname=127.0.0.1

LoginPort=9014

 

# If set to true any GameServer can register on your login's free slots

AcceptNewGameServer = False

 

# If false, the licence (after the login) will not be shown

ShowLicence = True

 

-E tabém em: telnet

 

# This list can contain IPs or Hosts of clients you wish to allow.

# Hosts must be resolvable to an IP.

# The format is as follows:

# ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3

# Make sure there are no spaces between hosts/ips

ListOfHosts = seudominiodinamicoaqui.ddns.com.br,localhost

 

Configurando o arquivo L2.ini(Interlude e CT1):

 

-Execute o Programa Fileedite > Clique em Open and descrypt

 

-Escolha o Diretório do sua pasta system e proucure o arquivo L2.ini

 

-No lado direito irá aparecer os campos a serem preenchidos Modifique o a linha ServerAddr

 

Assim:

 

ServerAddr=seudominiodinamicoaqui.ddns.com.br

 

Finalizando:

Execute o loginserver e o gameserver

 

LoginServer:

ATgAAADQ1H9ZN9BsTg2GL29OwGK1gu6hVrn6f-szuOSU-OE4l1vV46GVzDrvRXIPHJxDj8jf6gAS2x0HywYEmGAqhC3lAJtU9VBWLRgnzuUvMq5fl04U6VwLxL_eAA.jpg

 

GameServer:

 

ATYAAABkgWsWhDd6T3L3jeR0AxgtJOEgucwFCng3FwVRpqvb_UsOZ-CRez6fMsLcSNlgHewV07g4v3TsBkg0PWs8G-ejAJtU9VAi4_HnOWQC-WN-tUy0oxAV9HUx5A.jpg

 

>>>>>>>>>>>>ATENÇÃO<<<<<<<<<<<<<<<<

 

Quais são as limitações e impedimentos para o uso do DDNS?

- Limitações do DDNS

 

Existem alguns sistemas de conexão que limitam e outros que impedem o uso do DDNS.

 

Os que impedem totalmente o uso são os que utilizam Proxy ou NAT para acesso dos servidores a internet. Isto porque o IP que o Servidor recebe do provedor é Invalido.

 

 

Alguns Provedores que IMPEDEM o uso:

 

- STAR ONE ( Uol Sat, EasyBand, etc)

- Internet Predial

- Conexões com Firewall Linux

 

Os provedores que Limitam a conexão de DDNS são aqueles que bloqueiam determinadas portas. Eles não bloqueam o DDNS, mas limitam servir paginas, E-mails, FTP, etc, porque não permitem conexões entrantes nas portas padrões do sistema.

 

Isto significa que pode ter o DDNS, mas não poderá, por exemplo servir HTTP na pagina 80 ou servir E-mails na 110 e 25. Nada impede servir pagina na porta 81, ou e-mails na 26 e 111, só que não são portas padrão.

 

O Cliente DDNS (DNS Dinâmico) é uma nova opção do Winconnection que permite que sua empresa tenha um domínio próprio na internet, mesmo tendo conexão discada ou conexão com IP Dinâmico.

 

Quando ativado, o Cliente DDNS se loga no servidor da Winco e atribui o IP de conexão internet ao dominio cadastrado.

 

O formato do Domínio é: nome_cadastrado.winconnection.net

 

Com este serviço é possível servir paginas na internet no próprio domínio, receber E-mails, Servir E-mails, e tudo que pode usado em IP, porem usando Nome.

 

 

Isto significa que pode ter o DDNS, mas não poderá, por exemplo servir HTTP na pagina 80 ou servir E-mails na 110 e 25. Nada impede servir pagina na porta 81, ou e-mails na 26 e 111, só que não são portas padrão.

 

Alguns provedores que Limitam o uso do DDNS

 

-Speedy HOME - Portas especificas

-Cambras NET - Qualquer porta abaixo de 1024

 

 

Créditos:

 

Copyright © Winco Tecnologia e Sistemas, todos os direitos reservados.

Suporte Técnico: São Paulo: (11) 3538.3538 | Rio de Janeiro: (21) 2169.6284 | Porto Alegre: (51) 2108.2660

Matriz: Rio de Janeiro: (21) 3208.3777

 

Darkat e Kelvin pelos tutoriais.

EU xD

Chuck Norris(O verdadeiro)-ELE TERIA FEITO MELHOR DO QUE EU

Outros tutoriais interessantes:

Como fazer para ter uma página na Internet usando o DDNS.

Como ter e-mails próprios usando DDNS ?

Como utilizar o WebMail com o DDNS ?

 

 

TOMARA QUE DÊ CERTO PARA VOCÊS

DEU CERTO PRA MIM.

E PARA UM AMIGO EM L2VAMPIRE

 

Proibida a reprodução mesmo que em partes desse tutorial sem a publicação dos devidos créditos de criação

Garantido pela Constituição da República Federativa do Brasil, de 05 de outubro de 1988

Portaria MCT n° 88, de 23/04/98

Propriedade Intelectual

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

aew valew otimo tutorial esse

coloquei meu server sem problerma pra funciona

agradesido a vcs aqui.... pela dica...

 

 

 

obs: meu modem e o da timweb quem quiser fazer o teste tenta ai q e muito bom esse tutorial aqui :lol:

Cleber

Link para o comentário
Compartilhar em outros sites

Olá a todos em primeiro gostaria de dar os parabéns a todos pela iniciativa de ter um forum com um suporte e dedicação de seus idealizadores.

 

Ae Grundor Certinho!?

 

Então....

 

Básicamente descobri o por que não conseguia deixar meu server on line com DDNS..... e não sei se conseguirei ¬¬

 

Pequenos problemas xD

 

1° Computador em rede ( 3 PCS ) utilizando um router para conectar a internet ( Siemems Speedstream 4200 )

Quanto a isso nada de mais, redirecionei as portas : 2106 , 7777 , 2009 , 53 , 80 TCP /UDP segundo o site: http://www.portforward.com/english/applica...age_IIindex.htm

2° MALDITA OPERADORA DE TELEFONIA MERCENARIA DE MER&@ BRT-PR

Bloqueia saida de dados na porta 80

3° Devido as minhas dificuldades com a porta acima tentei varias configs(NO GAME, LOGIN SERVER E TELNET) para deichar o server on mas nada deu certo...

 

Então vem as duvidas..... Existiria outra maneira de usar UM DNS DINAMICO ou PROGRAMA que conseguisse redirecionar o fluxo da porta 80 para outra porta?

Ou, Fazer com que o l2 server ou um outro programa de DNS opere em outras portas ?

 

GOSTARIA MUITO DE USAR O DDNS

 

Obs!!! Utilizando o ( no-ip ) consegui fazer abrir o login eo game server. Obtendo mensagens de sucesso no GAMESERVER e no login server.

INFO : Loaded 127 server names

INFO : LoginManager initiating

INFO : Cached 10 KeyPairs for RSA communication

INFO : Stored 20 keys for Blowfish communication

INFO : GameServerManager: Loaded 1

INFO : Cached 10 RSA keys for Game Server communication.

INFO : BanManager: Loaded 3 banned ip/subnet(s).

INFO : Listening for GameServers on l2anubis.servegame.com:9014

INFO : Telnet server is currently disabled.

Selector Started

INFO : Login Server ready on 0.0.0.0:2106

INFO : Updated Gameserver [1] Bartz IP's:

INFO : l2anubis.servegame.com (192.168.254.1)

INFO : l2anubis.servegame.com (192.168.254.1)

INFO : l2anubis.servegame.com (192.168.254.1)

 

POREM... como pode ver acima ele reconhece o IP de rede

VEJA MINHAS CONFIGS

 

SERVER.PROPERTIES

# Bind ip of the gameserver, use 0.0.0.0 to bind on all available IPs

GameserverHostname=0.0.0.0

GameserverPort=7777

 

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname

ExternalHostname=l2anubis.servegame.com

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname

InternalHostname=l2anubis.servegame.com

# Define internal networks (10.0.0.0/8,192.168.0.0/16 is default internal networks)

InternalNetworks=192.168.254.254

# Define optional networks and router IPs

# IP (200.100.200.100) or fully qualified domain name

# (google.com) that resolves to an IP (use ping to determine if a domain resolves).

# Format: ip,net/mask;ip,net/mask,net/mask

# (mask 192.168.0.0/16 or 192.168.0.0/255.255.0.0 would be 192.168.*.*)

# Note: keep InternalNetworks and OptionalNetworks blank for compatibility with older login server

OptionalNetworks=l2anubis.servegame.com

 

# The Loginserver host and port

LoginPort=9014

LoginHost=l2anubis.servegame.com

 

 

LOGINSERVER.PROTERTIES

# ================================================================

 

# Bind ip of the loginserver, use 0.0.0.0 to bind on all available IPs

LoginServerHostname=0.0.0.0

LoginServerPort=2106

GMMinLevel=100

 

# The port, ip on which login will listen for GameServers

LoginHostname=l2anubis.servegame.com

LoginPort=9014

 

 

CREIO Q ESTEJAM CORRETAS, mas vcs q sabem e tem mais EXP no assunto poderiam dar uma avaliada melhor ^^

 

Obrigado a Todos e Um Feliz 2009!!!!

 

 

OUTRA COISA FIZ TESTE DE MINHAS PORTAS DE CONEXÃO EM http://www.canyouseeme.org/ na porta 53 DNS

 

RESULTADO

Error: I could not see your service on 201.89.208.65 on port (53)

Reason: Connection refused

POREM NEM UMA PORTA RETORNA CONFIRMAÇÃO POSITIVA.........

MEU GRANDE PROBLEMA ERA MINHA NET!!!!

OBS! NET DOMESTICA + ROUTER.. Só o HAMACHI SALVA!! shaushaushaushaushasuha

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Aeee Grundor, valeu cara!

 

Aqui funcionava perfeitamente em rede mas não estava conseguindo jogar o servidor na Net... agora já está funfando e a galera se divertindo...

 

Apenas tive que colocar o link do DDNS na porta de escuta do ClientServer com o GameServer, e mudar isso tambem no GameServer.. após isso, funcionou belezinhaaaaaaa aqui...

 

 

Valeu cara!

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Cara é muito difícil pra quem tem rede em casa ou net via a rádio já tem 1 ano e ninguém consegue.

Eu comecei a fazer faculdade de análise de sistemas e comecei a ver que era meio impossivel o pessoal usar... pq é tanta barreira que dá até dó.

 

se sua rede tem NAT(que transforma ip de rede interna para ip real) vc vai conseguir se não só lamento..

 

vc tem que liberar as portas citadas.

 

se conseguir blz se não desiste pq é perda de tempo.

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

Grundor Fis Exatamente como você pos no Tutorial, Mas ainda assim nao conseguir por o server ON.

 

 

 

129112357.jpg

 

 

 

 

 

Meu Modem eh D-Link DSl-500B COmpativel ADSL Internet VElOX TElemar, eu tbm abilitei todas as portas com o tuto to Kelvin,

Mas qndo eu testo de minha porta esta funcionando corretamente nesse site http://www.canyouseeme.org/ Diz que unica porta de FUnfo correto eh a 7777

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Pelo que mostra ai nas telas de console o servidor tá on..

 

deve ser erro no seu l2.ini

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Voce terá que liberar as outras ports..

 

(agora que eu vi que vc falou que só a 7777 tá liberada.)

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

o meu sever eh Gracia ptII tbm com esse tutorial ele ficou on com o ddns sem hamashi nem nada mas tem um porem eu não consegui mais logar nele e nem um amigo meu

 

vou testar no interlude tbm pra ver acredito q vai dar certoo tutorial eh muito bom e ajudou muito acredito q em breve eu vou achar o problema q "não está no L2.ini" acho q fica la nakela parte entre a cadeira e o teclado!

 

vlw grundor muito obrigado mais uma vez vc ajudou muito!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
mano pliz fiz exatamente como esta o tuto mas nao to consseguindo logar olha aew como

q ta meu login server e o game server:

 

http://img403.imageshack.us/my.php?image=imagemdj3.jpg

 

 

o que eu fiz de errado???

 

Fiz no meu, apareceu do msm jeito q suas imagens, soh q conectou trankilo, sem nenhum problema, fui na lan do meu amigo e liguei o line por lah com esse eskema ddns...soh assim consegui

 

 

testa pra ver se conectou ai com vc......

Link para o comentário
Compartilhar em outros sites

Fiz no meu, apareceu do msm jeito q suas imagens, soh q conectou trankilo, sem nenhum problema, fui na lan do meu amigo e liguei o line por lah com esse eskema ddns...soh assim consegui

 

 

testa pra ver se conectou ai com vc......

 

 

mano e complicado mesmo por que meu moudem e foda e nao da pra abrir as portas necessarias por isso nao deu.. aew preferi baxar o hamachi e por on pelo hamachi mesmo bem melhor para quem nao consseguiu pelo ddns coloquei on pelo hamachi em 2 minutinhos funfo legals flws abracos.....

 

 

ps:hamachi + no ip

PROIBIDA VENDA NO FORUM

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 4 weeks later...

Eh galera, pra qm enfrenta um caminho cheio de guardas, ñ dá msm pra conectar serviço em qlquer porta. Pq em td esse caminho vc terá q ter livre acesso se ñ, sem resposta positiva do serviço. Acho q assim da pra mostrar bem entrando no Prompt d comando (pressione Alt + R, digite "cmd" e aperte ENTER) e digitando "tracert" e um host qlquer como "www.orkut.com" ficando assim "tracert www.orkut.com" vc vai poder ver a viajem q vc faz até chegar no orkut. Ainda ñ usei HAMACHI no L2, mas nunca consegui jogar CS nem NFS em rede c ele ^^, mas ele parece ser a única solução pra qm vive rodeado de regras. Flw e espero q tenha ficado d fácil compreensão! E REDE k é algo gostoso d mexer só q mexer c um padrão muito modificado demora pra pegar as manhas, se o problema eh só dentro da sua área tipo c o SEU MODEM ou o SEU ROTEADOR e tal vc consegue e aprende coisa pra kramba, vc é livre só q se prende ^^!

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Claro que nao é impossivel rotiar as portas...

 

 

o tracert mostra os rotiadores que ele vai ter no caminho...

 

mas pra quem usa aqueles modens de adsl vão ficar na mão pq é quase impossivel um leigo rotia-las ^^

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.






  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.