[DUVIDA] USO DE CPU DO MYSQL -
JacKPanK - 12.02.2019
Olб bom dia meu povo, alguйm pode me ajudar nessa questгo? Eu tф criando um servidor completo alimentado pelo MySQL e eu quero saber se o
plugin do MySQL incorporado ao PlayerUpdate pode ocasionar um congestionamenro por conta da constante atualizaзгo de dados, quero colocar para que o OnPlayerUpdate fique checando qual quer que seja a mudanзa no banco para alterar no jogo de imediato.
Alguйm por favor pode me tirar essa dъvida e se tiver alguma maneira de diminuir o acesso constante ao DB por favor me ajudem.
Chegar em casa atualizo com o cуdigo que coloquei no Update do GM.
Dкs de jб agradeзo a atenзгo.
Re: [DUVIDA] USO DE CPU DO MYSQL -
DanielMatrix - 12.02.2019
Olб tudo bem , olha minha opniгo prуpria, o MysQL seus dados sгo armazenados e solicitados em milissegundos, usar o OnPlayerUpdate , seria desnecessбrio , caso queira fazer atualizaзхes instantвneas , tem outras possibilidades, eu particularmente , nгo faria isso, evite usar OnPlayerUpdate . Conflito direto creio que nгo vai dar pois, o banco de dados esta pronto para receber atualizaзхes , o seu problema vai ser em sua maquina, ela suporte constantes atualizaзхes ?
Re: [DUVIDA] USO DE CPU DO MYSQL -
JacKPanK - 12.02.2019
Quote:
Originally Posted by DanielMatrix
Olб tudo bem , olha minha opniгo prуpria, o MysQL seus dados sгo armazenados e solicitados em milissegundos, usar o OnPlayerUpdate , seria desnecessбrio , caso queira fazer atualizaзхes instantвneas , tem outras possibilidades, eu particularmente , nгo faria isso, evite usar OnPlayerUpdate . Conflito direto creio que nгo vai dar pois, o banco de dados esta pronto para receber atualizaзхes , o seu problema vai ser em sua maquina, ela suporte constantes atualizaзхes ?
|
Eu acho que nгo, irei usar uma VPS simples em Linux.
Eu estava pensando nisso:
Cria-se uma variбvel com a quantia em dinheiro retirado do banco de dados ao efetuar o login;
Houve uma mudanзa na quantidade do dinheiro no GivePlayerMoney ou mais provбvel HACK;
O OnPlayerUpdate identifica a mudanзa, verifica se esse valor do GetPlayerMoney й igual ao da variбvel, se for ele conecta ao banco de dados e muda a informaзгo do mesmo com a quantia da variбvel, caso a mudanзa do valor nгo estiver igual a variбvel ele nгo irб mudar nada no banco de dados e irб resetar o dinheiro para o valor da variбvel.
Ou teria uma maneira mais eficiente pra isso sem ser o OnPlayerUpdate? Se sim. Qual?
Re: [DUVIDA] USO DE CPU DO MYSQL -
DanielMatrix - 12.02.2019
Vou lhe da uma logica.
Vocк criou o sistema de registro etc.. o jogador logou ganhou R$500,00 por ter se registrado, logo em seguida ele desconecta , eu salvo alguns dados ao jogador ao desconectar, dentre ele o dinheiro , agora vamos a questгo , o jogador loga , nisso eu uso a funзгo SELECT d MysQL , verifico a quantidade que esta armazenada no Banco de Dados, depois uso o cache_get_value_int(0, "Dinheiro",Suavariavel); para setar,
a questгo do "hack" tem que ver outras possibilidades, nгo conheзo 100% as nativas do samp em si.
Re: [DUVIDA] USO DE CPU DO MYSQL -
G4M30V3R - 12.02.2019
Essa ideia й absurdamente bizarra!
OnPlayerUpdate й chamado centenas de vezes por segundo. Calcula isso com uma quantidade significativa de jogadores...
A lуgica mais viбvel й criar um timer de 1s que verifica se o valor da variбvel que contйm o dinheiro й diferente do que consta no HUD do dinheiro.
Isso й algo extremamente bбsico, otimizado e mais funcional de que verificar a cada passo que o jogador dб!
Re: [DUVIDA] USO DE CPU DO MYSQL -
JacKPanK - 12.02.2019
Quote:
Originally Posted by G4M30V3R
Essa ideia й absurdamente bizarra!
OnPlayerUpdate й chamado centenas de vezes por segundo. Calcula isso com uma quantidade significativa de jogadores...
A lуgica mais viбvel й criar um timer de 1s que verifica se o valor da variбvel que contйm o dinheiro й diferente do que consta no HUD do dinheiro.
Isso й algo extremamente bбsico, otimizado e mais funcional de que verificar a cada passo que o jogador dб!
|
@EDIT
Entгo qual timer eu deveria usar para atualizar as informaзхes do player? SetTimer no OnGameModeInit ou no OnPlayerConnect? e qual seria o SetTimer ou o SetTimerEx?
Re: [DUVIDA] USO DE CPU DO MYSQL -
Koplan - 12.02.2019
Quote:
Originally Posted by JacKPanK
Entгo qual timer eu deveria usar para atualizar as informaзхes do player? SetTimer no OnGameModeInit, ou o SetTimerEx no OnPlayerConnect?
|
OnPlayerConnect.
QUE IDЙIA ABSURDA. nгo use timer, muito menos OPU() -
IsaacAsimov - 12.02.2019
cara para que salvar os dados o tempo todo?
salve somente quando houver atualizaзхes (salve o dinheiro quando comprar algo ou ganhar)
salve as posiзхes quando desconectar do servidor.
simples.
Re: QUE IDЙIA ABSURDA. nгo use timer, muito menos OPU() -
JacKPanK - 12.02.2019
Quote:
Originally Posted by IsaacAsimov
cara para que salvar os dados o tempo todo?
salve somente quando houver atualizaзхes (salve o dinheiro quando comprar algo ou ganhar)
salve as posiзхes quando desconectar do servidor.
simples.
|
Assim, eu preciso puxar as informaзхes o tempo todo, nгo salvar, pra chegar se ouve mudanзas diretas ao banco de dados, pois fiz um painel para o jogador e php.
Re: QUE IDЙIA ABSURDA. nгo use timer, muito menos OPU() -
IsaacAsimov - 12.02.2019
Quote:
Originally Posted by JacKPanK
Assim, eu preciso puxar as informaзхes o tempo todo, nгo salvar, pra chegar se ouve mudanзas diretas ao banco de dados, pois fiz um painel para o jogador e php.
|
verifica a cada 2 segundo com um request http,
ou entгo faz o painel UCP mandar enviar um socket de comunicaзгo entre o servidor.