Ir para conteúdo
  • 0

[Resolvido] [Dúvida] - Checando se o player é original


Arkasher

Pergunta

18 respostass a esta questão

Posts Recomendados

Fácil :D so dares uso a propria API do minecraft.net

URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + player);
String premium = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();

Bela página de Erro 404 ai fera...

 

Não sei o que vocês estão fazendo, alguns métodos aí verificam se o cara usa Minecraft original, mas ele quer para um plugin de login, verificar externamente não vai ajudar.

 

Se vocês forem usar esses métodos que vocês passaram, qualquer um vai poder logar com um nick original, mesmo tendo Minecraft Pirata.

 

Quer fazer um sistema de login igual ao AutoIn? Então siga quem sabe.

 

Você vai precisar alterar o server.properties para deixar o online-mode em true, após isto, use o AsyncPlayerPreLoginEvent para trocar o LoginResult para ALLOWED.

e.setLoginResult(Result.ALLOWED);

Pronto, caso resolvido, você ainda terá que alterar o UUIDs dos players para não bugar usando Reflection.

 

Para você fazer logins apenas para usuários piratas, você terá que comparar o Result do evento (e.getLoginResult()) para verificar se ele foi kickado por não estar autenticado, se ele está tentando logar sem estar autenticado, coloque ele em uma lista e altere o resultado para Result.ALLOWED.

 

Eu não testei, mas eu tenho certeza que é assim que o AutoIn funciona, se estiver errado só me falar que eu irei verificar.

Editado por MrPowerGamerBR
Link para o comentário
Compartilhar em outros sites

Fácil :D so dares uso a propria API do minecraft.net

URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + player);
String premium = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();
Link para o comentário
Compartilhar em outros sites

 

Fácil :D so dares uso a propria API do minecraft.net

URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + player);
String premium = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();

Isso ira apenas checar se o NOME do jogador é de premium, por exemplo, um pirata pode entrar com o nick de um jogador original e o resultado será como premium.

Link para o comentário
Compartilhar em outros sites

 

Fácil :D so dares uso a propria API do minecraft.net

URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + player);
String premium = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();

Nesse caso vai só verificar o nome né? dai se o player pirata entrar com o nick do original ...

Link para o comentário
Compartilhar em outros sites

 

Fácil :D so dares uso a propria API do minecraft.net

URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + player);
String premium = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();

Eu tentei assim, só que pelo que lí, só funciona com o online-mode true :/

Link para o comentário
Compartilhar em outros sites

Esse sistema só funciona com online-mode true.

 

É bem pequeno o código para fazer isso. Você apenas precisa pegar o NICK do player, O LINK da mojang de verificar contas.

 

LEMBRE-SE: Recentemente a Mojang atualizou seu SITE, O sistema de verificar contas foi alterado TAMBÉM!

 

Você pode pegar a API da MOJANG aqui: https://api.mojang.com/users/profiles/minecraft/<NICK>         Altere <NICK> para o nick desejado

 

Agora o código é por sua parte, Não posso ajudar com o código no momento.

 

Mais se o SITE responder para seu PLUGIN com os dados (UUID & NAME) você coloca pra marcar como original, agora se o site não responder seu PLUGIN, é porque a conta é pirata.

Link para o comentário
Compartilhar em outros sites


public boolean verifyPremium(String playerName) throws IOException {

URL url = new URL("https://api.mojang.com/users/profiles/minecraft/" + playerName);

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

String inline = in.readLine();

in.close();

if (inline != null) {return true;}

return false;

}

 

Link para o comentário
Compartilhar em outros sites

Bela página de Erro 404 ai fera...

 

Não sei o que vocês estão fazendo, alguns métodos aí verificam se o cara usa Minecraft original, mas ele quer para um plugin de login, verificar externamente não vai ajudar.

 

Se vocês forem usar esses métodos que vocês passaram, qualquer um vai poder logar com um nick original, mesmo tendo Minecraft Pirata.

 

Quer fazer um sistema de login igual ao AutoIn? Então siga quem sabe.

 

Você vai precisar alterar o server.properties para deixar o online-mode em true, após isto, use o AsyncPlayerPreLoginEvent para trocar o LoginResult para ALLOWED.

e.setLoginResult(Result.ALLOWED);

Pronto, caso resolvido, você ainda terá que alterar o UUIDs dos players para não bugar usando Reflection.

 

Para você fazer logins apenas para usuários piratas, você terá que comparar o Result do evento (e.getLoginResult()) para verificar se ele foi kickado por não estar autenticado, se ele está tentando logar sem estar autenticado, coloque ele em uma lista e altere o resultado para Result.ALLOWED.

 

Eu não testei, mas eu tenho certeza que é assim que o AutoIn funciona, se estiver errado só me falar que eu irei verificar.

 

Por isso eu falei para colocar no Online Mode TRUE.

 

Ninguem vai conseguir entrar com NICK DE MINECRAFT ORIGINAL pois o Online Mode faz o trabalho de tirar as pessoas "indesejadas", Pode ter certeza que da certo o método que eu falei.

 

"Ele quer fazer um PLUGIN de login, verificar externamente não vai adiantar". Vai sim, ele quer colocar para PIRATA logar, ORIGINAL não precisar logar, Verificando externamente ele verifica se a conta é original ou não, aí depois é só obrigar o jogador á fazer o LOGIN (Caso seja pirata).

 

Eu mesmo usava em meu servidor e estarei voltando á usar em poucos dias. 

 

