Ir para conteúdo
  • Cadastre-se

MMOCore Assíncrono


KhayrusS

Posts recomendados


Muito bom KhayrusS, você é um colírio para os olhos. 

Como contribuição vou upar um programa que gerou muita dor de cabeça um tempo atrás, para você analisar se há uma forma de fixar o problema juntamente nessa mudança, pois pelo que lembro a correção era feita no mmocore.

Gostaria de ajudar mais se possível, mas acredito que não é do meu nível de conhecimento tal façanha.

Link para o comentário
Compartilhar em outros sites

 

Como contribuição vou upar um programa que gerou muita dor de cabeça um tempo atrás, para você analisar se há uma forma de fixar o problema juntamente nessa mudança, pois pelo que lembro a correção era feita no mmocore.

Opa, com certeza analisarei. O próximo passo é utilizá-lo no Gameserver para ver como se comporta, corrigir as falhas que venham acontecer. Depois verificar questões de segurança.

 

Gostaria de ajudar mais se possível, mas acredito que não é do meu nível de conhecimento tal façanha.

Acredito que cada um pode contribuir independente de nível de conhecimento, afinal o conhecimento está por aí pra ser adquirido, quanto maior o desafio mais conhecimento é gerado. Toda ajuda é bem vinda ?

Link para o comentário
Compartilhar em outros sites

Bom dia campeão!

Também não tenho um conhecimento tão sólido, mas estarei acompanhando o tópico e caso aja algo em que eu possa ajudar, estou a disposição;

Link para o comentário
Compartilhar em outros sites

Jamais imaginei que alguém iria mexer nisso, e muito menos dessa forma, incrível.

Tomara que você consiga alcançar os devidos resultados, o foda e o mais triste, que jaja estará sendo implantado em futuros projetos e vai ter gente anunciando (Vendo projeto com MMOCore atualizado 10x mais desempenho) é triste.

Boa sorte com o projeto, estou acompanhando, apesar de não ter conhecimento para contribuir 

Um mundo de diversão no Lineage 2

https://www.primeworld.com.br

Discord: Em breve

Comunidade brasileira de Lineage. Interlude Remastered / High Five / Essence 

Classes remasterizadas, sistemas únicos, diversão garantida.

Link para o comentário
Compartilhar em outros sites

 

Jamais imaginei que alguém iria mexer nisso, e muito menos dessa forma, incrível.

Tomara que você consiga alcançar os devidos resultados, o foda e o mais triste, que jaja estará sendo implantado em futuros projetos e vai ter gente anunciando (Vendo projeto com MMOCore atualizado 10x mais desempenho) é triste.

Boa sorte com o projeto, estou acompanhando, apesar de não ter conhecimento para contribuir 

É realmente triste ver esse tipo de prática com open source. Eu poderia simplesmente implementar e vender, mas eu faço isso pelo prazer, pelo desafio. Então tento não pensar muito nisso.

 

 

Bom dia campeão!

Também não tenho um conhecimento tão sólido, mas estarei acompanhando o tópico e caso aja algo em que eu possa ajudar, estou a disposição;

O desenvolvimento ainda está no início, tem muitas coisas que planejo fazer, algumas a curto prazo e outras a longo prazo. Com certeza uma mãozinha a mais é sempre bem-vinda. 

O projeto está disponível no

O conteúdo está oculto, favor efetuar login ou se cadastrar!
. Assim como um
O conteúdo está oculto, favor efetuar login ou se cadastrar!
. Apesar de ter realizado um teste de "sanidade" e não ter encontrado nenhum problema grave. Acredito que ainda existem bugs, mas não tenho tanto tempo para testar. Como eu sou usuário Linux, o teste foi realizado apenas em um Servidor Interlude baseado em L2jServer, pois o cliente interlude pode ser executado em Linux sem muitas dificuldades. Seria interessante utilizar em servidores mais atuais, então se alguém estiver disposto a tentar utilizá-lo,  pode contar com a minha ajuda.

