diff --git a/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java b/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java
index a73ce4bc..cf4b496b 100644
--- a/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java
+++ b/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java
@@ -10,6 +10,8 @@
import dev.nandi0813.practice.manager.profile.enums.ProfileStatus;
import dev.nandi0813.practice.manager.sidebar.SidebarManager;
import dev.nandi0813.practice.telemetry.transport.stats.PracticeStatsTelemetryLogger;
+import dev.nandi0813.practice.manager.fight.match.Match;
+import dev.nandi0813.practice.manager.fight.match.MatchManager;
import dev.nandi0813.practice.util.PermanentConfig;
import dev.nandi0813.practice.util.UpdateChecker;
import dev.nandi0813.practice.util.playerutil.PlayerUtil;
@@ -61,6 +63,14 @@ public void onPlayerJoin(PlayerJoinEvent e) {
profile1.setHideFromPlayers(true);
}, 10L);
+ // If the player was disconnected while in a match, remove them from it
+ // to prevent ending up in the match with lobby items on rejoin
+ if (profile.getStatus() == ProfileStatus.MATCH) {
+ Match liveMatch = MatchManager.getInstance().getLiveMatchByPlayer(player);
+ if (liveMatch != null)
+ liveMatch.removePlayer(player, true);
+ }
+
InventoryManager.getInstance().setLobbyInventory(player, true);
} else {
ProfileManager.getInstance().getProfile(player).setStatus(ProfileStatus.OFFLINE);
diff --git a/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java b/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java
index 0cb51202..79dd1c48 100644
--- a/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java
+++ b/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java
@@ -71,7 +71,7 @@ public static void openConnection() {
try {
// Explicitly load the MariaDB driver to ensure it's available for JDBC DriverManager
- Class.forName("org.mariadb.jdbc.Driver");
+ Class.forName("dev.nandi0813.practice.dependencies.mariadb.Driver");
HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
diff --git a/distribution/pom.xml b/distribution/pom.xml
index a6135c21..e1a7b7ad 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -113,6 +113,10 @@
com.zaxxer.hikari
dev.nandi0813.practice.dependencies.hikari
+
+ org.mariadb.jdbc
+ dev.nandi0813.practice.dependencies.mariadb
+