Jump to content

KhayrusS

AmigosL2JBR
  • Content Count

    3,662
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by KhayrusS

  1. Aqui você deve configurar o seu ip ou hostname externo.
  2. Não sei se tem algum tutorial, mas pelo que lembro é algum problema com o Themida. Tenta procurar uma system Gracia Part 2 "Unpacked Themida"
  3. Você precisa configurar o internal hostname com o ip interno do seu PC. Como não deu mais informações, fica difícil te direcionar como fazer.
  4. KhayrusS

    ERRO LS E GS

    Usa outra versão do MySQL. A versão 6.0 foi descontinuada.
  5. Esse comportamento, geralmente, acontece quando o protocolo de comunicação entre o cliente e o servidor não está correto. Os pacotes enviados cliente <-> servidor têm uma estrutura bem definida. Caso o cliente esteja esperando uma quantidade de bytes e o servidor envia uma diferente, pode acontecer esse comportamento, assim como também os bytes serem enviados em outra ordem. O provável que esteja acontecendo é que sua system não é compatível com seu servidor. Se estiver utilizando uma system do Gracia Part 2, provavelmente é Bug no servidor. Pelo comportamento seria na classe "UserInfo.java" (pode variar dependendo de qual distribuição você usa)
  6. Alguma aplicação está utilizando a mesma porta do Loginserver (9014). Você pode utilizar outra porta no loginserver ou fechar essa aplicação.
  7. Há alguns dias venho analisando o código da Mobius. Embora ainda não seja de certeza, estou atualizando aos poucos com base do gameserver com a versão 7 signs
  8. Basicamente: os arquivos da system que terminam com o código de linguagem, por exemplo se a system for em inglês, esses arquivos terminam com -en ou -eu (caso seja europeu) o arquivo localization os arquivos da pasta L2Text Provavelmente algumas texturas
  9. KhayrusS

    Java e mysql

    Não sei te dizer com certeza, mas mesmo que consiga instalar, a probabilidade de ocorrer erros é grande, já que não é suportado oficialmente. Também não sei te informar, acredito que o suporte deles pode te auxiliar melhor com esse caso. Eu trocaria o sistema operacional, visto que o suporte dele acabou em 2010.
  10. @Grundor Obrigado pelas observações 😊. Ainda tenho algumas modificações pra fazer no tópico, mas meu tempo anda curto pra fazer algo elaborado que acrescente um pouco de valor. Assim que fizer o próximo commit adicionarei 😉
  11. KhayrusS

    Java e mysql

    De acordo com a oracle a versão mais antiga suportada pelo Java 8 é o Windows Server 2008 R2. Olhei o openJdk e aparentemente também é suportada a mesma versão
  12. Basicamente é isso que precisa fazer: --- L2J_SunriseProject_Core/java/l2r/gameserver/model/actor/instance/L2PcInstance.java (date 1551288054000) +++ L2J_SunriseProject_Core/java/l2r/gameserver/model/actor/instance/L2PcInstance.java (date 1551288054000) @@ -5771,6 +5771,7 @@ { if ((getSiegeState() > 0) && (targetPlayer.getSiegeState() > 0) && (getSiegeState() != targetPlayer.getSiegeState())) { + increasePvpKills(target); final L2Clan killerClan = getClan(); final L2Clan targetClan = targetPlayer.getClan(); if ((killerClan != null) && (targetClan != null)) Porém desse modo, apenas os participantes de lados opostos da siege ganham PvP . Caso seja qualquer player, participante ou não, é necessário modificar o código pra ao invés de verificar o 'siegeState', verificar se está na zona de siege
  13. KhayrusS

    Portas

    Sim, as portas precisam ser abertas para acesso externo
  14. KhayrusS

    Portas

    Apenas as portas do loginserver e gameserver já é suficiente para os players logarem.
  15. Probably ur code is a bit different. So u need to figure out based on what was said here how ur code works. For instance, on the Rev 1132 there is a class TimeStamp inside of the class L2PCInstance, but on 1073 looks like don't have it. Thats why this error: cannot find symbol
  16. 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: 166 GITHUB System Requisitos Java 12 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 12 (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
  17. Quando as skills vão ser salvas há uma condição que se aplica quando o efeito ainda está em uso: O problema é que nessa condição o timestamp da skill é procurado utilizando o método getReuseHashCode: Mas o método addTimeStamp está utilizando o método getId para salvar a informação: Acredito que modificando-o para utilizar o getReuseHashCode esse problema não irá mais acontecer private void addTimeStamp(final TimeStamp T) { ReuseTimeStamps.put(T.getSkill().getReuseHashCode(), T); }
  18. Isso é um pouco estranho mesmo. Posta o código do método addTimestamp
  19. Se tiver falando do L2jServer, provavelmente olhou algo antigo https://bitbucket.org/l2jserver/l2j_server/commits/all
  20. Para uma versão mais atual recomendaria a L2jServer
  21. Levando em consideração o seu objetivo, sua escolha deveria ser baseada em 3 coisas principalmente Qual problema de pesquisa; Objetivo Geral; Objetivo Específico. Com isso em mente seria mais fácil você escolher um projeto que mais se adeque a sua necessidade. Aí também tem a escolha de que versão você quer trabalhar, se é uma mais antiga ou mais atual. Lembrando que o melhor projeto, no sentido de mais estável, não é necessariamente o melhor para ser abordado no seu trabalho.
  22. Quando você deu os restarts o efeito da skill ainda estava ativo ?
  23. Você precisa entender como funciona os itemhandlers O que precisa fazer é basicamente alterar HeroCustomItem.java Adiciona o id do novo item aqui, preferivelmente por configuração private static final int ITEM_IDS[] = { Config.HERO_CUSTOM_ITEM_ID; }; Por exemplo: private static final int ITEM_IDS[] = { Config.HERO_CUSTOM_ITEM_ID, Config.HERO_CUSTOM_ITEM_ID2; }; Criar uma condição baseada no item usado para mudar a quantidade de dias updateDatabase(activeChar, Config.HERO_CUSTOM_DAY * 24L * 60L * 60L * 1000L); Por exemplo: if(item.getItemId() == Config.HERO_CUSTOM_ITEM_ID) { updateDatabase(activeChar, Config.HERO_CUSTOM_DAY * 24L * 60L * 60L * 1000L); } else { updateDatabase(activeChar, Config.HERO_CUSTOM_DAY2 * 24L * 60L * 60L * 1000L); }
  24. Congratz @Elfocrash. I'd like to know if you are using any converter java -> Kt or doing it manually.
×
×
  • Create New...