Os próximos passos que pretendo fazer:

  • Escrever uma documentação, inicialmente simples, descrevendo como utilizá-lo;
  • Criar uma wiki com as principais dificuldades e suas prováveis resoluções;
  • Documentar e melhorar o código.

Quando tiver um tempo irei atualizar o post principal e o wiki do projeto no github.

 

[ ]'s

Link para o comentário
Compartilhar em outros sites

 

 

Não pensa nisso mesmo, tem gente que faz? Tem! Mas o lineage 2 também não é tão nosso para apontarmos o dedo para isso.

Com esse pensamento de não compartilhar por que vão vender, se todos pensassem assim ninguém nunca teria feito nada. Uma coisa é você fazer para si, para utilizar, etc, entendível a questão de não compartilhar. Mas fazer pensando em não postar por que vão vender é meio sei lá, eu não pensaria assim, nem penso. Tenho algumas tralhas feitas, e provavelmente que quando não for utilizar postarei tudo.

Link para o comentário
Compartilhar em outros sites

 

Não pensa nisso mesmo, tem gente que faz? Tem! Mas o lineage 2 também não é tão nosso para apontarmos o dedo para isso.

Com esse pensamento de não compartilhar por que vão vender, se todos pensassem assim ninguém nunca teria feito nada. Uma coisa é você fazer para si, para utilizar, etc, entendível a questão de não compartilhar. Mas fazer pensando em não postar por que vão vender é meio sei lá, eu não pensaria assim, nem penso. Tenho algumas tralhas feitas, e provavelmente que quando não for utilizar postarei tudo.

Infelizmente tu sabe que é assim que funciona, caras como @KhayrusS criam, mas quem ganha com isso não são os desenvolvedores.

Porque sempre tem uns "zé ruela" que vem aqui o fórum pegam as coisas e vão pro facebook vender, quando não mandam mp querendo vender aqui no fórum mesmo.

# FATO

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

 

Falta só colocar online para saber as possíveis falhas? Ou existe outra maneira de se obter isso?

Eu já fiz alguns testes básicos, mas ainda é necessário ver como é comportamento com vários players logados. Ainda existe a probabilidade de haver falhas que seriam evidenciadas ao colocar online, embora eu não planeje colocar um servidor para teste por agora, nem aconselho que usem em servidores reais por enquanto. Como não tenho tanto tempo pra fazer um teste real em um servidor online nesse momento, ficarei esperando algum aventureiro tentar usá-lo e reportar os bugs que surgirem.

Alguém que tenha conhecimento sólido em Java já é capaz de utilizá-lo, em teoria em poucos passos:

  1. Compilar o mmocore disponível no
    O conteúdo está oculto, favor efetuar login ou se cadastrar!
    ;
  2. Colocá-lo no classpath do projeto que pretende utilizar;
  3. Realizar as mudanças necessárias para utilizar as novas classes. 

 

Há algumas mudanças necessárias nas chamadas de método dos Packets, que provavelmente tendem a ser mais demoradas devido a quantidade de Classes existentes. Com relação a mudança do mmocore em si, basicamente o que precisa ser feito é substituir essa parte do código*:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

por essa:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Contudo, há mudanças de hierarquia em L2GamePacketHandler e no Ipv4Filter. Essas alterações entre outros detalhes postarei depois quando estiver com um pouco mais de tempo.

Essas e as outras mudanças necessárias podem ser encontradas

O conteúdo está oculto, favor efetuar login ou se cadastrar!
.

* Essa mudança está utilizando como base L2jserver.

 

 

[ ]'s

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

São essas coisas que fazem você um dos melhores membros do fórum. Desde 2008 até hoje!

Parabéns, brother. Que maravilha de tópico. Com toda certeza irei estudar um pouco sobre o assunto.

