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


hexid galera pode ser problema de hexid entao vai em register game server coloque o numero correspondente depois vai abri um arquivo em nota hexid.txt ai voce tira o txt copia e cola no gameserver pronto servidor online ^^ Creditos

L2JBRASIL Aqui seus sonhos se torna realidade ^^

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

GALERA EU ESTOU COM UM PROBLEMA SINPLES . EU JA CRIEI EM SERVER E TALS DEIXEI ONLINE VIA HAMACHI LOGOU 50 PESSOAS E FECHEI O SERVIDOR POR Q MEU PC KEIMOU . DEPOIS EU FUI CRIAR DENOVO EU ESTALEI TUDO CERTO COMO EU FIZ ANTIGAMENTE . NA HORA DE ABRIR O NAVICAT A OPÇAO TRIAL ESTA INATIVA , ESTA PEDINDO PARA SE REGISTRAR ALGUEM PODE ME AJUDAR ? GRATO DESDE JA

Link para o comentário
Compartilhar em outros sites

Ok fiz tudo q pede no tutorial e no video mas ainda nao conssigo achar a pasta system, pra onde ela vai ou tenho q pegar de outro server. depois de fazer o beckup so aparece as pastas gameserver e loguinserver o q faço min ajudem plis

Link para o comentário
Compartilhar em outros sites

fiz tudo certinho, so q quando abro o game server aparecer um erro em java

 

 

 

INFO 11 net.sf.l2j.gameserver.LoginServerThread Deconnected from Login, Trying to reconnect:

INFO 11 net.sf.l2j.gameserver.LoginServerThread java.net.ConnectException: Connection refused: connect

Link para o comentário
Compartilhar em outros sites

CRIANDO O SERVIDOR.

Nescessario:

Todos os arquivos e programas necessarios estão para download no meu 4Shared.

 

logo.gif

 

Download Softwares necessarios.

 

Java JDK

MySQL 5.0 ou MySQL 6.0

Navicat 8.0 Trial

NO-IP ou DDNS

FileEdit ou Editor ini

 

Podera escolher um servidor na zona de servidores.

 

Clique aqui!

 

 

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

1ª instale o JavaJDK.

2ª instale o MySQL 5.0 Server.

 

Instalando - MySQL 5.0 Server.

-Rode o arquivo executável (DUH).

-Aperte no botão Next para criar um novo exemplo.

 

-Selecione Detailed Configuration.

clipimage001gg3.jpg

 

-Server Machine

clipimage001sn7.jpg

 

-Next , Next

-Escolha a primeira opção para 20 jogadores.

clipimage001fk1.jpg

 

- NEXT , NEXT , NEXT

-Security Options ... Não marque nada !

clipimage001jv4.jpg

-EXECUTE

clipimage001vm1.jpg

->Agora voce tem configurado seu MySQL server com Login : root, sem senha e porta 3306.

 

3ª Instale o NAVICAT !

4ª No NAVICAT clique em connection e coloque em Host name/IP address "localhost" , port "3306" , Username "root" e deixe em branco password e clique em OK.

clipimage001ud7.jpg

-Ira aparecer um novo campo de conexão chamado "localhost". Certo iremos clicar com botão direito do mause e selecionar > New Database e dar o nome de l2jdb para sua nova database e clique em OK.

clipimage001bw1.jpg

 

 

5ª Pre-Configurado REV.

 

5.1. Extraia todos os arquivos p. uma pasta de sua escolha. C:\Server

 

image1oy4.jpg

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.

image2wj5.jpg

 

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

 

5.4. Edite os IPs colocando os seus respectivos.

 

image3st9.jpg

 

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

image4at4.jpg

 

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.

-Agora precisaremos rodar o "startloginserver.bat" (pasta login) e "startgameserver.bat" (pasta gameserver). Lembre seu servidor esta em modo de autocriação de conta, você precisarar ativa o arquivo "startaccountmanager.bat" desta vez.

 

serversva8hd9.jpg

Pronto o servidor esta rodando!!!

Se vc usar Roteador tera q abrir as portas 7777 (game server), e 2106 (login server).

 

 

 

Caro Kelvin.

Fiz tudo o que foi indicado, mas morro neste problema:

Imagem

(clica na foto para olhar)

 

O que pode estar acontecendo ?

Aguardo resposta.

Editado por Tyratoo®

-----

Assinatura_Divulga%2525C3%2525A7%2525C3%2525A3o_600x150.jpg

Link para o comentário
Compartilhar em outros sites

Dica: clique dentro destEu tbm estou cum o erro do LOGIN quando executo o LOGI SERVE CONSOLE

 

Ele dá SERVIDOR TERMINOU COM ALGUMA ANORMALIDADE!

 

Se alguem pude-se me ajudar a colocar os IP's certos nos Lugares certos,

o Problema ke vou usar o serve aki na lan house,

Já criei tudo certin NO-IP tudin soh falta eu colocar no lugar certo os IP's

 

a caixa para carregar o editor

Link para o comentário
Compartilhar em outros sites

Eu sigo o tutorial ate a parte que não aparece a opção "New Database"

Ela fica de um jeito que não da pra selecionar =/

 

imagemfl3.png

 

Kelvin gostei do tutorial, mas a coisa mas facil do mundo eh fazer um serve, ja fiz tantos, do gracia, do interlude, do epilogue, mas nunca conseguir por online, por que tenho uma internet low e naum tenho dinheiro e no free nem pegah e uma :aaaa: :excl: :lala: :blink: :ph34r:

Link para o comentário
Compartilhar em outros sites

Kelvin gostei do tutorial, mas a coisa mas facil do mundo eh fazer um serve, ja fiz tantos, do gracia, do interlude, do epilogue, mas nunca conseguir por online, por que tenho uma internet low e naum tenho dinheiro e no free nem pegah e uma :aaaa: :excl: :lala: :blink: :ph34r:

 

Amigo, a opção NewDatabase so pode ser selecionada se o ponto de coneção "localhost" estiver ativo .

 

Para ativar o ponto de coneção localhost basta selecionar Open connection

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

Vou esperar o Kelvin criar um [Vídeo-Tutorial]

 

Esse tutorial por imagem complica um pouco pra quem ta mexendo pela primeira vez...

afs pior q é memo to fasendo pela primera ves + ate q ajuda um poco + nao da pra finalizar ele tem ke fase uma video aula tudo do comesso mesmo q demore pra burro

Link para o comentário
Compartilhar em outros sites

É a primeira vez que eu to criando um servidor de l2...

cara to me complicando todinho...como que eu boto um servidor ON ?

segui todo o passo do tutorial...mais até agora nao consegui nada,

só baixando arquivos e nao consigo configurar e botar ON =/

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Kelvin Vc Poderia me Responder Pq eu Nao Consigo abrir a parte q Loga o Char?

começa tudo certinho,Dai aparece pra escolher o server,Dai Não Passa + Poderia me responder oq eu posso fazer ?

VLw espero sua resposta !

Link para o comentário
Compartilhar em outros sites

da uma olhada ai Então Por Favor !

 

http://img838.imageshack.us/i/shot00000zq.png/

 

Dessa Parte Ai q eu não consigo passar !!

será q alguem pode me ajudar ? :wacko:

Editado por IxIWariingIxI
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.