Jump to content
KhayrusS

Como compilar o projeto L2JORG

Recommended Posts

Como muitas pessoas estavam me procurando com dificuldades para compilar o projeto L2jORG, resolvi separar um tempo para fazer um vídeo mostrando passo a passo desde o clone ou download do github até a execução.

 

O processo de compilação abordado no vídeo tem os seguintes requisitos:

Java 14 (Link)

MySQL 8 (Link)

Git (Link)

 

Para melhor utilização é necessário configurar todos os requisitos na variáveis de ambiente, para que estejam disponível no terminal/cmd.

Nesse tutorial, a instalação e configuração desses componentes não serão abordadas visto que há vários tutoriais com esse conteúdo aqui no fórum.
 

O vídeo foi dividido em duas partes. 

  • No primeira, é mostrado todo o processo utilizando o IntelliJ IDEA;
  • Na outra, é mostrado o processo de download e compilação sem uso de IDE.

 

 

Observações

No vídeo é usado Linux, mas todo o processo é semelhante no Windows, algumas diferenças:

Banco de Dados

O banco é criado utilizando linha de comando, mas pode utilizar qualquer ferramenta de gerenciamento de banco de dados como MySql Workbench, Navicat e afins.

A criação de tabelas é feita através de um script, existe um script para o linux (install.sh) e outro para o windows (install.bat). Quando o Mysql é instalado no Linux o comando mysql fica disponível automaticamente no ambiente, facilitando a execução de scripts. Já no Windows, é necessário configurar path do mysql nas variáveis de ambiente, assim como normalmente é feito com o Java.

Alternativamente, pode ser incluído, no inicio do arquivo install.bat, o path para o Mysql. Adicione o seguinte comando, alterando o caminho para a instalação do MySql no seu computador:

PATH="C:\Program Files\Mysql8.0\bin"

 

Java/Gradle

Caso opte por fazer o build sem IDE, é obrigatoriamente necessário configurar nas variáveis de ambiente o path para a pasta bin do Java e definir a variável de ambiente JAVA_HOME, apontando para a pasta do Java. 

Alternativamente para executar o authserver.bat e o gameserver.bat pode ser incluído  no inicio dos arquivos o path para o Java, exemplo:

PATH="C:\Program Files\Java\jdk14\bin"

 

 

  • I love it 1

Share this post


Link to post
Share on other sites

Proteja seu servidor de ataques DDoS massivos!

VPS EPIC
24 minutos atrás, KhayrusS disse:

Como muitas pessoas estavam me procurando com dificuldades para compilar o projeto L2jORG, resolvi separar um tempo para fazer um vídeo mostrando passo a passo desde o clone ou download do github até a execução.

 

O processo de compilação abordado no vídeo tem os seguintes requisitos:

Java 14 (Link)

MySQL 8 (Link)

Git (Link)

 

Para melhor utilização é necessário configurar todos os requisitos na variáveis de ambiente, para que estejam disponível no terminal/cmd.

Nesse tutorial, a instalação e configuração desses componentes não serão abordadas visto que há vários tutoriais com esse conteúdo aqui no fórum.
 

O vídeo foi dividido em duas partes. 

  • No primeira, é mostrado todo o processo utilizando o IntelliJ IDEA;
  • Na outra, é mostrado o processo de download e compilação sem uso de IDE.

 

 

Observações

No vídeo é usado Linux, mas todo o processo é semelhante no Windows, algumas diferenças:

Banco de Dados

O banco é criado utilizando linha de comando, mas pode utilizar qualquer ferramenta de gerenciamento de banco de dados como MySql Workbench, Navicat e afins.

A criação de tabelas é feita através de um script, existe um script para o linux (install.sh) e outro para o windows (install.bat). Quando o Mysql é instalado no Linux o comando mysql fica disponível automaticamente no ambiente, facilitando a execução de scripts. Já no Windows, é necessário configurar path do mysql nas variáveis de ambiente, assim como normalmente é feito com o Java.

Alternativamente, pode ser incluído, no inicio do arquivo install.bat, o path para o Mysql. Adicione o seguinte comando, alterando o caminho para a instalação do MySql no seu computador:

PATH="C:\Program Files\Mysql8.0\bin"

 

Java/Gradle

Caso opte por fazer o build sem IDE, é obrigatoriamente necessário configurar nas variáveis de ambiente o path para a pasta bin do Java e definir a variável de ambiente JAVA_HOME, apontando para a pasta do Java. 

