From 5777af2bc0cc5a185f1ea564197950fb663755a0 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sat, 11 Jul 2020 21:56:03 -0300 Subject: [PATCH] Clan crash fix Improved using auto-increment key instead of handling it server side. --- ...uestMasterHandler.java => QuestLoader.java} | 18 +++++++++++------- src/main/resources/sql/forums.sql | 2 +- .../2020-07-11_forums_auto_increment_key.sql | 1 + 3 files changed, 13 insertions(+), 8 deletions(-) rename src/main/java/com/l2jserver/datapack/quests/{QuestMasterHandler.java => QuestLoader.java} (97%) create mode 100644 src/main/resources/sql/updates/2020-07-11_forums_auto_increment_key.sql diff --git a/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java b/src/main/java/com/l2jserver/datapack/quests/QuestLoader.java similarity index 97% rename from src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java rename to src/main/java/com/l2jserver/datapack/quests/QuestLoader.java index d80cc89bfe..c38c36b9eb 100644 --- a/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java +++ b/src/main/java/com/l2jserver/datapack/quests/QuestLoader.java @@ -18,8 +18,8 @@ */ package com.l2jserver.datapack.quests; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.l2jserver.datapack.quests.Dummy.Q00201_HumanFighterTutorial; import com.l2jserver.datapack.quests.Dummy.Q00202_HumanMageTutorial; @@ -526,9 +526,10 @@ import com.l2jserver.datapack.quests.Q10505_JewelOfValakas.Q10505_JewelOfValakas /** * Quest loader. * @author NosBit + * @author Zoey76 */ -public class QuestMasterHandler { - private static final Logger _log = Logger.getLogger(QuestMasterHandler.class.getName()); +public class QuestLoader { + private static final Logger LOG = LoggerFactory.getLogger(QuestLoader.class); private static final Class<?>[] QUESTS = { Q00001_LettersOfLove.class, @@ -1035,12 +1036,15 @@ public class QuestMasterHandler { }; public static void main(String[] args) { - for (Class<?> quest : QUESTS) { + int n = 0; + for (var quest : QUESTS) { try { quest.getDeclaredConstructor().newInstance(); - } catch (Exception e) { - _log.log(Level.SEVERE, QuestMasterHandler.class.getSimpleName() + ": Failed loading " + quest.getSimpleName() + ":", e); + n++; + } catch (Exception ex) { + LOG.error("Failed loading quest {}!", quest.getSimpleName(), ex); } } + LOG.info("Loaded {} quests.", n); } } diff --git a/src/main/resources/sql/forums.sql b/src/main/resources/sql/forums.sql index 99025ffad2..3df5d157b6 100644 --- a/src/main/resources/sql/forums.sql +++ b/src/main/resources/sql/forums.sql @@ -1,5 +1,5 @@ CREATE TABLE IF NOT EXISTS `forums` ( - `forum_id` int(8) NOT NULL DEFAULT '0', + `forum_id` int(8) NOT NULL AUTO_INCREMENT, `forum_name` varchar(255) NOT NULL DEFAULT '', `forum_parent` int(8) NOT NULL DEFAULT '0', `forum_post` int(8) NOT NULL DEFAULT '0', diff --git a/src/main/resources/sql/updates/2020-07-11_forums_auto_increment_key.sql b/src/main/resources/sql/updates/2020-07-11_forums_auto_increment_key.sql new file mode 100644 index 0000000000..574b680e52 --- /dev/null +++ b/src/main/resources/sql/updates/2020-07-11_forums_auto_increment_key.sql @@ -0,0 +1 @@ +ALTER TABLE `forums` CHANGE COLUMN `forum_id` `forum_id` INT(8) NOT NULL AUTO_INCREMENT FIRST; \ No newline at end of file -- GitLab