Try to fix spambot resource leak #719
This commit is contained in:
parent
53043ddc0d
commit
4d06b63e64
@ -39,6 +39,7 @@ import org.bukkit.event.inventory.InventoryOpenEvent;
|
|||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
||||||
import org.bukkit.event.player.PlayerBedEnterEvent;
|
import org.bukkit.event.player.PlayerBedEnterEvent;
|
||||||
|
import org.bukkit.event.player.PlayerChatEvent;
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
import org.bukkit.event.player.PlayerFishEvent;
|
import org.bukkit.event.player.PlayerFishEvent;
|
||||||
@ -55,6 +56,9 @@ import org.bukkit.event.player.PlayerRespawnEvent;
|
|||||||
import org.bukkit.event.player.PlayerShearEntityEvent;
|
import org.bukkit.event.player.PlayerShearEntityEvent;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -89,6 +93,7 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
@Inject
|
@Inject
|
||||||
private ValidationService validationService;
|
private ValidationService validationService;
|
||||||
|
|
||||||
|
/*
|
||||||
private void handleChat(AsyncPlayerChatEvent event) {
|
private void handleChat(AsyncPlayerChatEvent event) {
|
||||||
if (settings.getProperty(RestrictionSettings.ALLOW_CHAT)) {
|
if (settings.getProperty(RestrictionSettings.ALLOW_CHAT)) {
|
||||||
return;
|
return;
|
||||||
@ -106,6 +111,7 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
private void sendLoginOrRegisterMessage(final Player player) {
|
private void sendLoginOrRegisterMessage(final Player player) {
|
||||||
bukkitService.runTaskAsynchronously(new Runnable() {
|
bukkitService.runTaskAsynchronously(new Runnable() {
|
||||||
@ -144,6 +150,33 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
sendLoginOrRegisterMessage(event.getPlayer());
|
sendLoginOrRegisterMessage(event.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// I think it should be sync! -sgdc3
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOW)
|
||||||
|
public void onPlayerNormalChat(PlayerChatEvent event) {
|
||||||
|
if (settings.getProperty(RestrictionSettings.ALLOW_CHAT)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
if (shouldCancelEvent(player)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
// TODO: a spambot calls this too often, too may threads checking if auth is available.
|
||||||
|
// Possible solution: add a cooldown.
|
||||||
|
// sendLoginOrRegisterMessage(player);
|
||||||
|
} else if (settings.getProperty(RestrictionSettings.HIDE_CHAT)) {
|
||||||
|
Set<Player> recipients = event.getRecipients();
|
||||||
|
Iterator<Player> iter = recipients.iterator();
|
||||||
|
if(iter.hasNext()) {
|
||||||
|
Player p = iter.next();
|
||||||
|
if(PlayerCache.getInstance().isAuthenticated(p.getName())) {
|
||||||
|
iter.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
|
||||||
public void onPlayerNormalChat(AsyncPlayerChatEvent event) {
|
public void onPlayerNormalChat(AsyncPlayerChatEvent event) {
|
||||||
handleChat(event);
|
handleChat(event);
|
||||||
@ -168,6 +201,7 @@ public class AuthMePlayerListener implements Listener {
|
|||||||
public void onPlayerLowChat(AsyncPlayerChatEvent event) {
|
public void onPlayerLowChat(AsyncPlayerChatEvent event) {
|
||||||
handleChat(event);
|
handleChat(event);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
||||||
public void onPlayerMove(PlayerMoveEvent event) {
|
public void onPlayerMove(PlayerMoveEvent event) {
|
||||||
|
|||||||
@ -1,26 +1,24 @@
|
|||||||
package fr.xephi.authme.listener;
|
package fr.xephi.authme.listener;
|
||||||
|
|
||||||
|
/*
|
||||||
import fr.xephi.authme.settings.NewSetting;
|
import fr.xephi.authme.settings.NewSetting;
|
||||||
import fr.xephi.authme.settings.SpawnLoader;
|
import fr.xephi.authme.settings.SpawnLoader;
|
||||||
import fr.xephi.authme.settings.properties.RestrictionSettings;
|
|
||||||
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
*/
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Listener of player events for events introduced in Minecraft 1.9.
|
* Listener of player events for events introduced in Minecraft 1.9.
|
||||||
*/
|
*/
|
||||||
public class AuthMePlayerListener19 implements Listener {
|
public class AuthMePlayerListener19 implements Listener {
|
||||||
|
|
||||||
|
/*
|
||||||
@Inject
|
@Inject
|
||||||
private SpawnLoader spawnLoader;
|
private SpawnLoader spawnLoader;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private NewSetting settings;
|
private NewSetting settings;
|
||||||
|
*/
|
||||||
|
|
||||||
/* WTF was that? We need to check all the settings before moving the player to the spawn!
|
/* WTF was that? We need to check all the settings before moving the player to the spawn!
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user