Se quer fazer um PLUGIN igual o AutoIn, pode fazer, só que garanto para você que não vai ficar melhor do que o método que eu falei.

Link para o comentário
Compartilhar em outros sites

Por isso eu falei para colocar no Online Mode TRUE.

 

Ninguem vai conseguir entrar com NICK DE MINECRAFT ORIGINAL pois o Online Mode faz o trabalho de tirar as pessoas "indesejadas", Pode ter certeza que da certo o método que eu falei.

 

"Ele quer fazer um PLUGIN de login, verificar externamente não vai adiantar". Vai sim, ele quer colocar para PIRATA logar, ORIGINAL não precisar logar, Verificando externamente ele verifica se a conta é original ou não, aí depois é só obrigar o jogador á fazer o LOGIN (Caso seja pirata).

 

Eu mesmo usava em meu servidor e estarei voltando á usar em poucos dias. 

 

Se quer fazer um PLUGIN igual o AutoIn, pode fazer, só que garanto para você que não vai ficar melhor do que o método que eu falei.

 

O que você disse não faz sentido algum cara (ao menos no meu ponto de lógica não). Se o servidor está em online-mode true, ninguém que não esteja autenticado poderá logar no servidor, a menos que você defina o "Result" do PreLogin como ALLOWED (como o Power disse) (que você será obrigado à fazer, senão vai ser apenas um servidor com online-mode, onde só original entra). Ok, definiu o Result como ALLOWED, até aí tudo bem, mas e se eu logar com um nick original mesmo não estando autenticado? Vou ser um usuário pirata, mesmo assim o Result vai estar como ALLOWED, logo vou conseguir logar. Então a API vai verificar se o NICK PERTENCE À UMA CONTA ORIGINAL (nesse caso, é o que se passa), então não vou precisar fazer login porque o NICK pertence à uma conta original, mesmo não estando autenticado.

Link para o comentário
Compartilhar em outros sites

Bela página de Erro 404 ai fera...

 

Não sei o que vocês estão fazendo, alguns métodos aí verificam se o cara usa Minecraft original, mas ele quer para um plugin de login, verificar externamente não vai ajudar.

 

Se vocês forem usar esses métodos que vocês passaram, qualquer um vai poder logar com um nick original, mesmo tendo Minecraft Pirata.

 

Quer fazer um sistema de login igual ao AutoIn? Então siga quem sabe.

 

Você vai precisar alterar o server.properties para deixar o online-mode em true, após isto, use o AsyncPlayerPreLoginEvent para trocar o LoginResult para ALLOWED.

e.setLoginResult(Result.ALLOWED);

Pronto, caso resolvido, você ainda terá que alterar o UUIDs dos players para não bugar usando Reflection.

 

Para você fazer logins apenas para usuários piratas, você terá que comparar o Result do evento (e.getLoginResult()) para verificar se ele foi kickado por não estar autenticado, se ele está tentando logar sem estar autenticado, coloque ele em uma lista e altere o resultado para Result.ALLOWED.

 

Eu não testei, mas eu tenho certeza que é assim que o AutoIn funciona, se estiver errado só me falar que eu irei verificar.

 

Não, ele nem chama o AsyncPlayerPreLoginEvent, pelo menos não nessa versão (1.8 R3)

Link para o comentário
Compartilhar em outros sites

Bela página de Erro 404 ai fera...

 

Não sei o que vocês estão fazendo, alguns métodos aí verificam se o cara usa Minecraft original, mas ele quer para um plugin de login, verificar externamente não vai ajudar.

 

Se vocês forem usar esses métodos que vocês passaram, qualquer um vai poder logar com um nick original, mesmo tendo Minecraft Pirata.

 

Quer fazer um sistema de login igual ao AutoIn? Então siga quem sabe.

 

Você vai precisar alterar o server.properties para deixar o online-mode em true, após isto, use o AsyncPlayerPreLoginEvent para trocar o LoginResult para ALLOWED.

e.setLoginResult(Result.ALLOWED);

Pronto, caso resolvido, você ainda terá que alterar o UUIDs dos players para não bugar usando Reflection.

 

Para você fazer logins apenas para usuários piratas, você terá que comparar o Result do evento (e.getLoginResult()) para verificar se ele foi kickado por não estar autenticado, se ele está tentando logar sem estar autenticado, coloque ele em uma lista e altere o resultado para Result.ALLOWED.

 

Eu não testei, mas eu tenho certeza que é assim que o AutoIn funciona, se estiver errado só me falar que eu irei verificar.

 

Vou fazer desta forma, vlw :D

Por isso eu falei para colocar no Online Mode TRUE.

 

Ninguem vai conseguir entrar com NICK DE MINECRAFT ORIGINAL pois o Online Mode faz o trabalho de tirar as pessoas "indesejadas", Pode ter certeza que da certo o método que eu falei.

 

"Ele quer fazer um PLUGIN de login, verificar externamente não vai adiantar". Vai sim, ele quer colocar para PIRATA logar, ORIGINAL não precisar logar, Verificando externamente ele verifica se a conta é original ou não, aí depois é só obrigar o jogador á fazer o LOGIN (Caso seja pirata).

 

Eu mesmo usava em meu servidor e estarei voltando á usar em poucos dias. 

 

Se quer fazer um PLUGIN igual o AutoIn, pode fazer, só que garanto para você que não vai ficar melhor do que o método que eu falei.

Se o do power não funcionar, vou tentar de sua forma.

Link para o comentário
Compartilhar em outros sites

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