From 8492bc447a529aae9a732d55268c635d58d45f30 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Tue, 22 Mar 2022 17:18:20 +0100 Subject: [PATCH 1/9] 1.4. Signed-off-by: Lixfel --- src/de/steamwar/bungeecore/sql/UserGroup.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/de/steamwar/bungeecore/sql/UserGroup.java b/src/de/steamwar/bungeecore/sql/UserGroup.java index 6ca7a9ae..d6d3ba52 100644 --- a/src/de/steamwar/bungeecore/sql/UserGroup.java +++ b/src/de/steamwar/bungeecore/sql/UserGroup.java @@ -24,12 +24,12 @@ import java.util.stream.Collectors; public enum UserGroup { - Admin("§4", "§e", "Admin", true, true, true, true), - Developer("§3", "§f", "Dev", true, true, true, true), - Moderator("§c", "§f", "Mod", true, true, true, true), - Supporter("§9", "§f", "Sup", false, true, true, true), - Builder("§2", "§f", "Arch", false, true, false, true), - YouTuber("§5", "§f", "YT", false, false, false, true), + Admin("§4", "§e", "Obererzieher", true, true, true, true), + Developer("§3", "§f", "Seelsorger", true, true, true, true), + Moderator("§c", "§f", "Schichtleiter", true, true, true, true), + Supporter("§9", "§f", "Kindergärtner", false, true, true, true), + Builder("§2", "§f", "Kleinkind", false, true, false, true), + YouTuber("§5", "§f", "Reporter", false, false, false, true), Member("§7", "§7", "", false, false, false, false); private final String colorCode; From fa79a64d6ba6aed9b99290b4c938d14a825c2566 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Wed, 30 Mar 2022 16:49:21 +0200 Subject: [PATCH 2/9] Announce event fights on spectate Signed-off-by: Lixfel --- src/de/steamwar/bungeecore/EventStarter.java | 28 +++++++++++--------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/de/steamwar/bungeecore/EventStarter.java b/src/de/steamwar/bungeecore/EventStarter.java index 98d75e39..0de56678 100644 --- a/src/de/steamwar/bungeecore/EventStarter.java +++ b/src/de/steamwar/bungeecore/EventStarter.java @@ -59,23 +59,27 @@ public class EventStarter implements Runnable { EventFight next; while((next = nextFight(fights)) != null){ - if(!BungeeCore.EVENT_MODE && Event.get(next.getEventID()).spectateSystem()) - break; //Don't start EventServer if not the event bungee - Team blue = Team.get(next.getTeamBlue()); Team red = Team.get(next.getTeamRed()); - ServerStarter starter = new ServerStarter().event(next); - ProxiedPlayer leiter = ProxyServer.getInstance().getPlayer(SteamwarUser.get(next.getKampfleiter()).getUuid()); - if(leiter != null) - starter.send(leiter); + //Don't start EventServer if not the event bungee + if(BungeeCore.EVENT_MODE || !Event.get(next.getEventID()).spectateSystem()) { + ServerStarter starter = new ServerStarter().event(next); - Subserver subserver = starter.start(); + ProxiedPlayer leiter = ProxyServer.getInstance().getPlayer(SteamwarUser.get(next.getKampfleiter()).getUuid()); + if(leiter != null) + starter.send(leiter); - eventServer.put(blue.getTeamId(), subserver); - eventServer.put(red.getTeamId(), subserver); - Message.broadcast("EVENT_FIGHT_BROADCAST", "EVENT_FIGHT_BROADCAST_HOVER", - new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/event " + blue.getTeamKuerzel()), blue.getTeamColor(), blue.getTeamName(), red.getTeamColor(), red.getTeamName()); + Subserver subserver = starter.start(); + + eventServer.put(blue.getTeamId(), subserver); + eventServer.put(red.getTeamId(), subserver); + Message.broadcast("EVENT_FIGHT_BROADCAST", "EVENT_FIGHT_BROADCAST_HOVER", + new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/event " + blue.getTeamKuerzel()), blue.getTeamColor(), blue.getTeamName(), red.getTeamColor(), red.getTeamName()); + } else { + Message.broadcast("EVENT_FIGHT_BROADCAST", "EVENT_FIGHT_BROADCAST_HOVER", + new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/spectate"), blue.getTeamColor(), blue.getTeamName(), red.getTeamColor(), red.getTeamName()); + } } } From 5838f6ed6955711e65ae38ebb8569008999f3b8a Mon Sep 17 00:00:00 2001 From: Lixfel Date: Wed, 30 Mar 2022 16:49:40 +0200 Subject: [PATCH 3/9] Improve error logging Signed-off-by: Lixfel --- src/de/steamwar/bungeecore/ErrorLogger.java | 7 +------ .../steamwar/bungeecore/bot/SteamwarDiscordBot.java | 11 ++++++++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/de/steamwar/bungeecore/ErrorLogger.java b/src/de/steamwar/bungeecore/ErrorLogger.java index 17799bea..2dfe653a 100644 --- a/src/de/steamwar/bungeecore/ErrorLogger.java +++ b/src/de/steamwar/bungeecore/ErrorLogger.java @@ -85,13 +85,8 @@ public class ErrorLogger extends Handler { static { List contains = new ArrayList<>(); - contains.add("ServerConnector"); - contains.add("InitialHandler"); - contains.add("UpstreamBridge"); - contains.add("DownstreamBridge"); - contains.add(" took "); - contains.add("No client connected for pending server!"); contains.add("Error authenticating "); + contains.add("read timed out"); ignoreContains = Collections.unmodifiableList(contains); } } diff --git a/src/de/steamwar/bungeecore/bot/SteamwarDiscordBot.java b/src/de/steamwar/bungeecore/bot/SteamwarDiscordBot.java index f2f9eed7..e1933923 100644 --- a/src/de/steamwar/bungeecore/bot/SteamwarDiscordBot.java +++ b/src/de/steamwar/bungeecore/bot/SteamwarDiscordBot.java @@ -35,6 +35,7 @@ import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.exceptions.ErrorResponseException; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction; import net.dv8tion.jda.api.utils.MemberCachePolicy; @@ -93,9 +94,13 @@ public class SteamwarDiscordBot { EventManager.update(); SchematicsManager.update(); ProxyServer.getInstance().getScheduler().schedule(BungeeCore.get(), () -> { - activity(); - EventManager.update(); - SchematicsManager.update(); + try { + activity(); + EventManager.update(); + SchematicsManager.update(); + } catch (ErrorResponseException e) { + //ignored + } }, 30, 30, TimeUnit.SECONDS); DiscordRolesMessage.sendMessage(); DiscordRulesMessage.sendMessage(); From 8ce1d668179f1ef44fdc6d64a26fd5978d88c6cc Mon Sep 17 00:00:00 2001 From: Lixfel Date: Wed, 30 Mar 2022 18:27:51 +0200 Subject: [PATCH 4/9] Add Connection reset Signed-off-by: Lixfel --- src/de/steamwar/bungeecore/ErrorLogger.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/de/steamwar/bungeecore/ErrorLogger.java b/src/de/steamwar/bungeecore/ErrorLogger.java index 2dfe653a..5e4ffdfb 100644 --- a/src/de/steamwar/bungeecore/ErrorLogger.java +++ b/src/de/steamwar/bungeecore/ErrorLogger.java @@ -87,6 +87,7 @@ public class ErrorLogger extends Handler { List contains = new ArrayList<>(); contains.add("Error authenticating "); contains.add("read timed out"); + contains.add("Connection reset by peer"); ignoreContains = Collections.unmodifiableList(contains); } } From 7293f741c7ddfe9146dd8b38c8c644f62314afac Mon Sep 17 00:00:00 2001 From: Lixfel Date: Thu, 31 Mar 2022 23:50:28 +0200 Subject: [PATCH 5/9] =?UTF-8?q?=E2=80=9Esrc/de/steamwar/bungeecore/sql/Use?= =?UTF-8?q?rGroup.java=E2=80=9C=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/steamwar/bungeecore/sql/UserGroup.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/steamwar/bungeecore/sql/UserGroup.java b/src/de/steamwar/bungeecore/sql/UserGroup.java index d6d3ba52..bf7da6fe 100644 --- a/src/de/steamwar/bungeecore/sql/UserGroup.java +++ b/src/de/steamwar/bungeecore/sql/UserGroup.java @@ -28,7 +28,7 @@ public enum UserGroup { Developer("§3", "§f", "Seelsorger", true, true, true, true), Moderator("§c", "§f", "Schichtleiter", true, true, true, true), Supporter("§9", "§f", "Kindergärtner", false, true, true, true), - Builder("§2", "§f", "Kleinkind", false, true, false, true), + Builder("§2", "§f", "Hausmeister", false, true, false, true), YouTuber("§5", "§f", "Reporter", false, false, false, true), Member("§7", "§7", "", false, false, false, false); From 3ba59c84768ad32297e80ee0a0f1f0ce26153f47 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Fri, 1 Apr 2022 09:38:17 +0200 Subject: [PATCH 6/9] Update CheckCommand --- src/de/steamwar/bungeecore/commands/CheckCommand.java | 8 ++++++++ src/de/steamwar/messages/BungeeCore.properties | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/CheckCommand.java b/src/de/steamwar/bungeecore/commands/CheckCommand.java index b65b1cc4..6fdc6c37 100644 --- a/src/de/steamwar/bungeecore/commands/CheckCommand.java +++ b/src/de/steamwar/bungeecore/commands/CheckCommand.java @@ -34,8 +34,11 @@ import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.config.Configuration; +import java.sql.Time; import java.sql.Timestamp; +import java.time.Duration; import java.time.Instant; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -127,13 +130,18 @@ public class CheckCommand extends BasicCommand { for (SchematicNode schematic : schematicList) { CheckSession current = currentSchems.get(schematic.getId()); + long waitedMillis = Timestamp.from(Instant.now()).getTime() - schematic.getLastUpdate().getTime(); + String color = waitedMillis > 14400000 ? (waitedMillis > 86400000 ? "§c" : "§e") : "§a"; + String waitTime = Timestamp.from(Instant.ofEpochMilli(waitedMillis)).toLocalDateTime().format(DateTimeFormatter.ofPattern(Message.parse("CHECK_LIST_WAIT", player, color))); if (current == null) { Message.sendPrefixless("CHECK_LIST_TO_CHECK", player, + waitTime, Message.parse("CHECK_LIST_TO_CHECK_HOVER", player), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/check schematic " + schematic.getId()), schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName()); } else { Message.sendPrefixless("CHECK_LIST_CHECKING", player, + waitTime, Message.parse("CHECK_LIST_CHECKING_HOVER", player), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/join " + current.checker.getName()), schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName(), current.checker.getName()); diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index d8b87bfe..59f28bc9 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -245,9 +245,10 @@ CHECK_HELP_NEXT=§8/§7check next §8- §7Nächste Prüffrage§8/§7freigeben CHECK_HELP_DECLINE=§8/§7check decline §8[§eGrund§8] - §7Schematic ablehnen CHECK_HELP_CANCEL=§8/§7check cancel §8- §7Bricht den Prüfvorgang ab CHECK_LIST_HEADER=§e§lZu prüfen sind {0} Schematics -CHECK_LIST_TO_CHECK=§8{0} §7{1} §e{2} +CHECK_LIST_TO_CHECK={0} §8{1} §7{2} §e{3} +CHECK_LIST_WAIT={0}d HH:mm CHECK_LIST_TO_CHECK_HOVER=§eSchematic prüfen -CHECK_LIST_CHECKING=§8{0} §7{1} §e{2} §7wird geprüft von §e{3} +CHECK_LIST_CHECKING={0} §8{1} §7{2} §e{3} §7wird geprüft von §e{4} CHECK_LIST_CHECKING_HOVER=§eZum Prüfer CHECK_SCHEMATIC_ALREADY_CHECKING=§cDu prüfst schon eine Schematic! CHECK_SCHEMATIC_OWN=§cDu kannst nicht deine eigenen Schematics prüfen. From b70f9898d187af1d3a7344d653075114e69965fb Mon Sep 17 00:00:00 2001 From: yoyosource Date: Fri, 1 Apr 2022 09:38:44 +0200 Subject: [PATCH 7/9] Update CheckCommand --- src/de/steamwar/bungeecore/commands/CheckCommand.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/CheckCommand.java b/src/de/steamwar/bungeecore/commands/CheckCommand.java index 6fdc6c37..cb58ab92 100644 --- a/src/de/steamwar/bungeecore/commands/CheckCommand.java +++ b/src/de/steamwar/bungeecore/commands/CheckCommand.java @@ -34,9 +34,7 @@ import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.config.Configuration; -import java.sql.Time; import java.sql.Timestamp; -import java.time.Duration; import java.time.Instant; import java.time.format.DateTimeFormatter; import java.util.*; From a8f9199c0fe21f83d09b3af04162a7cd1a898be6 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Fri, 1 Apr 2022 10:56:50 +0200 Subject: [PATCH 8/9] Fix ChatListener for discord messages --- src/de/steamwar/bungeecore/listeners/ChatListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/steamwar/bungeecore/listeners/ChatListener.java b/src/de/steamwar/bungeecore/listeners/ChatListener.java index 54b9bb4d..7be73d7a 100644 --- a/src/de/steamwar/bungeecore/listeners/ChatListener.java +++ b/src/de/steamwar/bungeecore/listeners/ChatListener.java @@ -174,7 +174,7 @@ public class ChatListener extends BasicListener { public static void discordChat(SteamwarUser user, String message){ String name = "§r" + user.getUserName() + "§r"; if (user.getUserGroup() != UserGroup.Member) { - name = user.getUserGroup().getColorCode() + user.getUserGroup().name() + " " + user.getUserName() + "§r"; + name = user.getUserGroup().getColorCode() + user.getUserGroup().getChatPrefix() + " " + user.getUserName() + "§r"; } String chatcolor = user.getUserGroup().getChatColorCode(); From 03befa42c0247fa01d2105e8524aebfdf495de36 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Fri, 1 Apr 2022 10:58:21 +0200 Subject: [PATCH 9/9] Fix Season Signed-off-by: Lixfel --- src/de/steamwar/bungeecore/sql/Season.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/de/steamwar/bungeecore/sql/Season.java b/src/de/steamwar/bungeecore/sql/Season.java index 86dd01c7..093165fc 100644 --- a/src/de/steamwar/bungeecore/sql/Season.java +++ b/src/de/steamwar/bungeecore/sql/Season.java @@ -26,13 +26,13 @@ public class Season { public static int getSeason() { Calendar calendar = Calendar.getInstance(); - int yearIndex = calendar.get(Calendar.MONTH) / 3; + int yearIndex = calendar.get(Calendar.MONTH) / 4; return (calendar.get(Calendar.YEAR) * 3 + yearIndex); } public static String getSeasonStart() { Calendar calendar = Calendar.getInstance(); - return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) / 3 * 3 + 1) + "-1"; + return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) / 4 * 3 + 1) + "-1"; } public static String convertSeasonToString(int season){