Advertisement
Guest User

Untitled

a guest
Aug 27th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.00 KB | None | 0 0
  1. package me.ultrapvp.Main;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.URL;
  7. import java.sql.PreparedStatement;
  8. import java.sql.ResultSet;
  9. import java.util.regex.Matcher;
  10. import java.util.regex.Pattern;
  11.  
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.command.ConsoleCommandSender;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.player.PlayerJoinEvent;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21.  
  22. public class Main extends JavaPlugin implements Listener{
  23.  
  24. public boolean containsIP(String ip) throws IOException {
  25. boolean found = false;
  26. URL url = new URL("http://www.ipspl1.esy.es/");
  27. BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
  28. while(br.read() != -1) {
  29. String pr = br.readLine();
  30. String fixedIp = toIp(pr);
  31. if (fixedIp.equalsIgnoreCase(ip.substring(1))) {
  32.  
  33. }
  34. found = true;
  35. break;
  36. }
  37.  
  38. return found;
  39. }
  40. public static String toIp(String str) {
  41. String ip = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";
  42. Pattern pattern = Pattern.compile(ip);
  43. Matcher matcher = pattern.matcher(str);
  44. if (matcher.find()) {
  45. return matcher.group();
  46. } else {
  47. return str + " não é um IP!";
  48. }
  49. }
  50. private static DB db=null;
  51.  
  52. ConsoleCommandSender b = Bukkit.getConsoleSender();
  53. public void onEnable(){
  54. saveDefaultConfig();
  55. b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  56. b.sendMessage("§a[SalvarSenha] §bativado...");
  57. b.sendMessage("§aCriador: §cUltra_PvP");
  58. b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  59. b.sendMessage("§a§l=============================");
  60. b.sendMessage("§b§lVerificando seu IP!");
  61. b.sendMessage("§c§lIP: " + Bukkit.getServer().getIp());
  62. b.sendMessage("§a§l=============================");
  63. b.sendMessage("§a§l=============================");
  64. b.sendMessage("§b§lConectando ao site...");
  65. b.sendMessage("§a§l=============================");
  66. try {
  67. if(!containsIP(Bukkit.getServer().getIp())) {
  68. b.sendMessage("§4§l=============================");
  69. b.sendMessage("§c§lIP nao encontrado.");
  70. b.sendMessage("§c§lDesativando plugin.");
  71. b.sendMessage("§4§l=============================");
  72. Bukkit.getPluginManager().disablePlugin(this);
  73. return;
  74. }
  75. } catch (IOException e) {
  76. e.printStackTrace();
  77. }
  78. b.sendMessage("§a§l=============================");
  79. b.sendMessage("§b§lPlugin verificado!");
  80. b.sendMessage("§a§l=============================");
  81. b.sendMessage("§cConectando-se ao MySQL...");
  82. b.sendMessage("§cLembre-se: O plugin funciona apenas com MySQL!");
  83. b.sendMessage("§aHost: §b" + getConfig().getString("MySQL.Host"));
  84. b.sendMessage("§aDatabase: §b" + getConfig().getString("MySQL.DB"));
  85. b.sendMessage("§aUsuario: §b" + getConfig().getString("MySQL.User"));
  86. b.sendMessage("§aSenha: §b" + getConfig().getString("MySQL.Pass"));
  87. String host = getConfig().getString("MySQL.Host");
  88. String database = getConfig().getString("MySQL.DB");
  89. String user = getConfig().getString("MySQL.User");
  90. String pass = getConfig().getString("MySQL.Pass");
  91.  
  92.  
  93. db=DB.load(host, database, user, pass);
  94.  
  95. db.update("CREATE TABLE IF NOT EXISTS `salvar_senha` (`nome` varchar(25) not null,`ip` varchar(60) not null,`senha` varchar(60) not null);");
  96. Bukkit.getPluginManager().registerEvents(this, this);
  97. }
  98.  
  99. public void onDisable(){
  100. ConsoleCommandSender b = Bukkit.getConsoleSender();
  101. b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  102. b.sendMessage("§a[SalvarSenha] §bDesativado...");
  103. try {
  104. if(!containsIP(Bukkit.getServer().getIp())) {
  105. b.sendMessage("§aMotivo: §cSeu IP nao esta em nosso site!");
  106. }
  107. } catch (IOException e) {
  108. e.printStackTrace();
  109. }
  110. b.sendMessage("§aCriador: §cUltra_PvP");
  111. b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  112. b.sendMessage("§cFinalizando conexao com MySQL...");
  113. b.sendMessage("§cConexao MySQL finalizado!");
  114. }
  115.  
  116. public String getIP(String p){
  117. if(!hasDado(p)) return "";
  118. PreparedStatement ps=null;
  119. try{
  120. ps=db.getConnection().prepareStatement("SELECT * FROM `salvar_senha` WHERE nome=?;");
  121. ps.setString(1, p);
  122. ResultSet rs = ps.executeQuery();
  123. while(rs.next()){
  124. return rs.getString("ip");
  125. }
  126. }catch (Exception e){}
  127. finally{
  128. try{
  129. ps.close();
  130. }catch (Exception e){}
  131. }
  132. return "";
  133. }
  134.  
  135. public String getSenha(String p){
  136. if(!hasDado(p)) return "";
  137. PreparedStatement ps=null;
  138. try{
  139. ps=db.getConnection().prepareStatement("SELECT * FROM `salvar_senha` WHERE nome=?;");
  140. ps.setString(1, p);
  141. ResultSet rs = ps.executeQuery();
  142. while(rs.next()){
  143. return rs.getString("senha");
  144. }
  145. }catch (Exception e){}
  146. finally{
  147. try{
  148. ps.close();
  149. }catch (Exception e){}
  150. }
  151. return "";
  152. }
  153.  
  154. public boolean hasDado(String p){
  155. PreparedStatement ps=null;
  156. try{
  157. ps=db.getConnection().prepareStatement("SELECT * FROM `salvar_senha` WHERE nome=?;");
  158. ps.setString(1, p);
  159. ResultSet rs = ps.executeQuery();
  160. while(rs.next()){
  161. return true;
  162. }
  163. }catch (Exception e){}
  164. finally{
  165. try{
  166. ps.close();
  167. }catch (Exception e){}
  168. }
  169. return false;
  170. }
  171.  
  172. public void setDado(Player p,String pas){
  173. PreparedStatement ps = null;
  174. try{
  175. if(!hasDado(p.getName())){
  176. ps=db.getConnection().prepareStatement("INSERT INTO `salvar_senha` (`nome`,`ip`,`senha`) VALUES (?,?,?);");
  177. ps.setString(1, p.getName());
  178. ps.setString(2, p.getAddress().getHostName());
  179. ps.setString(3, pas);
  180. ps.executeUpdate();
  181. }else{
  182. ps=db.getConnection().prepareStatement("UPDATE `salvar_senha` SET ip=?,senha=? WHERE nome=?;");
  183. ps.setString(1, p.getAddress().getHostName());
  184. ps.setString(2, pas);
  185. ps.setString(3, p.getName());
  186. ps.executeUpdate();
  187. }
  188. }catch (Exception e){}
  189. finally{
  190. try{
  191. ps.close();
  192. }catch (Exception e){}
  193. }
  194. }
  195.  
  196. @EventHandler
  197. public void entrar(PlayerJoinEvent e){
  198. final Player p = e.getPlayer();
  199. String ip = p.getAddress().getHostName();
  200. String ips = getIP(p.getName());
  201. if(ips.equalsIgnoreCase("")||ips==null) return;
  202. if(ip.equalsIgnoreCase(ips)){
  203. final String pass=getSenha(p.getName());
  204. if(pass.equalsIgnoreCase("")||pass==null){
  205. p.sendMessage(getConfig().getString("Password.Nao_Definida").replace("&", "§"));
  206. return;
  207. }
  208. Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
  209. public void run() {
  210. p.sendMessage(getConfig().getString("Login.Automaico_Entrou").replace("&", "§"));
  211. p.sendMessage(getConfig().getString("Login.Automaico_Entrou2").replace("&", "§"));
  212. p.chat("/login "+pass);
  213. }
  214. },5*20);
  215. }
  216. }
  217. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  218. if(!(sender instanceof Player)){
  219. sender.sendMessage("§cUse este comando in-game.");
  220. return true;
  221. }
  222. Player p = (Player)sender;
  223. if(label.equalsIgnoreCase("salvarsenha")){
  224. if (!p.hasPermission(getConfig().getString("Permissao.SalvarSenha"))) {
  225. p.sendMessage(getConfig().getString("SalvarSenha.Msg_Sem.permissao").replace("&", "§"));
  226. return true;
  227. }
  228. if(args.length==0){
  229. p.sendMessage(getConfig().getString("SalvarSenha.Use").replace("&", "§"));
  230. return true;
  231. }
  232. String s = args[0];
  233. setDado(p, s);
  234. p.sendMessage("§3[Login Automatico] §bSenha §a"+s+"§b, foi salva com sucesso.");
  235. p.sendMessage("§cLembre-se: Caso sua senha esteja incorreta, você não irá logar automaticamente!");
  236. }
  237. return false;
  238. }
  239.  
  240. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement