diff --git a/src/com/massivecraft/factions/FPlayers.java b/src/com/massivecraft/factions/FPlayers.java index af240f83..08952141 100644 --- a/src/com/massivecraft/factions/FPlayers.java +++ b/src/com/massivecraft/factions/FPlayers.java @@ -43,7 +43,7 @@ public class FPlayers extends PlayerEntityCollection if ( ! Factions.i.exists(fplayer.getFactionId())) { p.log("Reset faction data (invalid faction) for player "+fplayer.getName()); - fplayer.resetFactionData(); + fplayer.resetFactionData(false); } } } @@ -62,16 +62,15 @@ public class FPlayers extends PlayerEntityCollection { if (now - fplayer.getLastLoginTime() > toleranceMillis) { - // TODO: This stops the memory leak crashes but does not solve the issue: MEMBERS ARE NOT KICKED!!! - // TODO: DO SOMETHING ABOUT THIS - /*if (Conf.logFactionLeave || Conf.logFactionKick) - P.p.log("Player "+fplayer.getName()+" was auto-removed due to inactivity.");*/ + if (Conf.logFactionLeave || Conf.logFactionKick) + P.p.log("Player "+fplayer.getName()+" was auto-removed due to inactivity."); // if player is faction leader, sort out the faction since he's going away if (fplayer.getRole() == Rel.LEADER) fplayer.getFaction().promoteNewLeader(); fplayer.leave(false); + fplayer.detach(); } } } diff --git a/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java index ebd1dcc1..0c223a43 100644 --- a/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -420,6 +420,7 @@ public class FactionsPlayerListener extends PlayerListener if (badGuy.getRole() == Rel.LEADER) badGuy.getFaction().promoteNewLeader(); badGuy.leave(false); + badGuy.detach(); } } }