Add max-retries option to config
This commit is contained in:
@@ -110,6 +110,8 @@ public class Main extends Plugin implements Listener {
|
||||
d.put("commands.pause.paused.true", "&epaused");
|
||||
d.put("commands.pause.paused.false", "&aun-paused");
|
||||
|
||||
d.put("max-tries-reached", "&cUnable to connect to {SERVER}. Max retries reached.");
|
||||
|
||||
msgs = BungeeMessages.getInstance(this, d);
|
||||
|
||||
aliases = new AliasManager(this);
|
||||
@@ -173,6 +175,7 @@ public class Main extends Plugin implements Listener {
|
||||
int pos = queue.indexOf(p);
|
||||
if((pos == 0 && ser.getInfos().contains(p.getServer().getInfo())) || config.getBoolean("remove-player-on-server-switch")) {
|
||||
queue.remove(p);
|
||||
Manager.getInstance().sendingAttempts.remove(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -460,6 +460,7 @@ public class Manager {
|
||||
}
|
||||
|
||||
HashMap<ProxiedPlayer, Long> sendingNowAntiSpam = new HashMap<>();
|
||||
HashMap<ProxiedPlayer, Integer> sendingAttempts = new HashMap<>();
|
||||
|
||||
/**
|
||||
* Attempts to send the first player in this queue
|
||||
@@ -537,6 +538,17 @@ public class Manager {
|
||||
if(s.getQueue().size() <= 0) continue;
|
||||
if(s.isFull() && !nextplayer.hasPermission("ajqueue.joinfull")) continue;
|
||||
|
||||
int tries = sendingAttempts.get(nextplayer) == null ? 0 : sendingAttempts.get(nextplayer);
|
||||
int maxTries = pl.config.getInt("max-tries");
|
||||
if(tries >= maxTries && maxTries > 0) {
|
||||
s.getQueue().remove(nextplayer);
|
||||
sendingAttempts.remove(nextplayer);
|
||||
nextplayer.sendMessage(msgs.getBC("max-tries-reached", "SERVER:"+pl.aliases.getAlias(s.getName())));
|
||||
continue;
|
||||
}
|
||||
tries++;
|
||||
pl.getLogger().info(tries+" tries");
|
||||
sendingAttempts.put(nextplayer, tries);
|
||||
|
||||
if(!sendingNowAntiSpam.containsKey(nextplayer)) {
|
||||
sendingNowAntiSpam.put(nextplayer, (long) 0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Dont touch this number please
|
||||
config-version: 16
|
||||
config-version: 17
|
||||
|
||||
# The time the server will wait between sending people in the queue
|
||||
# Default: 5
|
||||
@@ -137,3 +137,8 @@ send-instantly:
|
||||
# Default: false
|
||||
send-fail-debug: false
|
||||
|
||||
# After how many (unsuccessfull) attempts of sending the player should we remove them from the queue?
|
||||
# Set to -1 to disable
|
||||
# Default: -1
|
||||
max-tries: -1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user