Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte no desenvolvimento de jogos


    Fazer leitura de dados pelo client

    Animcard
    Animcard
    Novato
    Novato

    Mensagens : 2
    Créditos : 0

    Fazer leitura de dados pelo client Empty Fazer leitura de dados pelo client

    Mensagem por Animcard em Qui Jul 09, 2020 5:43 am

    ola estava com meu game de shord art online e estava com muiito lag, um amigo me falou que passando a leitura da database para o client ajudaria bastante, alguem sabe como fazer isso? se puder fazer um tutorial como adicionar database para o client ler tmb muito obrigado
    WillMaiaBR
    WillMaiaBR
    Iniciante
    Iniciante

    Mensagens : 40
    Créditos : 6

    Ficha do personagem
    Nível: 1
    Experiência:
    Fazer leitura de dados pelo client Left_bar_bleue0/0Fazer leitura de dados pelo client Empty_bar_bleue  (0/0)
    Vida:
    Fazer leitura de dados pelo client Left_bar_bleue30/30Fazer leitura de dados pelo client Empty_bar_bleue  (30/30)

    Fazer leitura de dados pelo client Empty Re: Fazer leitura de dados pelo client

    Mensagem por WillMaiaBR em Sex Jul 10, 2020 4:29 am

    Antes de tudo é bom vc verificar se o lag é por isso mesmo, tente ver o ping do servidor, ele deve estar abaixo de 100 pra ficar menos lagado, depois com o packeteditor, verificar o peso de cada pacote, quais estão pesando mais, assim você terá a dica de onde está vindo o consumo de internet (upload)

    Sobre sua pergunta vou tentar resumir como funciona:

    Toda vez que alguém entra no game o servidor envia todos os pacotes de items, shop, classes, etc ao cliente, e isso causa um lag absurdo pro servidor, tanto em processamento, quanto em upload, 

    -O que você tem que fazer é que o cliente carregue a database dentro da sua própria pasta, e que o servidor não envie
    mais os pacotes de atualização.  (Jogos profissionais como LINEAGE 2, RAGNAROK, MU ONLINE, ETC) já estão com as databases atualizadas dentro do cliente.

    Mas lembre-se isso é interessante quando a database já está pronta, não para um game em desenvolvimento, porque se fizer alteração no item 10, terá que colocar novamente a função updateitem no item 10, se o game tá em beta e for ficar alterando items, atualizando items da database é melhor esquecer, pois depois de fazer essa alteração o servidor não vai mais atualizar os items e database quando o jogador entrar no game.


    A primeira coisa é você deve fazer é acompanhar o caminho por onde a database passa, ao logar o geralmente o servidor carrega a sub joingame, ela envia os items, npcs, shops
    (estou usando como exemplo o elysium e algumas versões do eclipse)

    você pode procurar o pacote "updateitem" dentro da source do cliente e nessa linha colocar pra salvar o item.dat numa pasta "/ITEMS" dentro do cliente, depois disso colocar pro cliente ao iniciar carregar os items de dentro desta pasta,


    A primeira vez você deixa a função updateitem ligada pra que o servidor envie todos os items e o cliente salve os item.dat na pasta, assim que eles tiverem salvos, vc vai la na sub joingame e tira a função updateitems.

    Ao desativar a updateitems na sub joingame você pode abrir o game e ver se ele está carregando os itens normalmente.


    basta repetir o passo pra cada coisa que deseja deixar no cliente, eu recomendo usar somente nos items, npcs e quests q são coisas muito pesadas pra ficar enviando a cada login.


    _________________
    Fazer leitura de dados pelo client Logo_xstrond

    Paulo Soreto gosta desta mensagem

    Animcard
    Animcard
    Novato
    Novato

    Mensagens : 2
    Créditos : 0

    Fazer leitura de dados pelo client Empty Re: Fazer leitura de dados pelo client

    Mensagem por Animcard em Dom Jul 12, 2020 1:07 pm

    @WillMaiaBR escreveu:Antes de tudo é bom vc verificar se o lag é por isso mesmo, tente ver o ping do servidor, ele deve estar abaixo de 100 pra ficar menos lagado, depois com o packeteditor, verificar o peso de cada pacote, quais estão pesando mais, assim você terá a dica de onde está vindo o consumo de internet (upload)

    Sobre sua pergunta vou tentar resumir como funciona:

    Toda vez que alguém entra no game o servidor envia todos os pacotes de items, shop, classes, etc ao cliente, e isso causa um lag absurdo pro servidor, tanto em processamento, quanto em upload, 

    -O que você tem que fazer é que o cliente carregue a database dentro da sua própria pasta, e que o servidor não envie
    mais os pacotes de atualização.  (Jogos profissionais como LINEAGE 2, RAGNAROK, MU ONLINE, ETC) já estão com as databases atualizadas dentro do cliente.

    Mas lembre-se isso é interessante quando a database já está pronta, não para um game em desenvolvimento, porque se fizer alteração no item 10, terá que colocar novamente a função updateitem no item 10, se o game tá em beta e for ficar alterando items, atualizando items da database é melhor esquecer, pois depois de fazer essa alteração o servidor não vai mais atualizar os items e database quando o jogador entrar no game.


    A primeira coisa é você deve fazer é acompanhar o caminho por onde a database passa, ao logar o geralmente o servidor carrega a sub joingame, ela envia os items, npcs, shops
    (estou usando como exemplo o elysium e algumas versões do eclipse)

    você pode procurar o pacote "updateitem" dentro da source do cliente e nessa linha colocar pra salvar o item.dat numa pasta "/ITEMS" dentro do cliente, depois disso colocar pro cliente ao iniciar carregar os items de dentro desta pasta,


    A primeira vez você deixa a função updateitem ligada pra que o servidor envie todos os items e o cliente salve os item.dat na pasta, assim que eles tiverem salvos, vc vai la na sub joingame e tira a função updateitems.

    Ao desativar a updateitems na sub joingame você pode abrir o game e ver se ele está carregando os itens normalmente.


    basta repetir o passo pra cada coisa que deseja deixar no cliente, eu recomendo usar somente nos items, npcs e quests q são coisas muito pesadas pra ficar enviando a cada login.
    bom muito obrigado não sou programador, mas vou ver oque consigo, e sim a database esta bem completa, e bem isso que você falou, logo quando alguém entra que causa um lag absurdo, caso fique os msm jogadores online o jogo roda bem melhor, e logo quando alguem entra envia mts dados. se puder fazer um tuto detalhado de como fazer eu lhe agradeceria muito

    Conteúdo patrocinado

    Fazer leitura de dados pelo client Empty Re: Fazer leitura de dados pelo client

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sab Ago 08, 2020 6:07 am