Arkasher Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Bem, estou desenvolvendo um plugin de login, e me surgiu a seguinte dúvida: Como eu checo se o player é original? (Para fazer tipo, se for original, não precisa registrar) Link para o comentário Compartilhar em outros sites More sharing options...
MrPowerGamerBR Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 (editado) Fácil 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 Maio 20, 2016 por MrPowerGamerBR 3 Link para o comentário Compartilhar em outros sites More sharing options...
BatemanBR Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Na versão 1.5.2 não tem como Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Maio 20, 2016 Autor Denunciar Compartilhar Postado Maio 20, 2016 Na versão 1.5.2 não tem como Não é 1.5.2... Link para o comentário Compartilhar em outros sites More sharing options...
Guest md5 Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Tem esse post aqui que acho que responde a mesma dúvida, porém não sei se esse método realmente funciona. Link para o comentário Compartilhar em outros sites More sharing options...
AstroCoder Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Fácil 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(); 1 Link para o comentário Compartilhar em outros sites More sharing options...
zMathi Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Fácil 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 More sharing options...
Thelike Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Fácil 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 More sharing options...
Arkasher Postado Maio 20, 2016 Autor Denunciar Compartilhar Postado Maio 20, 2016 Fácil 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 More sharing options...
iRustyy Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 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 More sharing options...
BatemanBR Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 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 More sharing options...
MrSilkBr Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 UE só online-mode? E o autoin? Link para o comentário Compartilhar em outros sites More sharing options...
iRustyy Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 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. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Guest md5 Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 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 More sharing options...
leonardosc Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 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 More sharing options...
Arkasher Postado Maio 20, 2016 Autor Denunciar Compartilhar Postado Maio 20, 2016 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 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 More sharing options...
MrPowerGamerBR Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Não, ele nem chama o AsyncPlayerPreLoginEvent, pelo menos não nessa versão (1.8 R3) Calma, deixa eu lembrar qual era o evento que precisa usar... Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Maio 20, 2016 Denunciar Compartilhar Postado Maio 20, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Arkasher
Bem, estou desenvolvendo um plugin de login, e me surgiu a seguinte dúvida: Como eu checo se o player é original? (Para fazer tipo, se for original, não precisa registrar)
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados