From 21880c668a7024df3d64f029577870512f4e91d1 Mon Sep 17 00:00:00 2001 From: Marc Baloup Date: Wed, 23 Nov 2016 12:47:23 +0100 Subject: [PATCH] Remove modules and startup delay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don’t need them for Pandacube --- module/cmd-alert/nb-configuration.xml | 31 --- module/cmd-alert/pom.xml | 20 -- .../bungee/module/cmd/alert/CommandAlert.java | 47 ---- .../module/cmd/alert/CommandAlertRaw.java | 56 ----- .../bungee/module/cmd/alert/PluginAlert.java | 14 -- .../cmd-alert/src/main/resources/plugin.yml | 5 - module/cmd-find/nb-configuration.xml | 31 --- module/cmd-find/pom.xml | 20 -- .../bungee/module/cmd/find/CommandFind.java | 58 ----- .../bungee/module/cmd/find/PluginFind.java | 13 -- module/cmd-find/src/main/resources/plugin.yml | 5 - module/cmd-kick/nb-configuration.xml | 31 --- module/cmd-kick/pom.xml | 20 -- .../bungee/module/cmd/kick/CommandKick.java | 72 ------- .../bungee/module/cmd/kick/PluginKick.java | 13 -- module/cmd-kick/src/main/resources/plugin.yml | 5 - module/cmd-list/nb-configuration.xml | 31 --- module/cmd-list/pom.xml | 20 -- .../bungee/module/cmd/list/CommandList.java | 79 ------- .../bungee/module/cmd/list/PluginList.java | 13 -- module/cmd-list/src/main/resources/plugin.yml | 5 - module/cmd-send/nb-configuration.xml | 31 --- module/cmd-send/pom.xml | 20 -- .../bungee/module/cmd/send/CommandSend.java | 200 ------------------ .../bungee/module/cmd/send/PluginSend.java | 13 -- module/cmd-send/src/main/resources/plugin.yml | 5 - module/cmd-server/nb-configuration.xml | 31 --- module/cmd-server/pom.xml | 20 -- .../module/cmd/server/CommandServer.java | 104 --------- .../module/cmd/server/PluginServer.java | 13 -- .../cmd-server/src/main/resources/plugin.yml | 5 - module/pom.xml | 55 ----- module/reconnect-yaml/nb-configuration.xml | 31 --- module/reconnect-yaml/pom.xml | 20 -- .../module/reconnect/yaml/PluginYaml.java | 22 -- .../reconnect/yaml/YamlReconnectHandler.java | 115 ---------- .../src/main/resources/plugin.yml | 5 - pom.xml | 1 - .../main/java/net/md_5/bungee/BungeeCord.java | 6 - .../net/md_5/bungee/BungeeCordLauncher.java | 4 +- .../bungee/module/JenkinsModuleSource.java | 35 --- .../net/md_5/bungee/module/ModuleManager.java | 155 -------------- .../net/md_5/bungee/module/ModuleSource.java | 7 - .../net/md_5/bungee/module/ModuleSpec.java | 13 -- .../net/md_5/bungee/module/ModuleVersion.java | 35 --- 45 files changed, 1 insertion(+), 1534 deletions(-) delete mode 100644 module/cmd-alert/nb-configuration.xml delete mode 100644 module/cmd-alert/pom.xml delete mode 100644 module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlert.java delete mode 100644 module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlertRaw.java delete mode 100644 module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/PluginAlert.java delete mode 100644 module/cmd-alert/src/main/resources/plugin.yml delete mode 100644 module/cmd-find/nb-configuration.xml delete mode 100644 module/cmd-find/pom.xml delete mode 100644 module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/CommandFind.java delete mode 100644 module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/PluginFind.java delete mode 100644 module/cmd-find/src/main/resources/plugin.yml delete mode 100644 module/cmd-kick/nb-configuration.xml delete mode 100644 module/cmd-kick/pom.xml delete mode 100644 module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/CommandKick.java delete mode 100644 module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/PluginKick.java delete mode 100644 module/cmd-kick/src/main/resources/plugin.yml delete mode 100644 module/cmd-list/nb-configuration.xml delete mode 100644 module/cmd-list/pom.xml delete mode 100644 module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java delete mode 100644 module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/PluginList.java delete mode 100644 module/cmd-list/src/main/resources/plugin.yml delete mode 100644 module/cmd-send/nb-configuration.xml delete mode 100644 module/cmd-send/pom.xml delete mode 100644 module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/CommandSend.java delete mode 100644 module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/PluginSend.java delete mode 100644 module/cmd-send/src/main/resources/plugin.yml delete mode 100644 module/cmd-server/nb-configuration.xml delete mode 100644 module/cmd-server/pom.xml delete mode 100644 module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java delete mode 100644 module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/PluginServer.java delete mode 100644 module/cmd-server/src/main/resources/plugin.yml delete mode 100644 module/pom.xml delete mode 100644 module/reconnect-yaml/nb-configuration.xml delete mode 100644 module/reconnect-yaml/pom.xml delete mode 100644 module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/PluginYaml.java delete mode 100644 module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/YamlReconnectHandler.java delete mode 100644 module/reconnect-yaml/src/main/resources/plugin.yml delete mode 100644 proxy/src/main/java/net/md_5/bungee/module/JenkinsModuleSource.java delete mode 100644 proxy/src/main/java/net/md_5/bungee/module/ModuleManager.java delete mode 100644 proxy/src/main/java/net/md_5/bungee/module/ModuleSource.java delete mode 100644 proxy/src/main/java/net/md_5/bungee/module/ModuleSpec.java delete mode 100644 proxy/src/main/java/net/md_5/bungee/module/ModuleVersion.java diff --git a/module/cmd-alert/nb-configuration.xml b/module/cmd-alert/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-alert/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-alert/pom.xml b/module/cmd-alert/pom.xml deleted file mode 100644 index fd6bb27e..00000000 --- a/module/cmd-alert/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-alert - 1.21-R0.1-SNAPSHOT - jar - - cmd_alert - Provides the alert and alertraw commands - diff --git a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlert.java b/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlert.java deleted file mode 100644 index 3b1354ac..00000000 --- a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlert.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.md_5.bungee.module.cmd.alert; - -import java.util.Locale; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.TextComponent; -import net.md_5.bungee.api.plugin.Command; - -public class CommandAlert extends Command -{ - - public CommandAlert() - { - super( "alert", "bungeecord.command.alert" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - if ( args.length == 0 ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "message_needed" ) ); - } else - { - StringBuilder builder = new StringBuilder(); - if ( args[0].toLowerCase( Locale.ROOT ).startsWith( "&h" ) ) - { - // Remove &h - args[0] = args[0].substring( 2 ); - } else - { - builder.append( ProxyServer.getInstance().getTranslation( "alert" ) ); - } - - for ( String s : args ) - { - builder.append( ChatColor.translateAlternateColorCodes( '&', s ) ); - builder.append( " " ); - } - - String message = builder.substring( 0, builder.length() - 1 ); - - ProxyServer.getInstance().broadcast( TextComponent.fromLegacy( message ) ); - } - } -} diff --git a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlertRaw.java b/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlertRaw.java deleted file mode 100644 index 7292899d..00000000 --- a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/CommandAlertRaw.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.md_5.bungee.module.cmd.alert; - -import com.google.common.base.Joiner; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.plugin.Command; -import net.md_5.bungee.chat.ComponentSerializer; - -public class CommandAlertRaw extends Command -{ - - public CommandAlertRaw() - { - super( "alertraw", "bungeecord.command.alert" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - if ( args.length == 0 ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "message_needed" ) ); - } else - { - String message = Joiner.on( ' ' ).join( args ); - - try - { - ProxyServer.getInstance().broadcast( ComponentSerializer.parse( message ) ); - } catch ( Exception e ) - { - Throwable error = e; - while ( error.getCause() != null ) - { - error = error.getCause(); - } - if ( sender instanceof ProxiedPlayer ) - { - sender.sendMessage( new ComponentBuilder( ProxyServer.getInstance().getTranslation( "error_occurred_player" ) ) - .event( new HoverEvent( HoverEvent.Action.SHOW_TEXT, new ComponentBuilder( error.getMessage() ) - .color( ChatColor.RED ) - .create() ) ) - .create() - ); - } else - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "error_occurred_console", error.getMessage() ) ); - } - } - } - } -} diff --git a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/PluginAlert.java b/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/PluginAlert.java deleted file mode 100644 index b6f84865..00000000 --- a/module/cmd-alert/src/main/java/net/md_5/bungee/module/cmd/alert/PluginAlert.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.md_5.bungee.module.cmd.alert; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginAlert extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandAlert() ); - getProxy().getPluginManager().registerCommand( this, new CommandAlertRaw() ); - } -} diff --git a/module/cmd-alert/src/main/resources/plugin.yml b/module/cmd-alert/src/main/resources/plugin.yml deleted file mode 100644 index 8ed58084..00000000 --- a/module/cmd-alert/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.alert.PluginAlert -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/cmd-find/nb-configuration.xml b/module/cmd-find/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-find/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-find/pom.xml b/module/cmd-find/pom.xml deleted file mode 100644 index a679a54a..00000000 --- a/module/cmd-find/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-find - 1.21-R0.1-SNAPSHOT - jar - - cmd_find - Provides the find command - diff --git a/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/CommandFind.java b/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/CommandFind.java deleted file mode 100644 index 912cb0c2..00000000 --- a/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/CommandFind.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.md_5.bungee.module.cmd.find; - -import java.util.Collections; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.command.PlayerCommand; - -public class CommandFind extends PlayerCommand -{ - - public CommandFind() - { - super( "find", "bungeecord.command.find" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - if ( args.length != 1 ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "username_needed" ) ); - } else - { - ProxiedPlayer player = ProxyServer.getInstance().getPlayer( args[0] ); - if ( player == null || player.getServer() == null ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "user_not_online" ) ); - } else - { - boolean moduleLoaded = ProxyServer.getInstance().getPluginManager().getPlugin( "cmd_server" ) != null; - ServerInfo server = player.getServer().getInfo(); - ComponentBuilder componentBuilder = new ComponentBuilder().appendLegacy( ProxyServer.getInstance().getTranslation( "user_online_at", player.getName(), server.getName() ) ); - - if ( moduleLoaded && server.canAccess( sender ) ) - { - componentBuilder.event( new HoverEvent( - HoverEvent.Action.SHOW_TEXT, - new ComponentBuilder().appendLegacy( ProxyServer.getInstance().getTranslation( "click_to_connect" ) ).create() ) - ); - componentBuilder.event( new ClickEvent( ClickEvent.Action.RUN_COMMAND, "/server " + server.getName() ) ); - } - - sender.sendMessage( componentBuilder.create() ); - } - } - } - - @Override - public Iterable onTabComplete(CommandSender sender, String[] args) - { - return args.length == 1 ? super.onTabComplete( sender, args ) : Collections.emptyList(); - } -} diff --git a/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/PluginFind.java b/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/PluginFind.java deleted file mode 100644 index 63757214..00000000 --- a/module/cmd-find/src/main/java/net/md_5/bungee/module/cmd/find/PluginFind.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module.cmd.find; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginFind extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandFind() ); - } -} diff --git a/module/cmd-find/src/main/resources/plugin.yml b/module/cmd-find/src/main/resources/plugin.yml deleted file mode 100644 index e0f346f9..00000000 --- a/module/cmd-find/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.find.PluginFind -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/cmd-kick/nb-configuration.xml b/module/cmd-kick/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-kick/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-kick/pom.xml b/module/cmd-kick/pom.xml deleted file mode 100644 index 8f79be48..00000000 --- a/module/cmd-kick/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-kick - 1.21-R0.1-SNAPSHOT - jar - - cmd_kick - Provides the gkick command - diff --git a/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/CommandKick.java b/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/CommandKick.java deleted file mode 100644 index 2750873a..00000000 --- a/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/CommandKick.java +++ /dev/null @@ -1,72 +0,0 @@ -package net.md_5.bungee.module.cmd.kick; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; -import java.util.HashSet; -import java.util.Locale; -import java.util.Set; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.TextComponent; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.plugin.Command; -import net.md_5.bungee.api.plugin.TabExecutor; - -public class CommandKick extends Command implements TabExecutor -{ - - public CommandKick() - { - super( "gkick", "bungeecord.command.kick" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - if ( args.length == 0 ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "username_needed" ) ); - } else - { - ProxiedPlayer player = ProxyServer.getInstance().getPlayer( args[0] ); - - if ( player == null ) - { - sender.sendMessage( TextComponent.fromLegacy( ProxyServer.getInstance().getTranslation( "user_not_online" ) ) ); - return; - } - - if ( args.length == 1 ) - { - player.disconnect( TextComponent.fromLegacy( ProxyServer.getInstance().getTranslation( "kick_message" ) ) ); - } else - { - String[] reason = new String[ args.length - 1 ]; - System.arraycopy( args, 1, reason, 0, reason.length ); - player.disconnect( TextComponent.fromLegacy( ChatColor.translateAlternateColorCodes( '&', Joiner.on( ' ' ).join( reason ) ) ) ); - } - } - } - - @Override - public Iterable onTabComplete(CommandSender sender, String[] args) - { - if ( args.length == 1 ) - { - Set matches = new HashSet<>(); - String search = args[0].toLowerCase( Locale.ROOT ); - for ( ProxiedPlayer player : ProxyServer.getInstance().getPlayers() ) - { - if ( player.getName().toLowerCase( Locale.ROOT ).startsWith( search ) ) - { - matches.add( player.getName() ); - } - } - return matches; - } else - { - return ImmutableSet.of(); - } - } -} diff --git a/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/PluginKick.java b/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/PluginKick.java deleted file mode 100644 index 82b2332b..00000000 --- a/module/cmd-kick/src/main/java/net/md_5/bungee/module/cmd/kick/PluginKick.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module.cmd.kick; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginKick extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandKick() ); - } -} diff --git a/module/cmd-kick/src/main/resources/plugin.yml b/module/cmd-kick/src/main/resources/plugin.yml deleted file mode 100644 index 142d6901..00000000 --- a/module/cmd-kick/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.kick.PluginKick -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/cmd-list/nb-configuration.xml b/module/cmd-list/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-list/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-list/pom.xml b/module/cmd-list/pom.xml deleted file mode 100644 index 39e7b998..00000000 --- a/module/cmd-list/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-list - 1.21-R0.1-SNAPSHOT - jar - - cmd_list - Provides the glist command - diff --git a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java b/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java deleted file mode 100644 index 31a064ed..00000000 --- a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java +++ /dev/null @@ -1,79 +0,0 @@ -package net.md_5.bungee.module.cmd.list; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.hover.content.Text; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.plugin.Command; -import net.md_5.bungee.api.plugin.TabExecutor; - -/** - * Command to list all players connected to the proxy. - */ -public class CommandList extends Command implements TabExecutor -{ - - public CommandList() - { - super( "glist", "bungeecord.command.list" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - boolean hideEmptyServers = ( args.length == 0 ) || !args[0].equalsIgnoreCase( "all" ); - boolean moduleLoaded = ProxyServer.getInstance().getPluginManager().getPlugin( "cmd_server" ) != null; - - for ( ServerInfo server : ProxyServer.getInstance().getServers().values() ) - { - if ( !server.canAccess( sender ) ) - { - continue; - } - - Collection serverPlayers = server.getPlayers(); - if ( hideEmptyServers && serverPlayers.isEmpty() ) - { - continue; - } - - List players = new ArrayList<>(); - for ( ProxiedPlayer player : serverPlayers ) - { - players.add( player.getDisplayName() ); - } - Collections.sort( players, String.CASE_INSENSITIVE_ORDER ); - - BaseComponent baseComponent = new ComponentBuilder().appendLegacy( ProxyServer.getInstance().getTranslation( "command_list", server.getName(), players.size(), String.join( ChatColor.RESET + ", ", players ) ) ).build(); - - if ( moduleLoaded ) - { - baseComponent.setHoverEvent( new HoverEvent( - HoverEvent.Action.SHOW_TEXT, - new Text( new ComponentBuilder().appendLegacy( ProxyServer.getInstance().getTranslation( "click_to_connect" ) ).create() ) ) - ); - baseComponent.setClickEvent( new ClickEvent( ClickEvent.Action.RUN_COMMAND, "/server " + server.getName() ) ); - } - - sender.sendMessage( baseComponent ); - } - - sender.sendMessage( ProxyServer.getInstance().getTranslation( "total_players", ProxyServer.getInstance().getOnlineCount() ) ); - } - - @Override - public Iterable onTabComplete(CommandSender sender, String[] args) - { - return ( args.length > 1 ) ? Collections.emptyList() : Collections.singletonList( "all" ); - } -} diff --git a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/PluginList.java b/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/PluginList.java deleted file mode 100644 index e2a196c1..00000000 --- a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/PluginList.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module.cmd.list; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginList extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandList() ); - } -} diff --git a/module/cmd-list/src/main/resources/plugin.yml b/module/cmd-list/src/main/resources/plugin.yml deleted file mode 100644 index 272e64eb..00000000 --- a/module/cmd-list/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.list.PluginList -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/cmd-send/nb-configuration.xml b/module/cmd-send/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-send/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-send/pom.xml b/module/cmd-send/pom.xml deleted file mode 100644 index fe51d004..00000000 --- a/module/cmd-send/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-send - 1.21-R0.1-SNAPSHOT - jar - - cmd_send - Provides the gsend command - diff --git a/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/CommandSend.java b/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/CommandSend.java deleted file mode 100644 index 01cab610..00000000 --- a/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/CommandSend.java +++ /dev/null @@ -1,200 +0,0 @@ -package net.md_5.bungee.module.cmd.send; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import net.md_5.bungee.api.Callback; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.ServerConnectRequest; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.event.ServerConnectEvent; -import net.md_5.bungee.api.plugin.Command; -import net.md_5.bungee.api.plugin.TabExecutor; - -public class CommandSend extends Command implements TabExecutor -{ - - protected static class SendCallback - { - - private final Map> results = new HashMap<>(); - private final CommandSender sender; - private int count = 0; - - public SendCallback(CommandSender sender) - { - this.sender = sender; - for ( ServerConnectRequest.Result result : ServerConnectRequest.Result.values() ) - { - results.put( result, Collections.synchronizedList( new ArrayList<>() ) ); - } - } - - public void lastEntryDone() - { - sender.sendMessage( ChatColor.GREEN.toString() + ChatColor.BOLD + "Send Results:" ); - for ( Map.Entry> entry : results.entrySet() ) - { - ComponentBuilder builder = new ComponentBuilder( "" ); - if ( !entry.getValue().isEmpty() ) - { - builder.event( new HoverEvent( HoverEvent.Action.SHOW_TEXT, - new ComponentBuilder( Joiner.on( ", " ).join( entry.getValue() ) ).color( ChatColor.YELLOW ).create() ) ); - } - builder.append( entry.getKey().name() + ": " ).color( ChatColor.GREEN ); - builder.append( "" + entry.getValue().size() ).bold( true ); - sender.sendMessage( builder.create() ); - } - } - - public static class Entry implements Callback - { - - private final SendCallback callback; - private final ProxiedPlayer player; - private final ServerInfo target; - - public Entry(SendCallback callback, ProxiedPlayer player, ServerInfo target) - { - this.callback = callback; - this.player = player; - this.target = target; - this.callback.count++; - } - - @Override - public void done(ServerConnectRequest.Result result, Throwable error) - { - callback.results.get( result ).add( player.getName() ); - if ( result == ServerConnectRequest.Result.SUCCESS ) - { - player.sendMessage( ProxyServer.getInstance().getTranslation( "you_got_summoned", target.getName(), callback.sender.getName() ) ); - } - - if ( --callback.count == 0 ) - { - callback.lastEntryDone(); - } - } - } - } - - public CommandSend() - { - super( "send", "bungeecord.command.send" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - if ( args.length != 2 ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "send_cmd_usage" ) ); - return; - } - ServerInfo server = ProxyServer.getInstance().getServerInfo( args[1] ); - if ( server == null ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "no_server" ) ); - return; - } - - List targets; - if ( args[0].equalsIgnoreCase( "all" ) ) - { - targets = new ArrayList<>( ProxyServer.getInstance().getPlayers() ); - } else if ( args[0].equalsIgnoreCase( "current" ) ) - { - if ( !( sender instanceof ProxiedPlayer ) ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "player_only" ) ); - return; - } - ProxiedPlayer player = (ProxiedPlayer) sender; - targets = new ArrayList<>( player.getServer().getInfo().getPlayers() ); - } else - { - // If we use a server name, send the entire server. This takes priority over players. - ServerInfo serverTarget = ProxyServer.getInstance().getServerInfo( args[0] ); - if ( serverTarget != null ) - { - targets = new ArrayList<>( serverTarget.getPlayers() ); - } else - { - ProxiedPlayer player = ProxyServer.getInstance().getPlayer( args[0] ); - if ( player == null ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "user_not_online" ) ); - return; - } - targets = Collections.singletonList( player ); - } - } - - final SendCallback callback = new SendCallback( sender ); - for ( ProxiedPlayer player : targets ) - { - ServerConnectRequest request = ServerConnectRequest.builder() - .target( server ) - .reason( ServerConnectEvent.Reason.COMMAND ) - .callback( new SendCallback.Entry( callback, player, server ) ) - .build(); - player.connect( request ); - } - - sender.sendMessage( ChatColor.DARK_GREEN + "Attempting to send " + targets.size() + " players to " + server.getName() ); - } - - @Override - public Iterable onTabComplete(CommandSender sender, String[] args) - { - if ( args.length > 2 || args.length == 0 ) - { - return ImmutableSet.of(); - } - - Set matches = new HashSet<>(); - if ( args.length == 1 ) - { - String search = args[0].toLowerCase( Locale.ROOT ); - for ( ProxiedPlayer player : ProxyServer.getInstance().getPlayers() ) - { - if ( player.getName().toLowerCase( Locale.ROOT ).startsWith( search ) ) - { - matches.add( player.getName() ); - } - } - if ( "all".startsWith( search ) ) - { - matches.add( "all" ); - } - if ( "current".startsWith( search ) ) - { - matches.add( "current" ); - } - } else - { - String search = args[1].toLowerCase( Locale.ROOT ); - for ( String server : ProxyServer.getInstance().getServers().keySet() ) - { - if ( server.toLowerCase( Locale.ROOT ).startsWith( search ) ) - { - matches.add( server ); - } - } - } - return matches; - } -} diff --git a/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/PluginSend.java b/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/PluginSend.java deleted file mode 100644 index 4d4cf822..00000000 --- a/module/cmd-send/src/main/java/net/md_5/bungee/module/cmd/send/PluginSend.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module.cmd.send; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginSend extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandSend() ); - } -} diff --git a/module/cmd-send/src/main/resources/plugin.yml b/module/cmd-send/src/main/resources/plugin.yml deleted file mode 100644 index a613e78b..00000000 --- a/module/cmd-send/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.send.PluginSend -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/cmd-server/nb-configuration.xml b/module/cmd-server/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/cmd-server/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/cmd-server/pom.xml b/module/cmd-server/pom.xml deleted file mode 100644 index bc1409aa..00000000 --- a/module/cmd-server/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-cmd-server - 1.21-R0.1-SNAPSHOT - jar - - cmd_server - Provides the server command - diff --git a/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java b/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java deleted file mode 100644 index 59c104d3..00000000 --- a/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java +++ /dev/null @@ -1,104 +0,0 @@ -package net.md_5.bungee.module.cmd.server; - -import com.google.common.base.Function; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import java.util.Collections; -import java.util.Locale; -import java.util.Map; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.TextComponent; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.event.ServerConnectEvent; -import net.md_5.bungee.api.plugin.Command; -import net.md_5.bungee.api.plugin.TabExecutor; - -/** - * Command to list and switch a player between available servers. - */ -public class CommandServer extends Command implements TabExecutor -{ - - public CommandServer() - { - super( "server", "bungeecord.command.server" ); - } - - @Override - public void execute(CommandSender sender, String[] args) - { - Map servers = ProxyServer.getInstance().getServers(); - if ( args.length == 0 ) - { - if ( sender instanceof ProxiedPlayer ) - { - sender.sendMessage( ProxyServer.getInstance().getTranslation( "current_server", ( (ProxiedPlayer) sender ).getServer().getInfo().getName() ) ); - } - - ComponentBuilder serverList = new ComponentBuilder().appendLegacy( ProxyServer.getInstance().getTranslation( "server_list" ) ); - boolean first = true; - for ( ServerInfo server : servers.values() ) - { - if ( server.canAccess( sender ) ) - { - TextComponent serverTextComponent = new TextComponent( first ? server.getName() : ", " + server.getName() ); - int count = server.getPlayers().size(); - serverTextComponent.setHoverEvent( new HoverEvent( - HoverEvent.Action.SHOW_TEXT, - new ComponentBuilder( count + ( count == 1 ? " player" : " players" ) + "\n" ).appendLegacy( ProxyServer.getInstance().getTranslation( "click_to_connect" ) ).create() ) - ); - serverTextComponent.setClickEvent( new ClickEvent( ClickEvent.Action.RUN_COMMAND, "/server " + server.getName() ) ); - serverList.append( serverTextComponent ); - first = false; - } - } - sender.sendMessage( serverList.create() ); - } else - { - if ( !( sender instanceof ProxiedPlayer ) ) - { - return; - } - ProxiedPlayer player = (ProxiedPlayer) sender; - - ServerInfo server = servers.get( args[0] ); - if ( server == null ) - { - player.sendMessage( ProxyServer.getInstance().getTranslation( "no_server" ) ); - } else if ( !server.canAccess( player ) ) - { - player.sendMessage( ProxyServer.getInstance().getTranslation( "no_server_permission" ) ); - } else - { - player.connect( server, ServerConnectEvent.Reason.COMMAND ); - } - } - } - - @Override - public Iterable onTabComplete(final CommandSender sender, final String[] args) - { - return ( args.length > 1 ) ? Collections.EMPTY_LIST : Iterables.transform( Iterables.filter( ProxyServer.getInstance().getServers().values(), new Predicate() - { - private final String lower = ( args.length == 0 ) ? "" : args[0].toLowerCase( Locale.ROOT ); - - @Override - public boolean apply(ServerInfo input) - { - return input.getName().toLowerCase( Locale.ROOT ).startsWith( lower ) && input.canAccess( sender ); - } - } ), new Function() - { - @Override - public String apply(ServerInfo input) - { - return input.getName(); - } - } ); - } -} diff --git a/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/PluginServer.java b/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/PluginServer.java deleted file mode 100644 index 4aaae7ec..00000000 --- a/module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/PluginServer.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module.cmd.server; - -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginServer extends Plugin -{ - - @Override - public void onEnable() - { - getProxy().getPluginManager().registerCommand( this, new CommandServer() ); - } -} diff --git a/module/cmd-server/src/main/resources/plugin.yml b/module/cmd-server/src/main/resources/plugin.yml deleted file mode 100644 index 006f3e3f..00000000 --- a/module/cmd-server/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.cmd.server.PluginServer -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/module/pom.xml b/module/pom.xml deleted file mode 100644 index cea355bd..00000000 --- a/module/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-parent - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - pom - - BungeeCord Modules - Parent project for all BungeeCord modules. - - - cmd-alert - cmd-find - cmd-kick - cmd-list - cmd-send - cmd-server - reconnect-yaml - - - - SpigotMC - true - true - - - - - net.md-5 - bungeecord-api - ${project.version} - compile - - - - - ${project.name} - - - true - ${basedir}/src/main/resources - - - - diff --git a/module/reconnect-yaml/nb-configuration.xml b/module/reconnect-yaml/nb-configuration.xml deleted file mode 100644 index 7e465924..00000000 --- a/module/reconnect-yaml/nb-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - project - NEW_LINE - NEW_LINE - NEW_LINE - true - true - true - true - true - true - true - true - true - true - - diff --git a/module/reconnect-yaml/pom.xml b/module/reconnect-yaml/pom.xml deleted file mode 100644 index f1fb430a..00000000 --- a/module/reconnect-yaml/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - - - net.md-5 - bungeecord-module - 1.21-R0.1-SNAPSHOT - ../pom.xml - - - net.md-5 - bungeecord-module-reconnect-yaml - 1.21-R0.1-SNAPSHOT - jar - - reconnect_yaml - Provides reconnect location functionality in locations.yml - diff --git a/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/PluginYaml.java b/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/PluginYaml.java deleted file mode 100644 index 0d77ce2a..00000000 --- a/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/PluginYaml.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.md_5.bungee.module.reconnect.yaml; - -import net.md_5.bungee.api.config.ListenerInfo; -import net.md_5.bungee.api.plugin.Plugin; - -public class PluginYaml extends Plugin -{ - - @Override - public void onEnable() - { - // TODO: Abstract this for other reconnect modules - for ( ListenerInfo info : getProxy().getConfig().getListeners() ) - { - if ( !info.isForceDefault() && getProxy().getReconnectHandler() == null ) - { - getProxy().setReconnectHandler( new YamlReconnectHandler() ); - break; - } - } - } -} diff --git a/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/YamlReconnectHandler.java b/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/YamlReconnectHandler.java deleted file mode 100644 index 3a514a76..00000000 --- a/module/reconnect-yaml/src/main/java/net/md_5/bungee/module/reconnect/yaml/YamlReconnectHandler.java +++ /dev/null @@ -1,115 +0,0 @@ -package net.md_5.bungee.module.reconnect.yaml; - -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.logging.Level; -import net.md_5.bungee.api.AbstractReconnectHandler; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.util.CaseInsensitiveMap; -import org.yaml.snakeyaml.Yaml; - -public class YamlReconnectHandler extends AbstractReconnectHandler -{ - - private final Yaml yaml = new Yaml(); - private final File file = new File( "locations.yml" ); - private final ReadWriteLock lock = new ReentrantReadWriteLock(); - /*========================================================================*/ - private CaseInsensitiveMap data; - - @SuppressWarnings("unchecked") - public YamlReconnectHandler() - { - try - { - file.createNewFile(); - try ( FileReader rd = new FileReader( file ) ) - { - Map map = yaml.loadAs( rd, Map.class ); - if ( map != null ) - { - data = new CaseInsensitiveMap<>( map ); - } - } - } catch ( Exception ex ) - { - file.renameTo( new File( "locations.yml.old" ) ); - ProxyServer.getInstance().getLogger().log( Level.WARNING, "Could not load reconnect locations, resetting them" ); - } - - if ( data == null ) - { - data = new CaseInsensitiveMap<>(); - } - } - - @Override - protected ServerInfo getStoredServer(ProxiedPlayer player) - { - ServerInfo server = null; - lock.readLock().lock(); - try - { - server = ProxyServer.getInstance().getServerInfo( data.get( key( player ) ) ); - } finally - { - lock.readLock().unlock(); - } - return server; - } - - @Override - public void setServer(ProxiedPlayer player) - { - lock.writeLock().lock(); - try - { - data.put( key( player ), ( player.getReconnectServer() != null ) ? player.getReconnectServer().getName() : player.getServer().getInfo().getName() ); - } finally - { - lock.writeLock().unlock(); - } - } - - private String key(ProxiedPlayer player) - { - InetSocketAddress host = player.getPendingConnection().getVirtualHost(); - return player.getName() + ";" + host.getHostString() + ":" + host.getPort(); - } - - @Override - public void save() - { - Map copy = new HashMap<>(); - lock.readLock().lock(); - try - { - copy.putAll( data ); - } finally - { - lock.readLock().unlock(); - } - - try ( FileWriter wr = new FileWriter( file ) ) - { - yaml.dump( copy, wr ); - } catch ( IOException ex ) - { - ProxyServer.getInstance().getLogger().log( Level.WARNING, "Could not save reconnect locations", ex ); - } - } - - @Override - public void close() - { - } -} diff --git a/module/reconnect-yaml/src/main/resources/plugin.yml b/module/reconnect-yaml/src/main/resources/plugin.yml deleted file mode 100644 index 451e3c61..00000000 --- a/module/reconnect-yaml/src/main/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: ${project.name} -main: net.md_5.bungee.module.reconnect.yaml.PluginYaml -version: ${describe} -description: ${project.description} -author: ${module.author} diff --git a/pom.xml b/pom.xml index 7a41e464..b23a38f4 100644 --- a/pom.xml +++ b/pom.xml @@ -37,7 +37,6 @@ config event log - module protocol proxy query diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index e7f3f09a..ec396a55 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -91,7 +91,6 @@ import net.md_5.bungee.forge.ForgeConstants; import net.md_5.bungee.log.BungeeLogger; import net.md_5.bungee.log.LoggingForwardHandler; import net.md_5.bungee.log.LoggingOutputStream; -import net.md_5.bungee.module.ModuleManager; import net.md_5.bungee.netty.PipelineUtils; import net.md_5.bungee.protocol.DefinedPacket; import net.md_5.bungee.protocol.ProtocolConstants; @@ -176,7 +175,6 @@ public class BungeeCord extends ProxyServer .registerTypeAdapter( Favicon.class, Favicon.getFaviconTypeAdapter() ).create(); @Getter private ConnectionThrottle connectionThrottle; - private final ModuleManager moduleManager = new ModuleManager(); { // TODO: Proper fallback when we interface the manager @@ -274,10 +272,6 @@ public class BungeeCord extends ProxyServer eventLoops = PipelineUtils.newEventLoopGroup( 0, new ThreadFactoryBuilder().setNameFormat( "Netty IO Thread #%1$d" ).build() ); - File moduleDirectory = new File( "modules" ); - moduleManager.load( this, moduleDirectory ); - pluginManager.detectPlugins( moduleDirectory ); - pluginsFolder.mkdir(); pluginManager.detectPlugins( pluginsFolder ); diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java b/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java index 7281d6b2..ca93d603 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java @@ -5,7 +5,6 @@ import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date; -import java.util.concurrent.TimeUnit; import joptsimple.OptionParser; import joptsimple.OptionSet; import net.md_5.bungee.api.ChatColor; @@ -56,8 +55,7 @@ public class BungeeCordLauncher System.err.println( "*** Warning, this build is outdated ***" ); System.err.println( "*** Please download a new build from http://ci.md-5.net/job/BungeeCord ***" ); System.err.println( "*** You will get NO support regarding this build ***" ); - System.err.println( "*** Server will start in 10 seconds ***" ); - Thread.sleep( TimeUnit.SECONDS.toMillis( 10 ) ); + } } diff --git a/proxy/src/main/java/net/md_5/bungee/module/JenkinsModuleSource.java b/proxy/src/main/java/net/md_5/bungee/module/JenkinsModuleSource.java deleted file mode 100644 index 064639f3..00000000 --- a/proxy/src/main/java/net/md_5/bungee/module/JenkinsModuleSource.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.md_5.bungee.module; - -import com.google.common.io.ByteStreams; -import com.google.common.io.Files; -import java.io.IOException; -import java.net.URL; -import java.net.URLConnection; -import lombok.Data; -import net.md_5.bungee.Util; -import net.md_5.bungee.api.ProxyServer; - -@Data -public class JenkinsModuleSource implements ModuleSource -{ - - @Override - public void retrieve(ModuleSpec module, ModuleVersion version) - { - ProxyServer.getInstance().getLogger().info( "Attempting to Jenkins download module " + module.getName() + " v" + version.getBuild() ); - try - { - URL website = new URL( "https://ci.md-5.net/job/BungeeCord/" + version.getBuild() + "/artifact/module/" + module.getName().replace( '_', '-' ) + "/target/" + module.getName() + ".jar" ); - URLConnection con = website.openConnection(); - // 15 second timeout at various stages - con.setConnectTimeout( 15000 ); - con.setReadTimeout( 15000 ); - - Files.write( ByteStreams.toByteArray( con.getInputStream() ), module.getFile() ); - ProxyServer.getInstance().getLogger().info( "Download complete" ); - } catch ( IOException ex ) - { - ProxyServer.getInstance().getLogger().warning( "Failed to download: " + Util.exception( ex ) ); - } - } -} diff --git a/proxy/src/main/java/net/md_5/bungee/module/ModuleManager.java b/proxy/src/main/java/net/md_5/bungee/module/ModuleManager.java deleted file mode 100644 index d3c50b0f..00000000 --- a/proxy/src/main/java/net/md_5/bungee/module/ModuleManager.java +++ /dev/null @@ -1,155 +0,0 @@ -package net.md_5.bungee.module; - -import com.google.common.base.Preconditions; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileWriter; -import java.io.InputStream; -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.logging.Level; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.plugin.PluginDescription; -import net.md_5.bungee.util.CaseInsensitiveMap; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; - -public class ModuleManager -{ - - private final Map knownSources = new HashMap<>(); - - public ModuleManager() - { - knownSources.put( "jenkins", new JenkinsModuleSource() ); - } - - // CHECKSTYLE:OFF - @SuppressFBWarnings( - { - "SF_SWITCH_FALLTHROUGH", "SF_SWITCH_NO_DEFAULT" - }) - // CHECKSTYLE:ON - public void load(ProxyServer proxy, File moduleDirectory) throws Exception - { - moduleDirectory.mkdir(); - - ModuleVersion bungeeVersion = ModuleVersion.parse( proxy.getVersion() ); - if ( bungeeVersion == null ) - { - proxy.getLogger().warning( "Couldn't detect bungee version. Custom build?" ); - return; - } - - List modules = new ArrayList<>(); - File configFile = new File( "modules.yml" ); - // Start Yaml - DumperOptions options = new DumperOptions(); - options.setDefaultFlowStyle( DumperOptions.FlowStyle.BLOCK ); - Yaml yaml = new Yaml( options ); - - Map config; - - configFile.createNewFile(); - try ( InputStream is = new FileInputStream( configFile ) ) - { - config = (Map) yaml.load( is ); - } - - if ( config == null ) - { - config = new CaseInsensitiveMap<>(); - } else - { - config = new CaseInsensitiveMap<>( config ); - } - // End yaml - - List defaults = new ArrayList<>(); - Object readModules = config.get( "modules" ); - if ( readModules != null ) - { - defaults.addAll( (Collection) readModules ); - } - int version = ( config.containsKey( "version" ) ) ? (int) config.get( "version" ) : 0; - switch ( version ) - { - case 0: - defaults.add( "jenkins://cmd_alert" ); - defaults.add( "jenkins://cmd_find" ); - defaults.add( "jenkins://cmd_list" ); - defaults.add( "jenkins://cmd_send" ); - defaults.add( "jenkins://cmd_server" ); - case 1: - defaults.add( "jenkins://reconnect_yaml" ); - } - config.put( "modules", defaults ); - config.put( "version", 2 ); - - try ( FileWriter wr = new FileWriter( configFile ) ) - { - yaml.dump( config, wr ); - } - - for ( String s : (List) config.get( "modules" ) ) - { - URI uri = new URI( s ); - - ModuleSource source = knownSources.get( uri.getScheme() ); - if ( source == null ) - { - proxy.getLogger().warning( "Unknown module source: " + s ); - continue; - } - String name = uri.getAuthority(); - if ( name == null ) - { - proxy.getLogger().warning( "Unknown module host: " + s ); - continue; - } - - ModuleSpec spec = new ModuleSpec( name, new File( moduleDirectory, name + ".jar" ), source ); - modules.add( spec ); - proxy.getLogger().info( "Discovered module: " + spec ); - } - - for ( ModuleSpec module : modules ) - { - ModuleVersion moduleVersion = ( module.getFile().exists() ) ? getVersion( module.getFile() ) : null; - - if ( !bungeeVersion.equals( moduleVersion ) ) - { - proxy.getLogger().info( "Attempting to update plugin from " + moduleVersion + " to " + bungeeVersion ); - module.getProvider().retrieve( module, bungeeVersion ); - } - } - } - - @SuppressFBWarnings("REC_CATCH_EXCEPTION") - private ModuleVersion getVersion(File file) - { - try ( JarFile jar = new JarFile( file ) ) - { - JarEntry pdf = jar.getJarEntry( "plugin.yml" ); - Preconditions.checkNotNull( pdf, "Plugin must have a plugin.yml" ); - - try ( InputStream in = jar.getInputStream( pdf ) ) - { - PluginDescription desc = new Yaml().loadAs( in, PluginDescription.class ); - return ModuleVersion.parse( desc.getVersion() ); - } - } catch ( Exception ex ) - { - ProxyServer.getInstance().getLogger().log( Level.WARNING, "Could not check module from file " + file, ex ); - } - - return null; - } -} diff --git a/proxy/src/main/java/net/md_5/bungee/module/ModuleSource.java b/proxy/src/main/java/net/md_5/bungee/module/ModuleSource.java deleted file mode 100644 index 09f5624c..00000000 --- a/proxy/src/main/java/net/md_5/bungee/module/ModuleSource.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.md_5.bungee.module; - -interface ModuleSource -{ - - void retrieve(ModuleSpec module, ModuleVersion version); -} diff --git a/proxy/src/main/java/net/md_5/bungee/module/ModuleSpec.java b/proxy/src/main/java/net/md_5/bungee/module/ModuleSpec.java deleted file mode 100644 index ebf6cf67..00000000 --- a/proxy/src/main/java/net/md_5/bungee/module/ModuleSpec.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.md_5.bungee.module; - -import java.io.File; -import lombok.Data; - -@Data -public class ModuleSpec -{ - - private final String name; - private final File file; - private final ModuleSource provider; -} diff --git a/proxy/src/main/java/net/md_5/bungee/module/ModuleVersion.java b/proxy/src/main/java/net/md_5/bungee/module/ModuleVersion.java deleted file mode 100644 index d52b8106..00000000 --- a/proxy/src/main/java/net/md_5/bungee/module/ModuleVersion.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.md_5.bungee.module; - -import lombok.AccessLevel; -import lombok.Data; -import lombok.RequiredArgsConstructor; - -@Data -@RequiredArgsConstructor(access = AccessLevel.PRIVATE) -public class ModuleVersion -{ - - private final String build; - private final String git; - - public static ModuleVersion parse(String version) - { - int lastColon = version.lastIndexOf( ':' ); - int secondLastColon = version.lastIndexOf( ':', lastColon - 1 ); - - if ( lastColon == -1 || secondLastColon == -1 ) - { - return null; - } - - String buildNumber = version.substring( lastColon + 1, version.length() ); - String gitCommit = version.substring( secondLastColon + 1, lastColon ).replaceAll( "\"", "" ); - - if ( "unknown".equals( buildNumber ) || "unknown".equals( gitCommit ) ) - { - return null; - } - - return new ModuleVersion( buildNumber, gitCommit ); - } -}