From da383026e504f53bc6a1bbd54a5b0df91b0f4469 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Fri, 26 May 2017 16:32:25 +0200 Subject: [PATCH 01/19] Version 4.5 Update to Spigot 1.12-pre5 Improved API --- pom.xml | 6 ++--- .../bukkittelnet/BukkitTelnet.java | 4 +++ .../bukkittelnet/PlayerEventListener.java | 1 - .../bukkittelnet/SocketListener.java | 6 +++++ .../bukkittelnet/TelnetServer.java | 8 +++--- .../totalfreedom/bukkittelnet/api/Server.java | 13 ++++++---- .../session/SessionCommandSender.java | 25 +++++++++++++++++++ .../bukkittelnet/thirdparty/YamlConfig.java | 6 ++++- src/main/resources/config.yml | 2 +- src/main/resources/plugin.yml | 2 +- 10 files changed, 58 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 43988ff..4fe4fa5 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ me.totalfreedom bukkittelnet - 4.4 + 4.5 jar @@ -45,14 +45,14 @@ org.spigotmc spigot-api - 1.9-R0.1-SNAPSHOT + 1.12-pre5-SNAPSHOT compile org.projectlombok lombok - 1.16.6 + 1.16.16 provided diff --git a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java index dd302e0..64e439a 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java @@ -1,7 +1,9 @@ package me.totalfreedom.bukkittelnet; +import me.totalfreedom.bukkittelnet.api.Server; import org.bukkit.Bukkit; import org.bukkit.event.HandlerList; +import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.java.JavaPlugin; public class BukkitTelnet extends JavaPlugin @@ -37,6 +39,8 @@ public class BukkitTelnet extends JavaPlugin getServer().getPluginManager().registerEvents(listener, plugin); + getServer().getServicesManager().register(Server.class, telnet, this, ServicePriority.Normal); + TelnetLogger.info(plugin.getName() + " v" + plugin.getDescription().getVersion() + " enabled"); } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java index 050a952..e9d3b7a 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java @@ -11,7 +11,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerKickEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; diff --git a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java index 578655c..57ad292 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java @@ -7,6 +7,7 @@ import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -149,4 +150,9 @@ public class SocketListener extends Thread clientSessions.clear(); } + + public List getSessions() + { + return Collections.unmodifiableList(clientSessions); + } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/TelnetServer.java b/src/main/java/me/totalfreedom/bukkittelnet/TelnetServer.java index 9dcb89c..248014a 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/TelnetServer.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/TelnetServer.java @@ -4,9 +4,11 @@ import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.UnknownHostException; +import java.util.List; import lombok.Getter; import me.totalfreedom.bukkittelnet.TelnetConfigLoader.TelnetConfig; import me.totalfreedom.bukkittelnet.api.Server; +import me.totalfreedom.bukkittelnet.session.ClientSession; public class TelnetServer implements Server { @@ -15,7 +17,7 @@ public class TelnetServer implements Server private final BukkitTelnet plugin; @Getter private final TelnetConfig config; - // + @Getter private SocketListener socketListener; public TelnetServer(BukkitTelnet plugin, TelnetConfig config) @@ -92,9 +94,9 @@ public class TelnetServer implements Server } @Override - public SocketListener getSocketListener() + public List getSessions() { - return socketListener; + return socketListener.getSessions(); } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java b/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java index 0fffc1e..4755fbe 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java @@ -1,11 +1,9 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package me.totalfreedom.bukkittelnet.api; +import java.util.List; import me.totalfreedom.bukkittelnet.SocketListener; +import me.totalfreedom.bukkittelnet.TelnetConfigLoader.TelnetConfig; +import me.totalfreedom.bukkittelnet.session.ClientSession; public interface Server { @@ -14,6 +12,11 @@ public interface Server public void stopServer(); + @Deprecated public SocketListener getSocketListener(); + public TelnetConfig getConfig(); + + public List getSessions(); + } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java index c61814e..98e104a 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java @@ -1,6 +1,7 @@ package me.totalfreedom.bukkittelnet.session; import java.util.Set; +import net.md_5.bungee.api.chat.BaseComponent; import org.bukkit.Bukkit; import org.bukkit.Server; import org.bukkit.command.ConsoleCommandSender; @@ -156,4 +157,28 @@ public class SessionCommandSender implements ConsoleCommandSender session.writeRawLine(string); } + @Override + public Spigot spigot() + { + return new Spigot() + { + + @Override + public void sendMessage(BaseComponent component) + { + SessionCommandSender.this.sendMessage(component.toPlainText()); + } + + @Override + public void sendMessage(BaseComponent... components) + { + for (BaseComponent bc : components) + { + sendMessage(bc); + } + } + + }; + } + } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/thirdparty/YamlConfig.java b/src/main/java/me/totalfreedom/bukkittelnet/thirdparty/YamlConfig.java index c9d1196..de484bc 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/thirdparty/YamlConfig.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/thirdparty/YamlConfig.java @@ -2,7 +2,10 @@ package me.totalfreedom.bukkittelnet.thirdparty; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringWriter; import org.apache.commons.lang.exception.ExceptionUtils; +import org.apache.logging.log4j.core.util.IOUtils; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.Plugin; @@ -138,7 +141,8 @@ public class YamlConfig extends YamlConfiguration final YamlConfiguration DEFAULT_CONFIG = new YamlConfiguration(); try { - DEFAULT_CONFIG.load(PLUGIN.getResource(CONFIG_FILE.getName())); + final String configString = IOUtils.toString(new InputStreamReader(PLUGIN.getResource(CONFIG_FILE.getName()))); + DEFAULT_CONFIG.loadFromString(configString); } catch (Throwable ex) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 81ccde1..e3f0f95 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,4 @@ -# BukkitTelnet v4.2 Configuration File +# BukkitTelnet v4.5 Configuration File # Address to listen on, leave blank for all address: '' diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 33c9e6a..938a8d9 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: BukkitTelnet main: me.totalfreedom.bukkittelnet.BukkitTelnet -version: 4.4 +version: 4.5 description: Telnet console access plugin. authors: [bekvon, Madgeek1450, Prozza] From 3e57ef87bfd9bd6f32a3e79c26c9df443d15897e Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Mon, 9 Sep 2019 22:18:46 -0700 Subject: [PATCH 02/19] 1.14 --- pom.xml | 14 +++++++++++++- .../bukkittelnet/api/TelnetCommandEvent.java | 5 ++++- .../totalfreedom/bukkittelnet/api/TelnetEvent.java | 8 -------- .../bukkittelnet/api/TelnetPreLoginEvent.java | 6 +++++- .../api/TelnetRequestDataTagsEvent.java | 4 +++- 5 files changed, 25 insertions(+), 12 deletions(-) delete mode 100644 src/main/java/me/totalfreedom/bukkittelnet/api/TelnetEvent.java diff --git a/pom.xml b/pom.xml index 4fe4fa5..2ba7f4a 100644 --- a/pom.xml +++ b/pom.xml @@ -39,13 +39,18 @@ spigot https://hub.spigotmc.org/nexus/content/groups/public/ + + + maven-central + https://repo1.maven.org/maven2/ + org.spigotmc spigot-api - 1.12-pre5-SNAPSHOT + 1.14.4-R0.1-SNAPSHOT compile @@ -63,6 +68,13 @@ compile + + com.googlecode.json-simple + json-simple + 1.1.1 + + + diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java index 53fbe95..c76f91b 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java @@ -1,10 +1,12 @@ package me.totalfreedom.bukkittelnet.api; +import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -public class TelnetCommandEvent extends TelnetEvent implements Cancellable +public class TelnetCommandEvent extends Event implements Cancellable { private static final HandlerList handlers = new HandlerList(); @@ -15,6 +17,7 @@ public class TelnetCommandEvent extends TelnetEvent implements Cancellable public TelnetCommandEvent(CommandSender sender, String command) { + super(!Bukkit.getServer().isPrimaryThread()); this.cancelled = false; this.sender = sender; this.command = command; diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetEvent.java deleted file mode 100644 index e124f6a..0000000 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetEvent.java +++ /dev/null @@ -1,8 +0,0 @@ -package me.totalfreedom.bukkittelnet.api; - -import org.bukkit.event.server.ServerEvent; - -public abstract class TelnetEvent extends ServerEvent -{ - -} diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java index ef46c8b..1f4f2f9 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java @@ -2,8 +2,10 @@ package me.totalfreedom.bukkittelnet.api; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; +import org.bukkit.Bukkit; +import org.bukkit.event.Event; -public class TelnetPreLoginEvent extends TelnetEvent implements Cancellable +public class TelnetPreLoginEvent extends Event implements Cancellable { private static final HandlerList handlers = new HandlerList(); @@ -15,6 +17,7 @@ public class TelnetPreLoginEvent extends TelnetEvent implements Cancellable public TelnetPreLoginEvent(String ip, String name, boolean bypassPassword) { + super(!Bukkit.getServer().isPrimaryThread()); this.ip = ip; this.name = name; this.bypassPassword = bypassPassword; @@ -26,6 +29,7 @@ public class TelnetPreLoginEvent extends TelnetEvent implements Cancellable return cancelled; } + @Override public void setCancelled(boolean cancel) { diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java index c02b810..a196af6 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java @@ -4,9 +4,10 @@ import java.util.HashMap; import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -public class TelnetRequestDataTagsEvent extends TelnetEvent +public class TelnetRequestDataTagsEvent extends Event { private static final HandlerList handlers = new HandlerList(); @@ -14,6 +15,7 @@ public class TelnetRequestDataTagsEvent extends TelnetEvent public TelnetRequestDataTagsEvent() { + super(!Bukkit.getServer().isPrimaryThread()); for (final Player player : Bukkit.getServer().getOnlinePlayers()) { dataTags.put(player, new HashMap()); From 66124908d92f4d607a482bc1016137f340f3c364 Mon Sep 17 00:00:00 2001 From: Robinson Gallego Date: Mon, 10 Feb 2020 15:50:45 -0500 Subject: [PATCH 03/19] mmmmm --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2ba7f4a..29fd90b 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ org.spigotmc spigot-api - 1.14.4-R0.1-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT compile From 541e9fdb844fbebfdd1e978e27bf7c370e1ce656 Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Sun, 29 Mar 2020 23:05:25 -0700 Subject: [PATCH 04/19] ZTC stuff --- pom.xml | 14 ++-- .../bukkittelnet/PlayerEventListener.java | 73 +++++++++++++++++++ .../bukkittelnet/SocketListener.java | 14 ++++ .../api/TelnetRequestUsageEvent.java | 22 ++++++ .../bukkittelnet/session/ClientSession.java | 28 ++++++- 5 files changed, 143 insertions(+), 8 deletions(-) create mode 100644 src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestUsageEvent.java diff --git a/pom.xml b/pom.xml index 29fd90b..10621d6 100644 --- a/pom.xml +++ b/pom.xml @@ -39,10 +39,9 @@ spigot https://hub.spigotmc.org/nexus/content/groups/public/ - - maven-central - https://repo1.maven.org/maven2/ + ess-repo + https://ci.ender.zone/plugin/repository/everything/ @@ -50,7 +49,7 @@ org.spigotmc spigot-api - 1.15.2-R0.1-SNAPSHOT + 1.15-R0.1-SNAPSHOT compile @@ -69,9 +68,10 @@ - com.googlecode.json-simple - json-simple - 1.1.1 + net.ess3 + EssentialsX + 2.16.1 + provided diff --git a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java index e9d3b7a..dd77535 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java @@ -1,9 +1,12 @@ package me.totalfreedom.bukkittelnet; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import me.totalfreedom.bukkittelnet.api.TelnetRequestDataTagsEvent; +import me.totalfreedom.bukkittelnet.api.TelnetRequestUsageEvent; import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -12,14 +15,18 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.plugin.Plugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import com.earth2me.essentials.Essentials; public class PlayerEventListener implements Listener { + private static Essentials essentials = null; + private final BukkitTelnet plugin; public PlayerEventListener(BukkitTelnet plugin) @@ -39,6 +46,18 @@ public class PlayerEventListener implements Listener triggerPlayerListUpdates(); } + public static Essentials getEssentials() + { + Plugin ess = Bukkit.getPluginManager().getPlugin("Essentials"); + if (ess instanceof Essentials) + { + essentials = (Essentials)ess; + return essentials; + } + return null; + + } + private static BukkitTask updateTask = null; public void triggerPlayerListUpdates() @@ -99,4 +118,58 @@ public class PlayerEventListener implements Listener return response.toJSONString(); } + + private static BukkitTask usageUpdateTask = null; + + // Just putting this stuff here + public void triggerUsageUpdates() + { + if (usageUpdateTask != null) + { + return; + } + + usageUpdateTask= new BukkitRunnable() + { + @Override + public void run() + { + final SocketListener socketListener = plugin.telnet.getSocketListener(); + if (socketListener != null) + { + final TelnetRequestUsageEvent event = new TelnetRequestUsageEvent(); + Bukkit.getServer().getPluginManager().callEvent(event); + socketListener.triggerDataUsageUpdates(generateUsageStats()); + } + } + }.runTaskTimer(plugin, 100L, 100L); // every 5 seconds + } + + + @SuppressWarnings("unchecked") + private static String generateUsageStats() + { + if (essentials == null) + { + essentials = getEssentials(); + } + + final HashMap info = new HashMap<>(); + + String cpuUsage = null; + String ramUsage = null; + String tps = null; + + if (essentials != null) + { + tps = String.valueOf(String.valueOf(new BigDecimal(essentials.getTimer().getAverageTPS()).setScale(1, RoundingMode.CEILING))); + } + + info.put("tps", tps); + + final JSONObject data = new JSONObject(); + data.putAll(info); + + return data.toJSONString(); + } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java index 57ad292..3c97ba9 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java @@ -131,6 +131,20 @@ public class SocketListener extends Thread } } + public void triggerDataUsageUpdates(final String usageData) + { + final Iterator it = clientSessions.iterator(); + + while (it.hasNext()) + { + final ClientSession session = it.next(); + if (session != null) + { + session.syncUsageUpdate(usageData); + } + } + } + public void stopServer() { try diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestUsageEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestUsageEvent.java new file mode 100644 index 0000000..55187ea --- /dev/null +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestUsageEvent.java @@ -0,0 +1,22 @@ +package me.totalfreedom.bukkittelnet.api; + +import org.bukkit.Bukkit; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +public class TelnetRequestUsageEvent extends Event +{ + + private static final HandlerList handlers = new HandlerList(); + + public TelnetRequestUsageEvent() + { + super(!Bukkit.getServer().isPrimaryThread()); + } + + @Override + public HandlerList getHandlers() + { + return handlers; + } +} diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java index 7b75993..5ccbf0d 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java @@ -39,7 +39,8 @@ public final class ClientSession extends Thread private String username = ""; private volatile boolean terminated = false; private volatile boolean authenticated = false; - private volatile boolean enhancedMode = false; + private boolean enhancedMode = false; + private boolean enhancedPlusMode = false; public ClientSession(TelnetServer telnet, Socket clientSocket) { @@ -84,6 +85,8 @@ public final class ClientSession extends Thread mainLoop(); syncTerminateSession(); + + telnet.getPlugin().listener.triggerUsageUpdates(); } public boolean syncIsAuthenticated() @@ -472,6 +475,11 @@ public final class ClientSession extends Thread telnet.getPlugin().listener.triggerPlayerListUpdates(); } } + else if ("telnet.enhancedplus".equalsIgnoreCase(command)) + { + enhancedPlusMode = !enhancedPlusMode; + writeLine((enhancedPlusMode ? "A" : "Dea") + "ctivated enhanced+ mode."); + } else { writeLine("Invalid telnet command, use \"telnet.help\" to view help."); @@ -495,4 +503,22 @@ public final class ClientSession extends Thread writeLine("playerList~" + playerListData); } } + + public void syncUsageUpdate(String usageData) + { + if (!enhancedPlusMode) + { + return; + } + + synchronized (clientSocket) + { + if (clientSocket.isClosed()) + { + return; + } + + writeLine("usage~" + usageData); + } + } } From f9ebc49c12f8655e4f29c4046dcdb9acda2719b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Nov 2020 14:43:34 +0000 Subject: [PATCH 05/19] Bump log4j-core from 2.5 to 2.13.2 Bumps log4j-core from 2.5 to 2.13.2. Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 10621d6..665d440 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,7 @@ org.apache.logging.log4j log4j-core - 2.5 + 2.13.2 compile From 3e367eecca8e8c386fe9091511532b39464964a6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 29 Dec 2020 14:44:41 +0000 Subject: [PATCH 06/19] Create maven.yml --- .github/workflows/maven.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..c8aeb3a --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,24 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Build with Maven + run: mvn -B package --file pom.xml From 932f5dcf37f8a62e64864688d2ec95b6992c3040 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 29 Dec 2020 14:45:10 +0000 Subject: [PATCH 07/19] Create codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 67 +++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..0e57514 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,67 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '39 23 * * 4' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From e35273ca766bfe9049b6ba9f9b04c8a152128205 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 29 Dec 2020 14:46:16 +0000 Subject: [PATCH 08/19] Create codacy-analysis.yml --- .github/workflows/codacy-analysis.yml | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/codacy-analysis.yml diff --git a/.github/workflows/codacy-analysis.yml b/.github/workflows/codacy-analysis.yml new file mode 100644 index 0000000..20344eb --- /dev/null +++ b/.github/workflows/codacy-analysis.yml @@ -0,0 +1,46 @@ +# This workflow checks out code, performs a Codacy security scan +# and integrates the results with the +# GitHub Advanced Security code scanning feature. For more information on +# the Codacy security scan action usage and parameters, see +# https://github.com/codacy/codacy-analysis-cli-action. +# For more information on Codacy Analysis CLI in general, see +# https://github.com/codacy/codacy-analysis-cli. + +name: Codacy Security Scan + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + codacy-security-scan: + name: Codacy Security Scan + runs-on: ubuntu-latest + steps: + # Checkout the repository to the GitHub Actions runner + - name: Checkout code + uses: actions/checkout@v2 + + # Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis + - name: Run Codacy Analysis CLI + uses: codacy/codacy-analysis-cli-action@1.1.0 + with: + # Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository + # You can also omit the token and run the tools that support default configurations + project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} + verbose: true + output: results.sarif + format: sarif + # Adjust severity of non-security issues + gh-code-scanning-compat: true + # Force 0 exit code to allow SARIF file generation + # This will handover control about PR rejection to the GitHub side + max-allowed-issues: 2147483647 + + # Upload the SARIF file generated in the previous step + - name: Upload SARIF results file + uses: github/codeql-action/upload-sarif@v1 + with: + sarif_file: results.sarif From 343680081598f359826bf1ddb4b1834ac8115880 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 4 Feb 2021 20:12:08 -0500 Subject: [PATCH 09/19] updated legacy version to support 1.16.5 --- pom.xml | 2 +- .../session/SessionCommandSender.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 665d440..9665ea2 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ org.spigotmc spigot-api - 1.15-R0.1-SNAPSHOT + 1.16.5-R0.1-SNAPSHOT compile diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java index 98e104a..03957ed 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java @@ -1,6 +1,7 @@ package me.totalfreedom.bukkittelnet.session; import java.util.Set; +import java.util.UUID; import net.md_5.bungee.api.chat.BaseComponent; import org.bukkit.Bukkit; import org.bukkit.Server; @@ -181,4 +182,19 @@ public class SessionCommandSender implements ConsoleCommandSender }; } + @Override + public void sendMessage(UUID uuid, String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void sendMessage(UUID uuid, String[] strings) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void sendRawMessage(UUID uuid, String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + } From 2c4ad8df025c13e82bdedee45e64521443aaf159 Mon Sep 17 00:00:00 2001 From: Nathan Curran <30569566+Focusvity@users.noreply.github.com> Date: Thu, 24 Jun 2021 21:25:56 +1000 Subject: [PATCH 10/19] Optimising BukkitTelnet --- .gitignore | 1 + pom.xml | 40 ++++++++++++---- .../bukkittelnet/PlayerEventListener.java | 47 ++++++++----------- .../bukkittelnet/SocketListener.java | 34 ++------------ .../bukkittelnet/TelnetLogAppender.java | 5 +- .../totalfreedom/bukkittelnet/api/Server.java | 13 ++--- .../api/TelnetRequestDataTagsEvent.java | 2 +- .../bukkittelnet/session/ClientSession.java | 23 ++++----- .../bukkittelnet/session/FilterMode.java | 2 +- 9 files changed, 77 insertions(+), 90 deletions(-) diff --git a/.gitignore b/.gitignore index 27af358..398cee9 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ manifest.mf .Trashes ehthumbs.db Thumbs.db +dependency-reduced-pom.xml diff --git a/pom.xml b/pom.xml index 9665ea2..7f490b4 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 me.totalfreedom @@ -56,38 +57,59 @@ org.projectlombok lombok - 1.16.16 + 1.18.20 provided org.apache.logging.log4j log4j-core - 2.13.2 + 2.14.1 compile net.ess3 EssentialsX - 2.16.1 + 2.18.2 provided - + + org.json + json + 20210307 + compile + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + false + + + + + org.apache.maven.plugins maven-compiler-plugin - 3.3 + 3.8.1 - 1.7 - 1.7 - 1.7 + 11 + 11 diff --git a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java index dd77535..b068548 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java @@ -1,10 +1,6 @@ package me.totalfreedom.bukkittelnet; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; +import com.earth2me.essentials.Essentials; import me.totalfreedom.bukkittelnet.api.TelnetRequestDataTagsEvent; import me.totalfreedom.bukkittelnet.api.TelnetRequestUsageEvent; import org.apache.commons.lang.StringUtils; @@ -18,9 +14,13 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.plugin.Plugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import com.earth2me.essentials.Essentials; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.HashMap; +import java.util.Map; public class PlayerEventListener implements Listener { @@ -51,7 +51,7 @@ public class PlayerEventListener implements Listener Plugin ess = Bukkit.getPluginManager().getPlugin("Essentials"); if (ess instanceof Essentials) { - essentials = (Essentials)ess; + essentials = (Essentials) ess; return essentials; } return null; @@ -88,35 +88,30 @@ public class PlayerEventListener implements Listener { final JSONArray players = new JSONArray(); - final Iterator>> dataTagsIt = dataTags.entrySet().iterator(); - while (dataTagsIt.hasNext()) + for (Map.Entry> playerMapEntry : dataTags.entrySet()) { final HashMap info = new HashMap<>(); - final Map.Entry> dataTagsEntry = dataTagsIt.next(); - final Player player = dataTagsEntry.getKey(); - final Map playerTags = dataTagsEntry.getValue(); + final Player player = playerMapEntry.getKey(); + final Map playerTags = playerMapEntry.getValue(); info.put("name", player.getName()); info.put("ip", player.getAddress().getAddress().getHostAddress()); info.put("displayName", StringUtils.trimToEmpty(player.getDisplayName())); info.put("uuid", player.getUniqueId().toString()); - final Iterator> playerTagsIt = playerTags.entrySet().iterator(); - while (playerTagsIt.hasNext()) + for (Map.Entry playerTagsEntry : playerTags.entrySet()) { - final Map.Entry playerTagsEntry = playerTagsIt.next(); final Object value = playerTagsEntry.getValue(); info.put(playerTagsEntry.getKey(), value != null ? value.toString() : "null"); } - players.add(info); + players.put(info); } final JSONObject response = new JSONObject(); response.put("players", players); - - return response.toJSONString(); + return response.toString(); } private static BukkitTask usageUpdateTask = null; @@ -129,7 +124,7 @@ public class PlayerEventListener implements Listener return; } - usageUpdateTask= new BukkitRunnable() + usageUpdateTask = new BukkitRunnable() { @Override public void run() @@ -154,7 +149,7 @@ public class PlayerEventListener implements Listener essentials = getEssentials(); } - final HashMap info = new HashMap<>(); + final JSONObject info = new JSONObject(); String cpuUsage = null; String ramUsage = null; @@ -162,14 +157,10 @@ public class PlayerEventListener implements Listener if (essentials != null) { - tps = String.valueOf(String.valueOf(new BigDecimal(essentials.getTimer().getAverageTPS()).setScale(1, RoundingMode.CEILING))); + tps = String.valueOf(String.valueOf(BigDecimal.valueOf(essentials.getTimer().getAverageTPS()).setScale(1, RoundingMode.CEILING))); } info.put("tps", tps); - - final JSONObject data = new JSONObject(); - data.putAll(info); - - return data.toJSONString(); + return info.toString(); } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java index 3c97ba9..a0efd3e 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/SocketListener.java @@ -48,14 +48,7 @@ public class SocketListener extends Thread } // Remove old entries - final Iterator> it = recentIPs.entrySet().iterator(); - while (it.hasNext()) - { - if (it.next().getValue() + LISTEN_THRESHOLD_MILLIS < System.currentTimeMillis()) - { - it.remove(); - } - } + recentIPs.entrySet().removeIf(inetAddressLongEntry -> inetAddressLongEntry.getValue() + LISTEN_THRESHOLD_MILLIS < System.currentTimeMillis()); final InetAddress addr = clientSocket.getInetAddress(); if (addr == null) @@ -94,7 +87,6 @@ public class SocketListener extends Thread final ClientSession clientSession = new ClientSession(telnet, clientSocket); clientSessions.add(clientSession); clientSession.start(); - removeDisconnected(); } @@ -119,30 +111,14 @@ public class SocketListener extends Thread public void triggerPlayerListUpdates(final String playerListData) { - final Iterator it = clientSessions.iterator(); - - while (it.hasNext()) - { - final ClientSession session = it.next(); - if (session != null) - { - session.syncTriggerPlayerListUpdate(playerListData); - } - } + clientSessions.forEach(session -> + session.syncTriggerPlayerListUpdate(playerListData)); } public void triggerDataUsageUpdates(final String usageData) { - final Iterator it = clientSessions.iterator(); - - while (it.hasNext()) - { - final ClientSession session = it.next(); - if (session != null) - { - session.syncUsageUpdate(usageData); - } - } + clientSessions.forEach(session -> + session.syncUsageUpdate(usageData)); } public void stopServer() diff --git a/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java b/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java index 697728f..dcc1bf5 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java @@ -13,6 +13,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.Logger; import org.apache.logging.log4j.core.appender.AbstractAppender; +import org.apache.logging.log4j.core.config.Property; public class TelnetLogAppender extends AbstractAppender { @@ -23,7 +24,7 @@ public class TelnetLogAppender extends AbstractAppender public TelnetLogAppender() { - super("BukkitTelnet", null, null); + super("BukkitTelnet", null, null, true, Property.EMPTY_ARRAY); this.sessions = new HashSet<>(); this.dateFormat = new SimpleDateFormat("HH:mm:ss"); @@ -74,7 +75,7 @@ public class TelnetLogAppender extends AbstractAppender continue; } - if (session.getFilterMode() == FilterMode.NONCHAT_ONLY && chat) + if (session.getFilterMode() == FilterMode.NON_CHAT_ONLY && chat) { continue; } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java b/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java index 4755fbe..1fda918 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/Server.java @@ -1,22 +1,23 @@ package me.totalfreedom.bukkittelnet.api; -import java.util.List; import me.totalfreedom.bukkittelnet.SocketListener; import me.totalfreedom.bukkittelnet.TelnetConfigLoader.TelnetConfig; import me.totalfreedom.bukkittelnet.session.ClientSession; +import java.util.List; + public interface Server { - public void startServer(); + void startServer(); - public void stopServer(); + void stopServer(); @Deprecated - public SocketListener getSocketListener(); + SocketListener getSocketListener(); - public TelnetConfig getConfig(); + TelnetConfig getConfig(); - public List getSessions(); + List getSessions(); } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java index a196af6..5238766 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetRequestDataTagsEvent.java @@ -18,7 +18,7 @@ public class TelnetRequestDataTagsEvent extends Event super(!Bukkit.getServer().isPrimaryThread()); for (final Player player : Bukkit.getServer().getOnlinePlayers()) { - dataTags.put(player, new HashMap()); + dataTags.put(player, new HashMap<>()); } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java index 5ccbf0d..51777be 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java @@ -23,9 +23,9 @@ import org.bukkit.scheduler.BukkitRunnable; public final class ClientSession extends Thread { - public static final Pattern NONASCII_FILTER = Pattern.compile("[^\\x20-\\x7E]"); + public static final Pattern NON_ASCII_FILTER = Pattern.compile("[^\\x20-\\x7E]"); public static final Pattern AUTH_INPUT_FILTER = Pattern.compile("[^_a-zA-Z0-9]"); - public static final Pattern COMMAND_INPUT_FILTER = Pattern.compile("^[^_a-zA-Z0-9/\\?!\\.]+"); + public static final Pattern COMMAND_INPUT_FILTER = Pattern.compile("^[^_a-zA-Z0-9/?!.]+"); // private final TelnetServer telnet; private final Socket clientSocket; @@ -121,17 +121,12 @@ public final class ClientSession extends Thread synchronized (clientSocket) { - if (clientSocket == null) - { - return; - } - writeLine("Closing connection..."); try { clientSocket.close(); } - catch (IOException ex) + catch (IOException ignored) { } } @@ -174,7 +169,7 @@ public final class ClientSession extends Thread writer.write(":" + ChatColor.stripColor(message) + "\r\n"); writer.flush(); } - catch (IOException ex) + catch (IOException ignored) { } } @@ -190,7 +185,7 @@ public final class ClientSession extends Thread { writer.flush(); } - catch (IOException ex) + catch (IOException ignored) { } } @@ -361,7 +356,7 @@ public final class ClientSession extends Thread { Thread.sleep(2000); } - catch (InterruptedException ex) + catch (InterruptedException ignored) { } } @@ -404,7 +399,7 @@ public final class ClientSession extends Thread continue; } - command = COMMAND_INPUT_FILTER.matcher(NONASCII_FILTER.matcher(command).replaceAll("")).replaceFirst("").trim(); + command = COMMAND_INPUT_FILTER.matcher(NON_ASCII_FILTER.matcher(command).replaceAll("")).replaceFirst("").trim(); if (command.isEmpty()) { continue; @@ -449,11 +444,11 @@ public final class ClientSession extends Thread } case CHAT_ONLY: { - filterMode = FilterMode.NONCHAT_ONLY; + filterMode = FilterMode.NON_CHAT_ONLY; writeLine("Showing only non-chat logs."); break; } - case NONCHAT_ONLY: + case NON_CHAT_ONLY: { filterMode = FilterMode.NONE; writeLine("Showing all logs."); diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/FilterMode.java b/src/main/java/me/totalfreedom/bukkittelnet/session/FilterMode.java index 023555f..9adbdfb 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/FilterMode.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/FilterMode.java @@ -4,6 +4,6 @@ public enum FilterMode { NONE, - NONCHAT_ONLY, + NON_CHAT_ONLY, CHAT_ONLY; } From 1ae73cbfeaa12f2fbda0869536137882f7b9e3f2 Mon Sep 17 00:00:00 2001 From: Nathan Curran <30569566+Focusvity@users.noreply.github.com> Date: Thu, 24 Jun 2021 21:28:07 +1000 Subject: [PATCH 11/19] Bump up the version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7f490b4..e7850cf 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ me.totalfreedom bukkittelnet - 4.5 + 4.6 jar From 63eab7c0d950e4af68d1e39672965da7d366f08b Mon Sep 17 00:00:00 2001 From: Nathan Curran <30569566+Focusvity@users.noreply.github.com> Date: Thu, 24 Jun 2021 21:50:53 +1000 Subject: [PATCH 12/19] Update GitHub workflow to Java 11 --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index c8aeb3a..4b4295d 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -19,6 +19,6 @@ jobs: - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 11 - name: Build with Maven run: mvn -B package --file pom.xml From 1a8b6c7394d764bf3363bb166bc102eeb9fbf8c7 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Fri, 1 Oct 2021 01:59:54 -0500 Subject: [PATCH 13/19] BukkitTelnet 4.6.1 Consistent versioning, add api-version to plugin.yml --- pom.xml | 18 +++++++++--------- src/main/resources/config.yml | 2 +- src/main/resources/plugin.yml | 3 ++- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index e7850cf..acd9792 100644 --- a/pom.xml +++ b/pom.xml @@ -4,8 +4,8 @@ 4.0.0 me.totalfreedom - bukkittelnet - 4.6 + BukkitTelnet + 4.6.1 jar @@ -30,9 +30,9 @@ - scm:git:git@github.com:TotalFreedom/BukkitTelnet.git - scm:git:git@github.com:TotalFreedom/BukkitTelnet.git - git@github.com:TotalFreedom/BukkitTelnet.git + scm:git:git@github.com:TotalFreedomMC/BukkitTelnet.git + scm:git:git@github.com:TotalFreedomMC/BukkitTelnet.git + git@github.com:TotalFreedomMC/BukkitTelnet.git @@ -41,8 +41,8 @@ https://hub.spigotmc.org/nexus/content/groups/public/ - ess-repo - https://ci.ender.zone/plugin/repository/everything/ + essentialsx-repo + https://repo.essentialsx.net/releases/ @@ -50,7 +50,7 @@ org.spigotmc spigot-api - 1.16.5-R0.1-SNAPSHOT + 1.17.1-R0.1-SNAPSHOT compile @@ -71,7 +71,7 @@ net.ess3 EssentialsX - 2.18.2 + 2.18.0 provided diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index e3f0f95..0426760 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,4 @@ -# BukkitTelnet v4.5 Configuration File +# BukkitTelnet v4.6.1 Configuration File # Address to listen on, leave blank for all address: '' diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 938a8d9..bb2ed3c 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,6 @@ name: BukkitTelnet main: me.totalfreedom.bukkittelnet.BukkitTelnet -version: 4.5 +version: 4.6.1 +api-version: "1.13" description: Telnet console access plugin. authors: [bekvon, Madgeek1450, Prozza] From 13125dbeb840bb82aa5ce951ea24825e12ee6859 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Tue, 7 Dec 2021 17:35:42 -0600 Subject: [PATCH 14/19] Update to 1.18 Because IntelliJ was throwing a fit of the version of 1.17.1 BukkitTelnet was using --- pom.xml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index acd9792..6a6805a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ me.totalfreedom BukkitTelnet - 4.6.1 + 4.6.2 jar @@ -37,27 +37,31 @@ - spigot + spigot-repo https://hub.spigotmc.org/nexus/content/groups/public/ essentialsx-repo https://repo.essentialsx.net/releases/ + + CodeMC + https://repo.codemc.org/repository/maven-public/ + org.spigotmc spigot-api - 1.17.1-R0.1-SNAPSHOT + 1.18-R0.1-SNAPSHOT compile org.projectlombok lombok - 1.18.20 + 1.18.22 provided @@ -69,16 +73,16 @@ - net.ess3 + net.essentialsx EssentialsX - 2.18.0 + 2.19.0 provided org.json json - 20210307 + 20211205 compile From 67d0383caddddfd61a7823f64d12b40d46580fb4 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Sun, 12 Dec 2021 00:48:34 -0600 Subject: [PATCH 15/19] Update for Log4J exploit --- pom.xml | 10 +++++----- .../me/totalfreedom/bukkittelnet/BukkitTelnet.java | 1 + src/main/resources/plugin.yml | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 6a6805a..35123a6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ me.totalfreedom BukkitTelnet - 4.6.2 + 4.7 jar @@ -54,7 +54,7 @@ org.spigotmc spigot-api - 1.18-R0.1-SNAPSHOT + 1.18.1-R0.1-SNAPSHOT compile @@ -68,7 +68,7 @@ org.apache.logging.log4j log4j-core - 2.14.1 + 2.15.0 compile @@ -112,8 +112,8 @@ maven-compiler-plugin 3.8.1 - 11 - 11 + 17 + 17 diff --git a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java index 64e439a..7f0c450 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java @@ -26,6 +26,7 @@ public class BukkitTelnet extends JavaPlugin TelnetLogger.setPluginLogger(plugin.getLogger()); TelnetLogger.setServerLogger(Bukkit.getLogger()); + System.setProperty("log4j2.formatMsgNoLookups", "true"); } @Override diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index bb2ed3c..7d0cb86 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: BukkitTelnet main: me.totalfreedom.bukkittelnet.BukkitTelnet -version: 4.6.1 -api-version: "1.13" +version: 4.7 +api-version: "1.18" description: Telnet console access plugin. authors: [bekvon, Madgeek1450, Prozza] From a76fc5a5b267223303d2009b1f554ce61d5ba7d0 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Fri, 17 Dec 2021 01:03:45 -0600 Subject: [PATCH 16/19] bruh --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 35123a6..66acb3b 100644 --- a/pom.xml +++ b/pom.xml @@ -68,14 +68,14 @@ org.apache.logging.log4j log4j-core - 2.15.0 + 2.16.0 compile net.essentialsx EssentialsX - 2.19.0 + 2.19.2 provided From 0aa07d46fc70f69977466e9f8a48c152b6dae3bc Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Thu, 31 Mar 2022 00:39:32 -0500 Subject: [PATCH 17/19] Don't shade Spigot maybe --- pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 66acb3b..4fd11f7 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,7 @@ org.spigotmc spigot-api 1.18.1-R0.1-SNAPSHOT - compile + provided @@ -68,21 +68,21 @@ org.apache.logging.log4j log4j-core - 2.16.0 + 2.17.1 compile net.essentialsx EssentialsX - 2.19.2 + 2.19.4 provided org.json json - 20211205 + 20220320 compile @@ -145,7 +145,7 @@ org.apache.maven.plugins - maven-jxr-plugin + maven-jar-plugin 2.5 From 97ebc4bdb93e8ba1f1c3191cad7c918cf9e9befe Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Thu, 31 Mar 2022 00:42:00 -0500 Subject: [PATCH 18/19] Update maven.yml --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 4b4295d..e487b6f 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,9 +16,9 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up JDK 1.8 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Build with Maven run: mvn -B package --file pom.xml From f8ef36ae6a1c91c49920ed589d8fbf10d21d8ad4 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Fri, 1 Apr 2022 01:41:31 -0500 Subject: [PATCH 19/19] Update just to be safe --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4fd11f7..095326b 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ org.spigotmc spigot-api - 1.18.1-R0.1-SNAPSHOT + 1.18.2-R0.1-SNAPSHOT provided @@ -68,7 +68,7 @@ org.apache.logging.log4j log4j-core - 2.17.1 + 2.17.2 compile