Alternativamente para executar o authserver.bat e o gameserver.bat pode ser incluído  no inicio dos arquivos o path para o Java, exemplo:

PATH="C:\Program Files\Java\jdk14\bin"

 

 

mano, dar uma força pra usar o eclips 2019, não acho o SVN

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...



  • Recently Browsing

    No registered users viewing this page.

  • Similar Content

    • By KhayrusS
      A um tempo atrás, Kelvin falou comigo sobre a possibilidade de termos um projeto classic, visto a escassez desse tipo de servidor,   com mais visibilidade para a comunidade.
      A ideia é termos um projeto Classic utilizável e estável, e o melhor de tudo: open source!
       
      Sobre o projeto:
      No inicio, eu tinha o projeto era apenas para testes de implementações pessoais, basicamente para me manter atualizado com o Java devido a política de atualização semestral adotada.  O projeto está ativo há mais ou menos um ano, com atualizações diárias. Existem 3 colaboradores direto no projeto, e mais alguns indiretos.
      Hoje estamos dando suporte ao protocolo 272, a versão atual do servidores NA.
      Requisitos:
      Java 14 MySql 8 Client protocolo 272 Caracteristícas
      Projeto open source sob licença GPL 3; Disponível em https://github.com/JoeAlisson/L2jOrg Atualizações diárias, porém depende. Tem dia que são muitas, tem dias que são poucas, às vezes nem tem;😛 Pretendo manter o ciclo de atualização da branch master a cada 3 semanas com uma versão um pouco mais estável; Para os mais apressados por atualização, as atualizações diárias ocorrem na branch development (Lembrando que essa branch é de desenvolvimento ativo, então em uma ou outra atualização pode ocorrer algum erro no build ou para iniciar o servidor)  
      A participação da comunidade é essencial para o desenvolvimento de qualquer projeto open source. Eu sei que muitas pessoas, ainda hoje, têm uma visão um pouco deturbada de projetos open source, então vou listar alguns projetos como referência de que um projeto open source pode ser tão bom ou melhor que um projeto privado:
      Java https://github.com/openjdk; MySql https://github.com/mysql; Hirakicp https://github.com/brettwooldridge/HikariCP; EhCache https://github.com/ehcache/ehcache3; Log4J https://github.com/apache/logging-log4j2; e por último mas não menos importante: async-mmocore https://github.com/JoeAlisson/async-mmocore 😛 Claro que existem muitos outros relevantes, mas me restringir a listar projetos que são usados como dependência do L2j ORG.
       
      Não é necessário ser expert em Java ou conhecer tudo de L2j para ajudar no projeto, você pode contribuir com o que puder. Para os interessados no projeto que querem ter uma participação mais ativa, estamos em busca de alguns talentos.
      A participação no projeto vai ser dividida nas categorias:

      Desenvolvedor de Core: É necessário ter conhecimento em programação para implementar e corrigir códigos.
      Desenvolvedor de Datapack: É necessário ter conhecimento em L2J no geral, HTML e XML para trabalhar com shops, npcs, quests.
      Contribuidor: Membro que contribua com os testes do projeto, reporte de bugs, suporte aos usuários e contribuições em geral para o projeto.
      É só entrar em contato comigo por MP e fornecer algumas informações básicas:
      Nome Real:
      Interesse e experiência na área: (Core, Datapack ou Contribuidor)
      Quanto tempo possui para se dedicar ao projeto?
      Possui algum trabalho disponível que possa enviar como referência ? (se tiver mande junto por  MP.) 
       
      Para quem já tiver interesse imediato eu criei um tutorial básico de como compilar o projeto:
       
      Sobre o cliente
      É necessário utilizar o cliente oficial do servidor americano. Para utilizar localmente sem modificação do cliente baixe o launch e coloque dentro da system:
      https://github.com/JoeAlisson/L2jOrg/wiki/files/launchL2.zip
      O post ficou mais extenso do que queria, então qualquer dúvida que tiverem é só perguntar.
      []'s
       
    • By AikoN~
      Salve. 
      Um colega nosso da L2JDream @ThypS compartilhou recentemente um arquivo Env.int desenvolvido por algum Russo da vida, que deixa a aura Hero do Interlude (que é bem estouradona) igual a do atual Classic. 
      Na minha opinião muito mais linda, leve e "super show de bola" kk
      Não sei se só com o print da para tirar uma conclusão, por favor baixem ela, joguem dentro da system e testem por vocês mesmo e me digam o que acham??? :D 

       
       
      DOWNLOAD
      Senha:
      byAikoN
       
      Créditos:
       
       
      Glow Hero Classic by AikoN.rar
    • By KhayrusS
      Veja o novo tópico do projeto:
       
       
      Código base
      Há um tempo venho utilizando uma source para estudo, com o objetivo de utilizar o mmocore assíncrono. Como não vejo projetos Classic open source por aí, resolvi compartilhar.  O código base utilizado é o  L2jMobius.
      Protocolo utilizado: 228
      GITHUB
      Requisitos
      Java 13 Mysql 8 As últimas versões compiladas podem ser encontradas em Releases
      Atualmente estou em um estágio de melhoria geral do código, otimizações de recursos e atualização de tecnologia.
      Basicamente o que está sendo feito:
      Atualização para Java 13 (Será atualizado assim que novas releases forem saindo); Atualização do mmocore; Utilização de sistema de módulos (JPMS - Disponível a partir do Java 9); Atualização de dependências; Melhoria na camada de acesso a Dados (Tanto no Database como nos arquivos) Um exemplo de melhoria na camada de acesso a dados:
      Antes
      private void globalRemoveItems(){ int itemToDeleteCount = 0; StringBuilder itemsToDelete = new StringBuilder(); Connection con = null; PreparedStatement statement = null; ResultSet rset = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT item_id FROM items_to_delete"); rset = statement.executeQuery(); while(rset.next()) { if(itemsToDelete.length() > 0) itemsToDelete.append(","); itemsToDelete.append(rset.getInt("item_id")); itemToDeleteCount++; } DbUtils.closeQuietly(statement, rset); statement = con.prepareStatement("DELETE FROM items_to_delete"); statement.execute(); } catch(SQLException e) { _log.error("Error while select items for global remove:", e); } finally { DbUtils.closeQuietly(con, statement); } if(itemsToDelete.length() > 0) { try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("DELETE FROM items WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); DbUtils.closeQuietly(statement); statement = con.prepareStatement("DELETE FROM items_delayed WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); } catch(SQLException e) { _log.error("Error while global remove items:", e); } finally { DbUtils.closeQuietly(con, statement); } } } Depois
      public interface IItemsDAO extends DAO { @Query("WITH ids AS (SELECT item_id FROM items_to_delete) DELETE i, id, ide FROM items i JOIN items_delayed id ON i.item_id = id.item_id JOIN items_to_delete ide ON i.item_id = ide.item_id WHERE i.item_id IN (SELECT item_id FROM ids)") int deleteGlobalItemsToRemove(); }  
      Quanto as correções de bugs, poucos bugs foram corrigidos, apenas os que encontrei enquanto implementava alguns dos pontos citados, pois não tenho tanto tempo disponível para testar e corrigir. Então no primeiro momento estou apenas focando nos pontos citados.
       
      VIP Tier System
       
      Bot Report System
       
      Elemental Attribute System
       
      Ficou interessado e quer ajudar ? 
      Fiquei Entra em contato comigo pra gente conversar, ou pode fazer um fork do projeto e fazer pull request Fiquei, mas não tenho conhecimento em Java Toda a ajuda é bem vinda, tem muita coisa pra ser testada/corrigida Existem muitos status de items, skills, htmls, xmls para serem corrigidos É tentando que se aprende ?  
      []'s
    • By Khanda Club
      A new journey will begins !
      Hello, brave adventurer ! You have already accomplished various feats in Elmoreden in the past. Would you like to try the Interlude version of the game in a modern game client?
      It`s not just an interface, its the updated game client with 100% of Interlude PTS content and it can grow in the future with more content from another chronicle.

      The 1st server of Khanda Club, Khanda 7x Interlude, bring you back to the old days of the truly classic gameplay:
      All classic races, no ertheia or kamaels, no floating continent of Gracia, the Antharas and Valakas Rule immortals and is the Cursed Emperor Baium rest forever in their lust tower of Insolence. The four sepulchers hold many treasures and dangerous threats. The Forgotten Island of primeval lay plenty of Shilen creatures. All this and more is waiting for you to conquer and slay.
      We are not just building a server to open and close, we are starting a new lineage 2 community and we want to make the better for this amazing game, keeping it alive and running as long as we can!

  • Posts

×
×
  • Create New...