Ir para conteúdo
  • Cadastre-se

KhayrusS

AmigosL2JBR
  • Total de itens

    3.478
  • Registro em

  • Última visita

  • Prêmios recebidos

    8

Tudo que KhayrusS postou

  1. KhayrusS

    Coloquei No-IP e não passa da tela de loguin

    Posta as configurações
  2. Mas não tem erro nessa imagem.
  3. KhayrusS

    MMOCore (2.0) Assíncrono

    Versão atualizada no post inicial. []'s
  4. KhayrusS

    MMOCore (2.0) Assíncrono

    Projeto no github Há um tempo estive me perguntando o porquê do mmocore, um dos principais componentes dos servidores L2J, não estar sendo evoluído. O máximo de melhoria que vi, pelos diversos projetos que tive acesso ao código, foi o uso de mais de um SelectorThread. Depois de um tempo de pesquisa, procurando por alguma modificação significante no mmocore, cheguei a conclusão que essa falta de melhorias só podia ter 3 explicações: A alteração no mmocore é custosa e devido ao tempo de maturidade seria um grande risco; Utilizar outra abordagem não iria apresentar um melhor desempenho, talvez até piorasse. Então quem tentou, provavelmente desistiu; Quem evoluiu o mmocore simplesmente não quis compartilhar. Na minha percepção era improvável que uma tecnologia com mais de 15 anos, ainda continue sendo a melhor opção para esse cenário. Visto que a biblioteca NIO, atualmente utilizada pelo mmocore, foi lançada com o Java 1.4 e uma atualização dessa mesma biblioteca chamada de NIO2 foi lançada com o Java 7, então há uma chance de melhorar o mmocore utilizando a API introduzida pelo Java 7. Uns dias atrás, fiquei um pouco ocioso e resolvi tirar a prova eu mesmo. Resolvi desenvolver um novo mmocore, tentando manter o máximo possível de compatibilidade com o atual, utilizando sockets assíncronos que em teoria iria melhorar o tempo de resposta cliente - servidor, o que acarretaria na diminuição de lag. Mas nem tudo é perfeito, há um preço a se pagar por essa melhoria: utilização de mais recursos (Memória e CPU). Inicialmente estimei que haveria um aumento de 25 a 40 KB no consumo de memória para cada player logado, o que daria 4 MB a cada 100 player, se você fizer a façanha de colocar 10000 players no servidor, esse número subiria para 400 MB, o que não é lá muita coisa, levando em consideração os recursos disponíveis atualmente. Após o desenvolvimento de uma versão utilizável, fiz alguns testes de carga utilizando o jmeter, que são apresentados nas tabelas abaixo: O teste realizado foi bem simples, projetado apenas para saber o tempo de resposta de cada solução. Para não sofrer interferência por causa da latência de rede foi realizado em uma única máquina, o que não é recomendado por causa do compartilhamento de recursos, principalmente CPU, entre o jmeter e o servidor. Mas acredito que para uma versão inicial já é o bastante. O teste consiste em uma variedade de players (conexões) enviarem um pacote de 8 Kb, que é maior que a maioria dos pacotes utilizados pelo cliente do Lineage 2, e esperar uma resposta de também 8 Kb. Assim foi calculado o tempo de conexão mais o Round Trip do envio de pacotes. Segue uma breve explicação sobre os dados que estão nas tabelas: Players - Quantidade de conexões concorrentes fazendo requisições (enviado pacote) para o servidor. Média - O tempo médio de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. Min - O tempo mínimo de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. Max - O tempo máximo de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. D. Padrão - medida de dispersão em torno da média, no geral quanto menor quer dizer que os tempos estão mais próximos uns dos outros. Throughput - Quantidade de requisições por segundo. Erro - Porcentagem de requisições que retornaram com erro. MMOCore utilizando Selector: _________________________________________________________________ |Players | Média | Min | Max | D. Padrão | Throughput |Erro | |----------------------------------------------------------------| |998 | 60ms | 43ms | 101ms | 8.68 | 487.3/s |0.0 | |1999 | 62ms | 44ms | 115ms | 9.01 | 769.73/s |0.0 | |3993 | 100ms | 42ms | 1261ms | 190.44 | 733.60/s |0.0 | |7988 | 411ms | 43ms | 7285ms | 889.66 | 807.27/s |0.0 | |31976 | 804ms | 6ms | 8792ms | 1628.33 | 769.96/s |11,3%| ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ MMOCore Assíncrono (2.0) _________________________________________________________________ |Players | Média | Min | Max | D. Padrão | Throughput |Erro | |-----------------------------------------------------------------| |1000 |1ms |0ms |45ms |4.94 |539.08 |0.0 | |2000 |1ms |0ms |55ms |4.34 |764.81 |0.0 | |4000 |2ms |0ms |64ms |4.62 |804.50 |0.0 | |8000 |1ms |0ms |152ms |6.13 |1106.19 |0.0 | |32000 |726ms |0ms |45,159s |2060.37 |696.06 |11,7% | ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ No geral, utilizando sockets assíncronos apresentou um melhor desempenho, como pode ser visto. Os arquivos com o resultado dos testes estão disponíveis no github Como o mmocore ainda está em fase inicial de desenvolvimento, ainda não vai ser liberado. Planejo postar o source assim que estiver utilizando de fato, por enquanto só foi implementado um loginserver utilizando-o. [ ]'s
  5. KhayrusS

    Nova compilação

    Vai em Window -> Show View e procura por Package Explorer
  6. KhayrusS

    Nova compilação

    Sim. Mas se você não deletou os arquivos, eles ainda estão no seu PC.
  7. KhayrusS

    Alguem me ajuda com esse erro da Acis

    Essa versão do MySQL foi descontinuada, tenta usando 5.5 ou 5.7
  8. KhayrusS

    [HTML de NPC] Abrir shop sem que a outra janela feche

    Tenta remover o "-h" do action.
  9. KhayrusS

    Alguem me ajuda com esse erro da Acis

    Qual a versão do MySQL está usando ?
  10. KhayrusS

    Problema em abrir as portas do roteador

    Verifica se estão liberadas no firewall do Windows. Além disso, alguns provedores de internet bloqueiam as portas, então nesse caso seria necessário entrar em contato com o seu provedor também.
  11. KhayrusS

    GETBUFF PHANTOM PLAYERS

    Talvez esteja faltando esse método https://github.com/Elfocrash/L2jRoboto/blob/9ebda43140ceafe7339c2f446fcf054789a5a308/src/com/elfocrash/roboto/ai/FakePlayerAI.java#L58
  12. KhayrusS

    {Acis} {L2Waves} - Nova Quest

    Na sua pergunta, já tem uma parte da resposta que você precisa. Entenda como funciona as quests do Baium ou Valakas e segue na mesma linha.
  13. KhayrusS

    Da pra fazer o mob tirar cp?

    Sim, é possível. Na parte do código que ele reduz o HP tem uma condição que se o atacante for um player, summon, pet, etc ele reduz a cp. Caso for qualquer mob que vá tirar CP é só remover a condição, caso seja um mob específico adiciona esse mob na condição.
  14. KhayrusS

    Eclipse

    Provavelmente o projeto não está configurado como um "projeto Java". clica com o direito no projeto e ver se tem uma opção de converter o projeto pra java. Se não houver, vai nas propriedades do projeto -> procura por facets -> e coloca Java Facet.
  15. KhayrusS

    Nao consigo coloca pra dropar um item em todos os mobs

    Acredito que o nome da pasta correto é faenor
  16. KhayrusS

    ERRO ACIS GAME SERVER SQL

    Infelimente, não posso te ajudar desse jeito, não tenho tempo pra analisar seu código no momento.
  17. KhayrusS

    Nao consigo coloca pra dropar um item em todos os mobs

    Sem informações sobre qual cliente, qual versão, qual projeto etc... Fica difícil te ajudar.
  18. KhayrusS

    MMOCore (2.0) Assíncrono

    Não foi realizado testes relacionados a quantidade de jogadores online. Esse tipo de teste sairia do escopo do projeto, além de ser um teste difícil de realizar, difícil de mensurar e altamente custoso. Os testes são realizados utilizando Jmeter. O último teste que realizei, há um tempo, foram considerados 5000 usuários concorrentes enviando 10000 pacotes, os pacotes foram entregues em menos de 1s. Infelizmente tive um problema com a infraestrutura que utilizei pro teste, e acabei perdendo os dados. No momento, estou um pouco sem tempo pra provisionar tudo outra vez e realizar um novo teste com a última versão, mas assim que der realizarei.
  19. KhayrusS

    MMOCore (2.0) Assíncrono

    Lançada a Release estável. disponível no maven: <dependency> <groupId>io.github.joealisson</groupId> <artifactId>async-mmocore</artifactId> <version>2.1.0</version> </dependency>
  20. KhayrusS

    ERRO AO ADICIONAR ITENS

    Você está tentando executar um insert em uma tabela que não existe. É necessário criar a tabela antes.
  21. KhayrusS

    ERRO AO INICIAR GAMESERVE

    Refaz o passo a passo da parte do Mysql, você deve ter esquecido algumas coisas. No erro aparece que tem tabelas faltando.
  22. KhayrusS

    ERRO AO INICIAR GAMESERVE

  23. KhayrusS

    ERRO AO INICIAR GAMESERVE

    Normalmente o arquivo de configuração é o server.properties. confirme se os dados relacionados à conexão com o Mysql estão corretos.
  24. KhayrusS

    ERRO ACIS GAME SERVER SQL

    O Mysql está recusando conexão porque já chegou ao limite, por padrão ele aceita até 151 conexões simultâneas. Você pode aumentar esse valor nas configurações do mysql, mas tenho a desconfiança que isso não vai resolver o teu problema, só vai demorar um pouco mais pra acontecer. O mais provável é que esse problema está acontecendo por algum defeito no código, em alguma parte do código as conexões com o Mysql não está sendo devidamente fechadas causando resource leaks. Até o ponto de ter tantas conexões que o Mysql começa rejeitar as novas. Pra resolver você precisa encontrar esses trechos de códigos em que as conexões não estão sendo fechadas, e fechá-las apropriadamente.
  25. KhayrusS

    ERRO AO INICIAR GAMESERVE

    Verifica se configurou corretamente o usuário e senha do MySQL nos arquivos de configuração
×