Ir para conteúdo
  • Cadastre-se

Assembling Ertheia Odyssey Infinite


Posts recomendados

NOTE: This short guide is for a L2J Server. http://l2jserver.com


If you received this file as a part of a packaged or bundled build:


L2J only supports L2J software obtained directly from L2J sources.


What this means is, if you obtained L2J from a source other than our SVN or nightly distribution,

you need to get support from where you got the files.

We are unable to provide any technical assistance for unsupported software packages.

The software may have viruses, cause security problems,

or even send your personal information to remote servers without your express consent.

We cannot recommend the use of any of these packages on a server.


WARNING: L2J Server is not a plug and play type of server.

To setup the server and to run it successfully you need to do a lot of reading.

If reading and learning are not something you like to do,

Stop now.


====================

L2J Server

====================


TOC:

I. OVERVIEW

II. LEGAL

III. REQUIREMENTS

IV. FIRST STARTUP

V. ADMIN/GM's GUIDE

VI. PLAYER's GUIDE

VII. UPDATING

VIII. TROUBLESHOOTING

IX. CONTACT

X. CONTRIBUTING

XI. BUG REPORTING

XII. CREDITS




====================

I. OVERVIEW

====================


L2J is an Alternative Lineage 2 Game Server written in pure Java for

best compatibility. L2J gives you the possibility to legally host a game

server for this popular Korean MMO created by NCSoft. It is still

unfinished and many features are missing, but L2J Dev team is working

hard on implementing them. L2J Server is distributed under the terms

of GNU/GPL in a hope that open source model is the best for

developing quality software giving everyone a possibility to

participate on development by submitting the code.



====================

II. LEGAL

====================


Copyright © 2004-2015 L2J Server


This file is part of L2J Server.


L2J Server is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.


L2J Server is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

General Public License for more details.


You should have received a copy of the GNU General Public License

along with this program. If not, see <http://www.gnu.org/licenses/>.


Full GNU/GPL License is included in L2J_Server_LICENSE.txt file.


Whereas L2J is distributed under the terms of GNU/GPL, we require you to:

a) Preserve login notice. This gives us, L2J Developers, appropriate

credit for our hard work done during our free time without any

revenues.


b) Do not distribute any extended data files with the server files in

the same archive. NO world content should be incorporated in L2J

distribution.

Server and Datapack may not be not be bundled or packaged.


====================

III. REQUIREMENTS

====================


OS:

Any OS having Java JDK 1.8 installed and properly configured!

We recommend using SUN JDK available at java.sun.com


Hardware:

Decent CPU & RAM


Software:

Java JDK 1.8

MySql

Datapack


We recommend:

That you do not play and host the server from the same computer.

Have a good Internet connection - dial up just won't cut it.

Many low cost hosting options are available.


====================

IV. FIRST STARTUP

====================


Before you can start up the server it is extremely important to read

and get to know the wiki sites.

They contain all the info you need to setup and run a L2J Server.


L2J Server wiki: Server Guides, How-to's, bugtracker:



L2J-Datapack wiki: Datapack Guides, How-to's, bugtracker:



This Server distribution does not contain any spawn/drop data or any world

content. (Datapack)


L2J Server has also a possibility to change exp/sp/drop rates relative

to data in spawnlist/droplist files. To do that, just change the rates

you need in server.properties file found in config folder.


You should also configure your IP address in server.properties.


Server uses ports 2106 (LoginServer) and 7777 (GameServer) by

default. If your server runs behind NAT or firewall you will need to

open and/or forward these ports.



====================

V. ADMIN/GM's GUIDE

====================


To make someone an admin you need to edit the l2j database.


For accounts take a look into the 'accounts' table(loginserver database).

Change the value of the 'accessLevel' column to one of the following:

- < 0: banned account

- 0: user account

- > 0: admin/gm account (bypass max player limit)


For characters take a look into the 'characters' table(gameserver database).

Change the value of the 'accessLevel' column to one of the access levels

described in the 'game/config/accessLevels.xml' table.


To adjust the allowed admin commands for an access level take a look into

'game/config/adminCommands.xml'.


More info can be found in the community wiki.


Admin commands implemented:

