Advertisement
Guest User

Untitled

a guest
Sep 14th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.42 KB | None | 0 0
  1. package pro.antyproxy.fc;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.net.InetAddress;
  6. import java.net.URL;
  7. import java.util.logging.Logger;
  8. import org.bukkit.BanList;
  9. import org.bukkit.BanList.Type;
  10. import org.bukkit.Bukkit;
  11. import org.bukkit.ChatColor;
  12. import org.bukkit.Server;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.configuration.file.FileConfiguration;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.EventPriority;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.player.PlayerJoinEvent;
  21. import org.bukkit.event.player.PlayerLoginEvent;
  22. import org.bukkit.event.player.PlayerLoginEvent.Result;
  23. import org.bukkit.event.player.PlayerQuitEvent;
  24. import org.bukkit.permissions.Permission;
  25. import org.bukkit.plugin.PluginManager;
  26. import org.bukkit.plugin.java.JavaPlugin;
  27.  
  28. public class Main
  29. extends JavaPlugin
  30. implements Listener
  31. {
  32. public void onEnable()
  33. {
  34. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  35. getLogger().info("#######################################################");
  36. getLogger().info("## AntyProxy 1.2 ##");
  37. getLogger().info("## ##");
  38. getLogger().info("## Status: ON ##");
  39. getLogger().info("#######################################################");
  40. saveDefaultConfig();
  41. }
  42.  
  43. public void onDisable()
  44. {
  45. getLogger().info("#######################################################");
  46. getLogger().info("## AntyProxy 1.2 ##");
  47. getLogger().info("## ##");
  48. getLogger().info("## Status: OFF ##");
  49. getLogger().info("#######################################################");
  50. Bukkit.getPluginManager().disablePlugin(this);
  51. }
  52.  
  53. @EventHandler(priority=EventPriority.HIGH)
  54. public void onPlayerJoin(PlayerJoinEvent event)
  55. {
  56. Player p = event.getPlayer();
  57. if (getConfig().getBoolean("wiadomosc"))
  58. {
  59. p.sendMessage("");
  60. }
  61. if (getConfig().getBoolean("ukryj")) {
  62. event.setJoinMessage("");
  63. }
  64. }
  65.  
  66. @EventHandler(priority=EventPriority.MONITOR)
  67. public void onJoin(PlayerLoginEvent event)
  68. {
  69. boolean przerwa = getConfig().getBoolean("przerwa");
  70. boolean ochrona = getConfig().getBoolean("ochrona");
  71. boolean notifyop = getConfig().getBoolean("notify-op");
  72. String WiadomoscPrzerwa = getConfig().getString("WiadomoscPrzerwa");
  73. String ProxyON = getConfig().getString("ProxyON");
  74. String ProxyOFF = getConfig().getString("ProxyOFF");
  75. String WiadomoscKick = getConfig().getString("WiadomoscKick");
  76.  
  77. Player player = event.getPlayer();
  78. String playerip = event.getAddress().getHostAddress();
  79. if ((przerwa) && (!player.hasPermission(new Permission("antyproxy.przerwa.bypass")))) {
  80. event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ChatColor.RED + WiadomoscPrzerwa);
  81. } else if ((ochrona) && (!player.hasPermission(new Permission("antyproxy.nocheck")))) {
  82. if (isBad(playerip))
  83. {
  84. Bukkit.getLogger().info(String.valueOf(player.getName()) + " (" + playerip + ") " + ProxyON);
  85. for (Player p : Bukkit.getOnlinePlayers()) {
  86. if ((notifyop) && (p.isOp())) {
  87. p.sendMessage(
  88. String.valueOf(ChatColor.RED.toString()) + player.getName() + " (" + playerip + ") " + ProxyON);
  89. }
  90. }
  91. event.disallow(PlayerLoginEvent.Result.KICK_BANNED, ChatColor.RED + WiadomoscKick);
  92. if (getConfig().getBoolean("autoban-mode"))
  93. {
  94. BanList banList = Bukkit.getBanList(BanList.Type.IP);
  95. banList.addBan(playerip, "Zbanowany przez AntyProxy", null, "AntyProxy");
  96. }
  97. }
  98. else
  99. {
  100. for (Player p : Bukkit.getOnlinePlayers()) {
  101. if ((notifyop) && (p.isOp())) {
  102. p.sendMessage(
  103. String.valueOf(ChatColor.GREEN.toString()) + player.getName() + " (" + playerip + ") " + ProxyOFF);
  104. }
  105. }
  106. Bukkit.getLogger().info(String.valueOf(player.getName()) + " (" + playerip + ") " + ProxyOFF);
  107. }
  108. }
  109. }
  110.  
  111. @EventHandler(priority=EventPriority.MONITOR)
  112. public void onPlayerQuit(PlayerQuitEvent event)
  113. {
  114. if (getConfig().getBoolean("ukryj")) {
  115. event.setQuitMessage("");
  116. }
  117. }
  118.  
  119. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
  120. {
  121. if ((!cmd.getName().equalsIgnoreCase("aproxy")) || (!sender.hasPermission(new Permission("antyproxy.admin"))))
  122. {
  123. String NoPermissionsMSG = getConfig().getString("NoPermissionsMSG");
  124. sender.sendMessage(ChatColor.RED + NoPermissionsMSG);
  125. return false;
  126. }
  127. if (args.length == 0)
  128. {
  129. sender.sendMessage(ChatColor.GOLD + "------------ANTYPROXY v1.2----------------");
  130. sender.sendMessage("");
  131. sender.sendMessage(ChatColor.GOLD + "Uzyj /aproxy pomoc po liste komend!");
  132. sender.sendMessage("");
  133. sender.sendMessage(ChatColor.GOLD + "------------------------------------------");
  134. return false;
  135. }
  136. if (args.length > 1)
  137. {
  138. if ((args[0].equalsIgnoreCase("ochrona")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  139. {
  140. if (args[1].equalsIgnoreCase("on"))
  141. {
  142. getConfig().set("ochrona", Boolean.valueOf(true));
  143. saveConfig();
  144. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Ochrona: " + ChatColor.GREEN + "Wlaczona!");
  145. getLogger().info("Ochrona wlaczona");
  146. return true;
  147. }
  148. if (args[1].equalsIgnoreCase("off"))
  149. {
  150. getConfig().set("ochrona", Boolean.valueOf(false));
  151. saveConfig();
  152. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Ochrona: " + ChatColor.RED + "Wylaczona!");
  153. getLogger().info("Ochrona wylaczona");
  154. return true;
  155. }
  156. sender.sendMessage(ChatColor.GREEN + "/aproxy ochrona [ON/OFF] - Wlacz lub Wylacz ochrone");
  157. return false;
  158. }
  159. if ((args[0].equalsIgnoreCase("przerwa")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  160. {
  161. if (args[1].equalsIgnoreCase("on"))
  162. {
  163. getConfig().set("przerwa", Boolean.valueOf(true));
  164. saveConfig();
  165. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Przerwa Techniczna: " + ChatColor.GREEN + "Wlaczona!");
  166. getLogger().info("Przerwa Techniczna wlaczona");
  167. return true;
  168. }
  169. if (args[1].equalsIgnoreCase("off"))
  170. {
  171. getConfig().set("przerwa", Boolean.valueOf(false));
  172. saveConfig();
  173. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Przerwa Techniczna: " + ChatColor.RED + "Wylaczona!");
  174. getLogger().info("Przerwa Techniczna wylaczona");
  175. return true;
  176. }
  177. sender.sendMessage(ChatColor.GREEN + "/aproxy przerwa [ON/OFF] - Wlacz lub Wylacz prace techniczne");
  178. return false;
  179. }
  180. if ((args[0].equalsIgnoreCase("notify")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  181. {
  182. if (args[1].equalsIgnoreCase("on"))
  183. {
  184. getConfig().set("notify-op", Boolean.valueOf(true));
  185. saveConfig();
  186. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Powiadomienia : " + ChatColor.GREEN + "Wlaczone!");
  187. getLogger().info("Powiadomienia wlaczone");
  188. return true;
  189. }
  190. if (args[1].equalsIgnoreCase("off"))
  191. {
  192. getConfig().set("notify-op", Boolean.valueOf(false));
  193. saveConfig();
  194. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Powiadomienia : " + ChatColor.RED + "Wylaczone!");
  195. getLogger().info("Powiadomienia wylaczone");
  196. return true;
  197. }
  198. sender.sendMessage(ChatColor.GREEN + "/aproxy przerwa [ON/OFF] - Wlacz lub Wylacz prace techniczne");
  199. return false;
  200. }
  201. if ((args[0].equalsIgnoreCase("autoban")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  202. {
  203. if (args[1].equalsIgnoreCase("on"))
  204. {
  205. getConfig().set("autoban-mode", Boolean.valueOf(true));
  206. saveConfig();
  207. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Tryb Autoban zostal: " + ChatColor.GREEN + "Wlaczony!");
  208. getLogger().info("Tryb Autoban zostal wlaczony");
  209. return true;
  210. }
  211. if (args[1].equalsIgnoreCase("off"))
  212. {
  213. getConfig().set("autoban-mode", Boolean.valueOf(false));
  214. saveConfig();
  215. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Tryb Autoban zostal: " + ChatColor.RED + "Wylaczony!");
  216. getLogger().info("Tryb Autoban zostal wylaczony");
  217. return true;
  218. }
  219. sender.sendMessage(ChatColor.GREEN + "/aproxy autoban [ON/OFF] - Wlacz lub Wylacz autoban");
  220. return false;
  221. }
  222. if ((args[0].equalsIgnoreCase("wiadomosc")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  223. {
  224. if (args[1].equalsIgnoreCase("on"))
  225. {
  226. getConfig().set("welcomemsg", Boolean.valueOf(true));
  227. saveConfig();
  228. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Wiadomosci powitalne: " + ChatColor.GREEN + "Wlaczone");
  229. getLogger().info("Wiadomosci powitalne wlaczone");
  230. return true;
  231. }
  232. if (args[1].equalsIgnoreCase("off"))
  233. {
  234. getConfig().set("welcomemsg", Boolean.valueOf(false));
  235. saveConfig();
  236. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Wiadomosci powitalne: " + ChatColor.RED + "Wylaczone");
  237. getLogger().info("Wiadomosci powitalne wylaczone");
  238. return true;
  239. }
  240. sender.sendMessage(ChatColor.GREEN + "/aproxy wiadomosc [ON/OFF] - Wlacz lub Wylacz wiadomosci powitalne.");
  241. return false;
  242. }
  243. if ((args[0].equalsIgnoreCase("ukryj")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  244. {
  245. if (args[1].equalsIgnoreCase("on"))
  246. {
  247. getConfig().set("ukryj", Boolean.valueOf(true));
  248. saveConfig();
  249. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Ukrywanie wiadomosci dolacznia zostaly: " + ChatColor.GREEN + "Wlaczone");
  250. getLogger().info("Wiadomosci dolacznia sa niewidoczne!");
  251. return true;
  252. }
  253. if (args[1].equalsIgnoreCase("off"))
  254. {
  255. getConfig().set("ukryj", Boolean.valueOf(false));
  256. saveConfig();
  257. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] Ukrywanie wiadomosci dolacznia zostaly: " + ChatColor.RED + "Wylaczone");
  258. getLogger().info("Wiadomosci dolacznia sa widoczne!");
  259. return true;
  260. }
  261. sender.sendMessage(ChatColor.GREEN + "/aproxy ukryj [ON/OFF] - Wylacz lub Wlacz ukrywanie wiadomosci dolaczania.");
  262. return false;
  263. }
  264. if (sender.hasPermission(new Permission("antyproxy.admin")))
  265. {
  266. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] " + ChatColor.RED + "Niepoprawna komenda!");
  267. return false;
  268. }
  269. sender.sendMessage(ChatColor.GOLD + "----------------ANTYPROXY------------------");
  270. sender.sendMessage("");
  271. sender.sendMessage(ChatColor.RED + "Nie masz permisji, aby uzyc tej komendy!");
  272. sender.sendMessage("");
  273. sender.sendMessage(ChatColor.GOLD + "-------------------------------------------");
  274. return false;
  275. }
  276. if ((!cmd.getName().equalsIgnoreCase("aproxy")) || (!sender.hasPermission(new Permission("antyproxy.admin")))) {
  277. return false;
  278. }
  279. if ((args[0].equals("getconfig")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  280. {
  281. sender.sendMessage(ChatColor.GOLD + "------------ANTYPROXY v1.2-----------------");
  282. sender.sendMessage("");
  283. if (getConfig().getBoolean("ochrona")) {
  284. sender.sendMessage(ChatColor.GOLD + "Ochrona: " + ChatColor.GREEN + getConfig().getBoolean("ochrona"));
  285. } else {
  286. sender.sendMessage(ChatColor.GOLD + "Ochrona: " + ChatColor.RED + getConfig().getBoolean("ochrona"));
  287. }
  288. if (getConfig().getBoolean("przerwa")) {
  289. sender.sendMessage(ChatColor.GOLD + "Przerwa: " + ChatColor.GREEN + getConfig().getBoolean("przerwa"));
  290. } else {
  291. sender.sendMessage(ChatColor.GOLD + "Przerwa: " + ChatColor.RED + getConfig().getBoolean("przerwa"));
  292. }
  293. if (getConfig().getBoolean("autoban-mode")) {
  294. sender.sendMessage(
  295. ChatColor.GOLD + "Tryb-Autoban: " + ChatColor.GREEN + getConfig().getBoolean("autoban-mode"));
  296. } else {
  297. sender.sendMessage(ChatColor.GOLD + "Tryb-Autoban: " + ChatColor.RED + getConfig().getBoolean("autoban-mode"));
  298. }
  299. if (getConfig().getBoolean("notify-op")) {
  300. sender.sendMessage(ChatColor.GOLD + "Notify-op: " + ChatColor.GREEN + getConfig().getBoolean("notify-op"));
  301. } else {
  302. sender.sendMessage(ChatColor.GOLD + "Notify-op: " + ChatColor.RED + getConfig().getBoolean("notify-op"));
  303. }
  304. if (getConfig().getBoolean("wiadomosc")) {
  305. sender.sendMessage(ChatColor.GOLD + "Wiadomosc powitalna: " + ChatColor.GREEN + getConfig().getBoolean("welcomemsg"));
  306. } else {
  307. sender.sendMessage(ChatColor.GOLD + "Wiadomosc powitalna: " + ChatColor.RED + getConfig().getBoolean("welcomemsg"));
  308. }
  309. if (getConfig().getBoolean("ukryj")) {
  310. sender.sendMessage(ChatColor.GOLD + "Ukrywania dolaczania: " + ChatColor.GREEN + getConfig().getBoolean("hidejoin"));
  311. } else {
  312. sender.sendMessage(ChatColor.GOLD + "Ukrywania dolaczania: " + ChatColor.RED + getConfig().getBoolean("hidejoin"));
  313. }
  314. sender.sendMessage("");
  315. sender.sendMessage(ChatColor.GOLD + "------------------------------------------");
  316. return true;
  317. }
  318. if ((args[0].equals("pomoc")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  319. {
  320. sender.sendMessage(ChatColor.GOLD + "-----------ANTYPROXY v1.2----------------");
  321. sender.sendMessage("");
  322. sender.sendMessage(ChatColor.GREEN + "/aproxy ochrona [ON/OFF] - Wlacz lub Wylacz ochrone");
  323. sender.sendMessage(ChatColor.GREEN + "/aproxy przerwa [ON/OFF] - Wlacz lub Wylacz prace techniczne");
  324. sender.sendMessage(ChatColor.GREEN + "/aproxy autoban [ON/OFF] - Wlacz lub Wylacz autoban");
  325. sender.sendMessage(ChatColor.GREEN + "/aproxy powiadomienia [ON/OFF] - Wlacz lub Wylacz powiadomienia");
  326. sender.sendMessage(ChatColor.GREEN + "/aproxy wiadomosc [ON/OFF] - Wlacz lub Wylacz wiadomosc powitalna.");
  327. sender.sendMessage(ChatColor.GREEN + "/aproxy ukryj [ON/OFF] - Wlacz lub Wylacz ukrywanie wiadomosci dolaczenia.");
  328. sender.sendMessage("");
  329. sender.sendMessage(ChatColor.GREEN + "/aproxy resetujconfig - Ustawienia standardowe configu.");
  330. sender.sendMessage(ChatColor.GREEN + "/aproxy reload - Przeladuj plugin.");
  331. sender.sendMessage("");
  332. sender.sendMessage(ChatColor.GOLD + "------------------------------------------");
  333. return true;
  334. }
  335. if ((args[0].equals("reload")) && (sender.hasPermission(new Permission("antyproxy.admin"))))
  336. {
  337. reloadConfig();
  338. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] " + ChatColor.GREEN + "Config przeladowany!");
  339. return true;
  340. }
  341. if (sender.hasPermission(new Permission("antyproxy.admin")))
  342. {
  343. sender.sendMessage(ChatColor.GOLD + "[AntyProxy] " + ChatColor.RED + "Niepoprawna komenda!");
  344. return false;
  345. }
  346. String NoPermissionsMSG = getConfig().getString("NoPermissionsMSG");
  347. sender.sendMessage(ChatColor.RED + NoPermissionsMSG);
  348. return false;
  349. }
  350.  
  351. public static boolean isBad(String playerip)
  352. {
  353. if ((playerip.equals("127.0.0.1")) || (playerip.matches("192\\.168\\.[01]{1}\\.[0-9]{1,3}"))) {
  354. return false;
  355. }
  356. try
  357. {
  358. URL url = new URL("https://stpprx2server.altervista.org/noproxy.php?ip=" + playerip);
  359. BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
  360. String str = "";
  361. if ((str = br.readLine()) != null)
  362. {
  363. if (str.contains("yes")) {
  364. return true;
  365. }
  366. return false;
  367. }
  368. }
  369. catch (Exception ex)
  370. {
  371. ex.printStackTrace();
  372. }
  373. return false;
  374. }
  375. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement