Ir para conteúdo
  • Cadastre-se

[Tutorial] Criando Servidor de Lineage 2


Kelvin
Message added by Grundor

Atenção, esse tópico está desatualizado, use https://curso.l2jbrasil.com para um tutorial mais atualizado sobre como criar seu servidor de lineage 2.

Posts recomendados


cara eu fiz tudo certo ... c eu deixar todos os ips 127.0.0.1 (incluindo o serveraddr no l2 ini) eu consigo logar direitinho no ADM e jogo de boa ... ai qd eu ponho no server proprietes (external ip = l2sys.no-ip.info [que é o meu no-ip], e internal deixo 127.0.0.1, e no l2 ini em server addr coloco l2sys.no-ip.info) da errado .. tipo o login server console e o game server console abre certim aparece la "bartz registered..." mais ai qd vo loga nao passa do login =/ oq pode ser?

Link para o comentário
Compartilhar em outros sites

To com 1 Probleminha que não sei Resolver me Ajudem pelo amor de Deus.

 

Quando Ligo o Server... Fica dando isso oia as palavras e Super rapidao custei ler.. Tive que dar Print Screen

 

Admin Restart

 

'java' não é reconhecido como um comando interno

ou externo, um progama óperavel ou um arquivo de lotes.

 

 

ajudem me...

mano c vc usa sistema operacional 64bits q nem eu vai da isso por causa do java do link q é 32bits ,procura no google pra baixa o java jdk 6 64bits eintala q vai funfa ,

Link para o comentário
Compartilhar em outros sites

alguem ai me ajuda por favor...

me add no msn e ou manda um email kelvin ou quem souber resolver o meu problema...

pq eu naum consigo passar da parte de escolher o server....

 

Procure na area de dúvidas amigo, ja foi postado lá uma dúvidas e duvidas sobre isso...

Veja se configurou todos os IP certinho.

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

cara eu tinha um server normal .. rodava direitinho de l2 (interlude) so q ai decidi muda pra epilogue ... baixei a rev tudo mais ... mais n consigo loga ... eu tenho q desisntala tudo de novo .. ? tipo eu deletei a database q tinha as coisa do interlude criei outra e colokei as do epilogue mais n to conseguindo logar =/

Link para o comentário
Compartilhar em outros sites

ola Keivin ou Maguinhoo...

eu estavaolhando os ultimos post e notei que alguem fez algum comentario sobre o java 32 bits e 64bits..sera que o meu problema seria esse tbem???

pqbjabolhei na seção de duvidas mas nao achei nada...o meu pc e sistema operacional de [email protected]..

Link para o comentário
Compartilhar em outros sites

ola Kelvin ou Maguinhoo...

eu estavaolhando os ultimos post e notei que alguem fez algum comentario sobre o java 32 bits e 64bits..sera que o meu problema seria esse tbem???

pq ja olhei na seção de duvidas mas nao achei nada...o meu pc e sistema operacional de [email protected]..

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

Pessoal mais entendido no assunto eu usei esses arquivos para tentar fazer o servidor local:

FileEdit ------> funciona perfeitamente.

MySQL Auto Backp

MySQL Server 6.0 -----> funciona perfeitamente

system

L2jfree By StormMaker -----> queria saber se esse aque serve no freya...

systextures

NO - IP

jre-6u21-windows-i586(java)

Lineage-II-Freya

 

Dúvidas:

eu tenho conhecimento em montar servidores com base em hamachi, sql 2000, usando tbm o CentOs e coisas do tipo, aqui se usa somente o MysQL 6.0 programa simples e tamanho pequeno, o navicat outro programa simples e fácil manuseio.

Ahn pelo que entendi instalo o java,MysQL 6.0, Navicat, No-ip. é isso mesmo só?

 

Sobre a data base eu restauro e da certo, pois é só uma db, mechi no file edit e como eu queria primeiro o servidor pra rodar local não mechi nos ips, toda vez nas duas telas de comando da servidor está anormal aperte uma tecla, só da isso mais acredito eu que como sou novo no L2 eu deva ter reunido os arquivos errados, eu achei estranho que aqui tem mais revs e não como em outros servidor que vc põe o cliente, instala o patch coloca e o ip e pronto rs.

 

acima diz que baixe esses arquivos e escolha o servidor aqui, eu peguei esse freya, agora o que combina com ele q não sei rs ja baixei vários aque é um servidor simples mais tem esses peguinhas vlw obrigado a todos.

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Você instala

 

Java - Emular ambiente

MySQL - Rodar o Banco de Dados

MySQL Gerencia Banco de Dados

No-IP ou DDNS para tornar seu "IP fixo"

 

Se esta pedindo para apertar alguma tecla é provavelmente algum problema na configuração de um arquivo na pasta config do respectivo console, tente utilizar outro emulador já que não tem experiencia para corrigir.

 

tente pegar algo estavel, freya e ainda algo novo, tnte um gracia final ou um Interlude...

Link para o comentário
Compartilhar em outros sites

ola Kelvin eu agradeço pelo seu tuto...consegui fazer tudo certo dessa vez..

consigo logar de boa.So que quando aparece a cidade naum aparece o char e não tem como pegar o target dos mob's.

teria como vc me ajudar a resolver esse problema.a se não for pedir muito queria saber como faço pra colocar itens para aparecer na maleta do char.tipo teleporte e outros????

Link para o comentário
Compartilhar em outros sites

quando eu starto no final aparece isso alguem pode me dar a correçao deste erro

nao passa dai dessa parte

na duvida de nao aparecer a imagem postei oq estava escrito.

 

Listening for GameServers on 127.0.0.1:9014

Telnet server is currently disabled.

Login Server ready on 127.0.0.1:2106

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

GameServer (127.0.0.1): Connection lost: socket closed

---------------------------------------------------------------------------------------------------------------------------

 

 

 

 

Maximum Numbers of Connected Players: 100

Server Loaded in 68 seconds

AutoAnnoucements: Loaded 0 Auto Annoucement Data.

Telnet server is currently disabled.

Damn! Registeration Failed: Reason: wrong hexid

Connecting to login on 127.0.0.1:9014

Damn! Registeration Failed: Reason: wrong hexid

Connecting to login on 127.0.0.1:9014

Damn! Registeration Failed: Reason: wrong hexid

Connecting to login on 127.0.0.1:9014

Link para o comentário
Compartilhar em outros sites

alguem q esteja lendo aqui ajuda por favor!!!

 

vc tem que registra o game server

pra isso rode o arquivo bat RegisterGameServer

depois de preencher a informação ele vai cria um arquivo chamado hexid

coloque esse arquivo dentro da pasta config do gameserver e pronto é só ligar o servidor agora

Editado por dark_

"Não dou suporte por msn" "Não aceito quem eu não conheço"

d4rk1br.png

Link para o comentário
Compartilhar em outros sites

Alguem ai pode me manda a imagen dessa parte do tutorial ?

Aqui só aparece a palavra.

E eu não to achando o caminho pra extrai o backup.

 

 

 

 

5.5. Vc pode mudar as rates do seu server no arquivo rates.proprierties

 

Imagem(Não aparece a imagen)

 

Outra coisa …. SERVIDOR NAO MORDE ! Sinta-se livre para editar os arquivos .proprierties do seu gameserver !!! Apenas lembre de fazer um backup deles antes !

 

****Todos os NPCs vao estar no meiu de GIRAN. Sinta-se a vontade p. pegar o ID deles (segurar o shift e clicar no npc , usando um personagem GM) e dar um spawn onde vc desejar.

Link para o comentário
Compartilhar em outros sites

Bom eu colei a outra ali

Mais quem poder postar as duas imagens pra min

Agradeço.

 

Imagen dessa parte e da outra

5.5

 

 

 

5.2. Abra o NAVICAT e restaure o backup da DATABASE q esta inclusa no pacote. Vc vai achar o backup

(InterludeSvBAK.psc) na msm pasta onde vc extraiu o conteúdo do server.

 

Imagem ( Não aparece a imagen )

 

5.3. Depois de feito va a pasta\Interlude Server\l2j-gameserver\dist\config\ e abra usandu o BLOCO DE NOTAS o arquivo server.proprierties

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.