Class AutobanManager

java.lang.Object
server.AutobanManager
All Implemented Interfaces:
Runnable

public class AutobanManager extends Object implements Runnable
伺服器端自動封鎖管理器,以違規點數累計決定是否封鎖帳號。

本類別為全域單例(getInstance()),採 ReentrantLock 保護點數表;autoban(MapleClient, String) 立即加滿 AUTOBAN_POINTSaddPoints(MapleClient, int, long, String) 則支援 帶過期時間的漸進累點。累計達門檻時廣播 GM 警告並記錄至 logs/hack/Ban/AutoBan.txt(目前測試階段封鎖邏輯已被注解,僅警示不真正斷線)。 GM 與分身角色永不觸發封鎖,只收到螢幕警告訊息。

本類別實作 Runnablerun() 清除已過期點數,需由外部排程器定期呼叫 (例如 server.Timer.EtcTimer)以維持點數衰減機制。 封包送出依賴 tools.packet.CWvsContextWorld.Broadcast

  • Constructor Details

    • AutobanManager

      public AutobanManager()
  • Method Details

    • getInstance

      public static final AutobanManager getInstance()
    • autoban

      public final void autoban(MapleClient c, String reason)
    • addPoints

      public final void addPoints(MapleClient c, int points, long expiration, String reason)
    • run

      public final void run()
      Specified by:
      run in interface Runnable