Skip to content

Commit

Permalink
Correct default access rules for restricted servers
Browse files Browse the repository at this point in the history
  • Loading branch information
ME1312 committed Nov 21, 2018
1 parent 4ca476c commit d877e80
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 2 deletions.
Expand Up @@ -808,7 +808,7 @@ public void execute(CommandSender sender, String[] args) {
TextComponent serverm = new TextComponent(ChatColor.RESET.toString());
TextComponent div = new TextComponent(plugin.api.getLang("SubServers", "Bungee.Server.Divider"));
for (Server server : plugin.api.getServers().values()) {
if (!server.isHidden() && (!(server instanceof SubServer) || ((SubServer) server).isRunning())) {
if (!server.isHidden() && server.canAccess(sender) && (!(server instanceof SubServer) || ((SubServer) server).isRunning())) {
if (i != 0) serverm.addExtra(div);
TextComponent message = new TextComponent(plugin.api.getLang("SubServers", "Bungee.Server.List").replace("$str$", server.getDisplayName()));
try {
Expand Down
Expand Up @@ -709,6 +709,7 @@ public Map<String, ServerInfo> getServers() {
return servers;
}

@SuppressWarnings("deprecation")
@EventHandler(priority = Byte.MAX_VALUE)
public void reroute(ServerConnectEvent e) {
Map<String, ServerInfo> servers = new TreeMap<String, ServerInfo>(api.getServers());
Expand All @@ -720,6 +721,11 @@ public void reroute(ServerConnectEvent e) {
e.setTarget(servers.get(e.getTarget().getName()));
}
}

if (!e.getTarget().canAccess(e.getPlayer())) {
e.setCancelled(true);
e.getPlayer().sendMessage(getTranslation("no_server_permission"));
}
}

@SuppressWarnings("deprecation")
Expand Down
Expand Up @@ -805,7 +805,7 @@ public void execute(CommandSender sender, String[] args) {
TextComponent serverm = new TextComponent(ChatColor.RESET.toString());
TextComponent div = new TextComponent(plugin.api.getLang("SubServers", "Bungee.Server.Divider"));
for (ServerContainer server : plugin.servers.values()) {
if (!server.isHidden() && (!(server instanceof SubServerContainer) || ((SubServerContainer) server).isRunning())) {
if (!server.isHidden() && server.canAccess(sender) && (!(server instanceof SubServerContainer) || ((SubServerContainer) server).isRunning())) {
if (i != 0) serverm.addExtra(div);
TextComponent message = new TextComponent(plugin.api.getLang("SubServers", "Bungee.Server.List").replace("$str$", server.getDisplayName()));
try {
Expand Down
6 changes: 6 additions & 0 deletions SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java
Expand Up @@ -238,6 +238,7 @@ public void stopListeners() {
super.stopListeners();
}

@SuppressWarnings("deprecation")
@EventHandler(priority = Byte.MAX_VALUE)
public void reroute(ServerConnectEvent e) {
Map<String, ServerInfo> servers = new TreeMap<String, ServerInfo>(this.servers);
Expand All @@ -249,6 +250,11 @@ public void reroute(ServerConnectEvent e) {
e.setTarget(servers.get(e.getTarget().getName()));
}
}

if (!e.getTarget().canAccess(e.getPlayer())) {
e.setCancelled(true);
e.getPlayer().sendMessage(getTranslation("no_server_permission"));
}
}

@SuppressWarnings("deprecation")
Expand Down

0 comments on commit d877e80

Please sign in to comment.