Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Já imaginou não precisar reiniciar o server pra fazer uma att ?


brucedeity
 Compartilhar

Posts Recomendados

12 minutos atrás, Revoltz disse:

Brilhante ideia man, curtir bastante!

Uma dúvida,  isso consumiria mais desempenho da máquina?

Não, você simplesmente sobrescreve a memória que já estava em uso com as novas informações. Estou testando bem para ver o quão viável é usar isso em um servidor em produção e até o momento o único ponto ruim é o povo continuar jogando sem atualizar o jogo :classic_biggrin:

Link para o comentário
Compartilhar em outros sites

17 minutos atrás, brucedeity disse:

Não, você simplesmente sobrescreve a memória que já estava em uso com as novas informações. Estou testando bem para ver o quão viável é usar isso em um servidor em produção e até o momento o único ponto ruim é o povo continuar jogando sem atualizar o jogo :classic_biggrin:

Irado!

Mas só do fato de atualizar tudo sem reniciar os serviços já é um caminho enorme, parabéns.

Acho que ficaria legal colocar um alerta, tipo um Pop-up pro player sempre que houver uma nova atualização, com dois botões 

[Atualizar agora]  [Continuar jogando]

Mesmo se ele continuar no jogo sem atualizar ele não ver as modificações mas elas estão lá. 

E na próxima vez que ele abrir forçar a atualização

revoltz.dev

Link para o comentário
Compartilhar em outros sites

para trabalhar com edições de .data, acho a ideia ótima e muito útil, já para servidores públicos, creio ser potencialmente perigosa se o trecho sobrescrito estiver também sendo usado em outro local gerando um erro de acesso de memória, uma solução conjunta seria implementar dai travas com spinlock para que quem deseja acessar ou alterar esse ponteiro precise aguardar outra região finalizar suas tarefas. 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Isso é bem legal cara, de verdade,
mas como já foi dito acima, muito cuidado ao colocar isso em produção (se é que pretende), quando você trabalha diretamente na memória para atualizar arquivos isso pode trazer muitas dores de cabeça, e também pode causar vazamento de memória (derrubando os mapas em produção), ainda mais arquivos grandes como esses que contém todos os dados de itens do jogo.
Recomendo você criar uma nova thread e também usar o spinlock a seu favor como foi dito acima , mas ainda acredito que não será algo definitivo, porque isso mexe muito com a estrutura, e os Inits na cgame foram feitos exatamente pra isso, para que seja processo de uma só vez ao iniciar.

Fora isso, great job.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

38 minutos atrás, Fulano disse:

Isso é bem legal cara, de verdade,
mas como já foi dito acima, muito cuidado ao colocar isso em produção (se é que pretende), quando você trabalha diretamente na memória para atualizar arquivos isso pode trazer muitas dores de cabeça, e também pode causar vazamento de memória (derrubando os mapas em produção), ainda mais arquivos grandes como esses que contém todos os dados de itens do jogo.
Recomendo você criar uma nova thread e também usar o spinlock a seu favor como foi dito acima , mas ainda acredito que não será algo definitivo, porque isso mexe muito com a estrutura, e os Inits na cgame foram feitos exatamente pra isso, para que seja processo de uma só vez ao iniciar.

Fora isso, great job.

Sim, eu pretendo testar bastante antes de realmente pensar em usar isso em produção, até lá já vai me adiantar um bom tempo em ambiente de testes :classic_biggrin:

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Bola disse:

para trabalhar com edições de .data, acho a ideia ótima e muito útil, já para servidores públicos, creio ser potencialmente perigosa se o trecho sobrescrito estiver também sendo usado em outro local gerando um erro de acesso de memória, uma solução conjunta seria implementar dai travas com spinlock para que quem deseja acessar ou alterar esse ponteiro precise aguardar outra região finalizar suas tarefas. 

Vou estudar um pouco sobre essa solução do spinlock, também estou pensando em um jeito de poder atualizar apenas coisas específicas em vez de querer atualizar tudo

Link para o comentário
Compartilhar em outros sites

  • 1 ano atrás...

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 Compartilhar

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...