(Please see https://l2jserver.com/trac/wiki/GmCommands for more complete list.)

//admin = main GM interface

//gmchat = will send a message to all online GMs

//invul = makes your character untouchable


====================

VI. PLAYER's GUIDE

====================


CLIENT COMPATIBILITY

Our server is dependent on the official release of the North American lineage2 live client.


All help and support will only be for the official client.

Any clients obtained elsewhere, must obtain support from where it was obtained.


====================

VI. UPDATING

====================

It may arrive that you want to update your server to new version while

keeping old accounts. There are few steps you HAVE TO do in order to

keep the data accurate.


- You should ALWAYS look at timelines before updating, sometimes a file

format may change, so you will need to edit data manually to fit with

new format.

- You should ALWAYS Backup all MySql data.

- You should ALWAYS Backup all Server and Datapack files.

- back up all .properties files (don't forget to check if new server use same

format for those files)

- download & unzip new server code to the Server directory

- download & unzip new datapack code to the Server directory

- edit and run update in the tools folder

- run newly installed server & enjoy ;)



====================

VIII. TROUBLESHOOTING

====================


PROBLEM

- Client outputs bunch of messages about missing templates.

SOLUTION

- Check that the datapack has been properly installed.


PROBLEM

- Message similar to "java is not recognized as internal command",

"java not found" or "unknown command: java" appears.

SOLUTION

- Install java, or, if java is already installed just add your java

binary directory to system PATH setting. If you don't know how to do

that, than DO NOT bother running your own server please.


PROBLEM

- I can log in but ping is 9999s and I can't get past Server Select.

SOLUTION

- Set up your IP's properly, forward/open good ports if accessing from

outside. (or find server with admin that knows how to do it)


PROBLEM

- Skills/quests/whatever don't work.

SOLUTION

- Patience brings it's fruits :p


PROBLEM

- I found a bug.

SOLUTION

- Please refer to BUG REPORTING section of this read-me.


Further help available at the wiki sites and the forums.



====================

IX. CONTACT

====================




IRC: #l2j @ Freenode (irc.freenode.net)


Please note that L2J Devs can't help players with connecting issues or

anything related to playing on private servers. If you can't connect,

you should contact your server GM's. We can solve only L2J server

~software~ related issues. We don't have any backdoors or anything

that would enable us GM accounts on every server using L2J, so there's

no point in coming to our channel if you need items/adena/whatever

ingame.



====================

X. CONTRIBUTING

====================


Anyone who wants to contribute to the project is encouraged to do so. Java

programming skills are not always required as L2J needs much more than

java code.


If you created any source code that may be helpful please use the User Contributions

section on our forums. If you contributed good stuff that will be

accepted, you might be invited to join L2J Dev Team.


People willing to hang on chat and respond to user questions are also

ALWAYS welcome ;)



====================

XI. BUG REPORTING

====================


Bugs can be reported on our wiki site.


Basic rules for reporting are:

Please report only one bug/issue per ticket!!

You must include the revision (changeset) number when reporting a bug!

"The latest" does not mean anything when 5 more updates have been done since you set up the server.

If you are not sure if it should be reported here, make a post about it in the L2J forum.


Players should ALWAYS consult bugs with their Admin/GM's and have them report it

on our wiki site. Some bugs may be caused by bad datapack, server

installation or modifications server owner has made. We can't help you

in that case.


Please use the datapacks bugtracker for reporting datapack bugs.

Please do NOT report bugs related to unofficial add-ons to L2J. L2J

bugtracker is NOT a place to fix that. Contact the person who made

modification instead.



====================

XII. CREDITS

====================


Dev team:



Have fun playing L2J ;)

Dev Team


L2J Server, Copyright © 2004-2012

L2J Server comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it

under certain conditions.


Obs: Não tenho crédito algum, apenas trouxe para compartilhar com quem quiser testar.



Link para o comentário
Compartilhar em outros sites


kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk na versão Ertheia mano já estou fazendo o meu 100% mas o foda q já saiu o carai do lvl 106 e não tem como update dos codicos java no meu server por quer não tenho a source ai fica difícil para virar odyssey e o jeito todos jogar ertheia ..ou se não comprar uma source completa já com todos intens da l2script sai bem mais barato..

Link para o comentário
Compartilhar em outros sites

Eu estou a procura de um pack bom para um pvp, mas não encontro nada estável, nem para pvp, kkkkkkkkkk

Tenho aion 4.7 estável com tudo funcional, eventos etc. Tudo ok

Mas eu queria mesmo era um l2 ertheia, aion ta quebradão, comprei meu server à toa, kkkkk

Tenho um bom vps e nem sei oque por online!

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.