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
2 participantes
Fazer leitura de dados pelo client
WillMaiaBR- Iniciante
- Mensagens : 71
Créditos : 8
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
- Mensagem nº2
Re: Fazer leitura de dados pelo client
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.
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.
_________________
Paulo Soreto gosta desta mensagem
Animcard- Novato
- Mensagens : 2
Créditos : 0
- Mensagem nº3
Re: Fazer leitura de dados pelo client
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 muitoWillMaiaBR 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.