Você sabia que a L2JBrasil tem uma empresa de Hosting Oficial?
Conheça a L2JCenter.com

L2JBRASIL - 15 anos vendendo SS e flechas em Giran! (Trade / Adena)

Link para o comentário
Compartilhar em outros sites

 

São essas coisas que fazem você um dos melhores membros do fórum. Desde 2008 até hoje!

Parabéns, brother. Que maravilha de tópico. Com toda certeza irei estudar um pouco sobre o assunto.

Obrigado, brother ?

 

Adicionei uma descrição básica de como usar

O conteúdo está oculto, favor efetuar login ou se cadastrar!
E a primeira
O conteúdo está oculto, favor efetuar login ou se cadastrar!
.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
 

Sensacional, parabéns cara! Espero que dê tudo certo...

 

 

Mano parabéns, incrível como você teve uma sacada dessa, será sucesso!

Obrigado, mano!

 

Lançada a 

O conteúdo está oculto, favor efetuar login ou se cadastrar!
.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
 

Lançada a

O conteúdo está oculto, favor efetuar login ou se cadastrar!
.

disponível no maven:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Foi testada com quantos jogadores online?

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

 

Foi testada com quantos jogadores online?

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

O conteúdo está oculto, favor efetuar login ou se cadastrar!
. 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.

Link para o comentário
Compartilhar em outros sites

  • Marlon pinned this Tópico
  • L2JBr ADM
Em 25/09/2018 at 15:57, KhayrusS disse:

 

O conteúdo está oculto, favor efetuar login ou se cadastrar!
O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

 

 

Eu não sei se você sabe interpretar essas informações do jmeter, mas vou tentar sintetizar aqui pra você:

 

No primeiro caso usando o Selector, você tem uma variação  quase na mesma proporção no Throughput de 1000 (998 falha de 2 que não foi computado) para 2000(falha de 1 que não foi computado) players (50%)  porém a variação de 2000 para 4000 é quase a mesma, ali está o ponto que dá lag, o Throughput deveria crescer de forma proporcional ao Throughput, então pode-se concluir que o limite nessa sua configuração é por volta de 2000 players (se o pacote fosse estável e constante, mas sabemos que é variado então pode variar pra mais ou menos). É natural que assim que você aumentar a quantidade de usuários você tenha aumento de Throughput, pois significa que vc tem mais usuários e precisa enviar mais requisições.

No caso com o MMOCore Assíncrono é um pouco diferente temos um Throughput crescendo junto com o número de usuários atingindo o limite de proporção 8:1 com 8 mil usuários, provavelmente por alguma limitação de hardware ou rede (que só se sanaria com uma escala horizontal dos recursos de hardware). O que representa um ganho muito bom!  Olhando por alto,  além de um tempo de resposta menor  por ser assíncrono é normal já que a conexão é terminada antes do processamento, o  Desvio Padrão bem estável também até 8000 mil usuários, quebrando somente em algum lugar entre 8000 e 32000 .

Arrisco que o ganho do  MMOCore Assíncrono é cerca de 5x ou 6x maior em comparação ao Selector e tenho certeza que da pra polir mais isso ai. Players que jogarem em servidores com essa tecnologia certamente terão uma experiência muito mais fluída de jogo.

 

 

@KhayrusS Seria interessante linkar esse tópico no readme do projeto , ajudaria o fórum certamente ?

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

@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.

 

18 horas atrás, Grundor disse:

@KhayrusS Seria interessante linkar esse tópico no readme do projeto , ajudaria o fórum certamente ?

Assim que fizer o próximo commit adicionarei ?

Link para o comentário
Compartilhar em outros sites

  • 6 months later...

Nova Versão disponível

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Em 30/08/2019 at 12:08, Shawbruno disse:

tem alguma rev hj free e paga que utiliza o metodo assincrono ?

Existem alguns projetos privados utilizando. O único projeto acessível que eu tenho conhecimento é esse:

 

 

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  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.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • 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.