Ir para conteúdo
  • 0

Se eu fizer isso, o servidor do cliente vai lagar?


SnowRunescape

Pergunta

Ola, estou com uma duvida cruel aqui, sei que talvez so vamos saber na pratica :/, mas não custa nada perguntar ne :v


 


Bom, se eu fizer uma conexão com o banco de dados com um servidor externo ( um servidor que não seja o mysql do proprio servidor, no caso o Mysql da SnowDev ) o servidor desta pessoa pode lagar? dar aquela famosa travada, por estar realizando uma comunicação com um servidor?


 


a requirição que sera feita com a SnowDev é bem simples por sinal.. mas né... não sei oque pode acontecer



if (ResponceCode == 200) { //Se o plugin conseguiu se comunicar com o servidor da SnowDev
if (resposta.contains("ACCESS GRANTED")) { //Se os dados forem validos, ativar o plugin
//Permissao concedida pelo servidor da SnowDev
Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "[SnowDev Authenticator] " + ChatColor.GRAY + "Authentication Done with " + ChatColor.GREEN + "successful!");
} else { //Se os dados nao forem validos...
Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "[SnowDev Authenticator] " + ChatColor.GRAY + "Invalide Code!");
Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "[SnowDev Authenticator] " + ChatColor.GRAY + "Verify your credentials and try again!");
getServer().getPluginManager().disablePlugin(this); //Desativa o Plugin
}
} else { //Se o plugin não conseguiu se comunicar ao servidor da SnowDev
//Recomendamos que caso o plugin não consiga se comunicar com a SnowDev
//Você deixe habilitar o pluign, e faça pra ele verificar se o plugin é valido
//Depois de 30 minuto, ou 1 hora...
}

no caso eu fiz isso ai.. não sei se é uma boa ideia.. mas a SnowDev deixara a pessoa escolher como quiser..


Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

vai executar apenas 1x, quando ligar o servidor, caso de tudo certo, autorizado, apenas 1x...

 

caso o site da snowdev venha a cair.. ficar fora do ar, e alguem tentar ligar o plugin, deixar ligar o plugin normlamente, mesmo a pessoa não tiver autorização.. mas depois de 30 minutos ou 1 hora, verificar denovo.. se receber AUTORIZADO, beleza, se receber que esta fora do ar ainda.. libera o uso por mais 1 hora.. se receber que não tem autorização.. ai crasha o servidor, ou kicka todos.. e exibir uma mensagem na tela de kick.. falando que o servidor não tem permissao pra usar tal plugin e tal.. compre a ativação no site tal e tal...

 

Só você fazer as conexões que não forem dentro do onEnable em async, ai, mesmo que o MySQL esteja lento ou fora do ar, não vai afetar o servidor, porque vai ser uma thread separada da Main, então não vai interromper a execução da mesma. 

Link para o comentário
Compartilhar em outros sites

Se o servidor MySQL for lento de mais, pode. Mas ele vai executar essa conexão quantas vezes durante a execução do plugin?

 

Se for só na onEnable, creio que não haja muito problema....

vai executar apenas 1x, quando ligar o servidor, caso de tudo certo, autorizado, apenas 1x...

 

caso o site da snowdev venha a cair.. ficar fora do ar, e alguem tentar ligar o plugin, deixar ligar o plugin normlamente, mesmo a pessoa não tiver autorização.. mas depois de 30 minutos ou 1 hora, verificar denovo.. se receber AUTORIZADO, beleza, se receber que esta fora do ar ainda.. libera o uso por mais 1 hora.. se receber que não tem autorização.. ai crasha o servidor, ou kicka todos.. e exibir uma mensagem na tela de kick.. falando que o servidor não tem permissao pra usar tal plugin e tal.. compre a ativação no site tal e tal...

Link para o comentário
Compartilhar em outros sites

Só você fazer as conexões que não forem dentro do onEnable em async, ai, mesmo que o MySQL esteja lento ou fora do ar, não vai afetar o servidor, porque vai ser uma thread separada da Main, então não vai interromper a execução da mesma. 

async seria tipo fazer uma função pra ele? dentro do plugin.. como se fosse um comando?

 

mas vlw ae, vou deixar os desenvolvedores que utilizarem a API escolher o que quiserem :v

Link para o comentário
Compartilhar em outros sites

async seria tipo fazer uma função pra ele? dentro do plugin.. como se fosse um comando?

 

mas vlw ae, vou deixar os desenvolvedores que utilizarem a API escolher o que quiserem :v

 

Async = Thread separada da Main Thread do servidor. Se travar, não trava o servidor, ele vai travar sozinho

Link para o comentário
Compartilhar em outros sites

Pode fazer, sem medo ! 

Só tome cuidado de como tu vai fazer essa conexão, se qualquer um decompilar o plugin ganha acesso ao seu DB.

 

E como você pretende informar a senha/usuário do seu banco de dados? Colocando direto no código?

 

Se você fizer a conexão em uma Thread separada não vai "lagar".

a conexão é via html/php, vou dar uma pesquisada sobre thread aqui, vlw :!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...