antispam sending now message
This commit is contained in:
@@ -484,6 +484,9 @@ public class Manager {
|
|||||||
public void sendPlayers() {
|
public void sendPlayers() {
|
||||||
sendPlayers(null);
|
sendPlayers(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HashMap<ProxiedPlayer, Long> sendingNowAntiSpam = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attempts to send the first player in this queue
|
* Attempts to send the first player in this queue
|
||||||
* @param server The server to send the first player in the queue. null for all servers.
|
* @param server The server to send the first player in the queue. null for all servers.
|
||||||
@@ -506,6 +509,9 @@ public class Manager {
|
|||||||
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
||||||
ServerInfo selected = null;
|
ServerInfo selected = null;
|
||||||
int selectednum = 0;
|
int selectednum = 0;
|
||||||
|
if(serverInfos.keySet().size() == 1) {
|
||||||
|
selected = serverInfos.keySet().iterator().next();
|
||||||
|
} else {
|
||||||
for(ServerInfo si : serverInfos.keySet()) {
|
for(ServerInfo si : serverInfos.keySet()) {
|
||||||
ServerPing sp = serverInfos.get(si);
|
ServerPing sp = serverInfos.get(si);
|
||||||
int online = sp.getPlayers().getOnline();
|
int online = sp.getPlayers().getOnline();
|
||||||
@@ -520,6 +526,7 @@ public class Manager {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(selected == null) {
|
if(selected == null) {
|
||||||
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
||||||
continue;
|
continue;
|
||||||
@@ -549,13 +556,24 @@ public class Manager {
|
|||||||
if(s.getQueue().size() <= 0) continue;
|
if(s.getQueue().size() <= 0) continue;
|
||||||
if(s.isFull() && !nextplayer.hasPermission("ajqueue.joinfull")) continue;
|
if(s.isFull() && !nextplayer.hasPermission("ajqueue.joinfull")) continue;
|
||||||
|
|
||||||
nextplayer.sendMessage(Main.formatMessage(msgs.get("status.sending-now").replaceAll("\\{SERVER\\}", pl.aliases.getAlias(name))));
|
|
||||||
|
if(!sendingNowAntiSpam.containsKey(nextplayer)) {
|
||||||
|
sendingNowAntiSpam.put(nextplayer, (long) 0);
|
||||||
|
}
|
||||||
|
if(System.currentTimeMillis() - sendingNowAntiSpam.get(nextplayer) >= 5000) {
|
||||||
|
nextplayer.sendMessage(msgs.getBC("status.sending-now", "SERVER:"+pl.aliases.getAlias(s.getName())));
|
||||||
|
sendingNowAntiSpam.put(nextplayer, System.currentTimeMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
||||||
ServerInfo selected = null;
|
ServerInfo selected = null;
|
||||||
int selectednum = 0;
|
int selectednum = 0;
|
||||||
|
if(serverInfos.keySet().size() == 1) {
|
||||||
|
selected = serverInfos.keySet().iterator().next();
|
||||||
|
} else {
|
||||||
for(ServerInfo si : serverInfos.keySet()) {
|
for(ServerInfo si : serverInfos.keySet()) {
|
||||||
ServerPing sp = serverInfos.get(si);
|
ServerPing sp = serverInfos.get(si);
|
||||||
if(sp == null) continue;
|
|
||||||
int online = sp.getPlayers().getOnline();
|
int online = sp.getPlayers().getOnline();
|
||||||
if(selected == null) {
|
if(selected == null) {
|
||||||
selected = si;
|
selected = si;
|
||||||
@@ -568,6 +586,7 @@ public class Manager {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(selected == null) {
|
if(selected == null) {
|
||||||
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user