Class Timer

java.lang.Object
server.Timer
Direct Known Subclasses:
Timer.autoEventTimer, Timer.BuffTimer, Timer.CheatTimer, Timer.CloneTimer, Timer.EtcTimer, Timer.EventTimer, Timer.MapTimer, Timer.MobTimer, Timer.PingTimer, Timer.ShutdownTimer, Timer.WorldTimer

public abstract class Timer extends Object
全伺服器排程執行緒池的抽象基底類別,提供統一的排程、重複執行與停止介面。

ScheduledThreadPoolExecutor 為核心(核心 5 執行緒、 最大 8 執行緒、閒置 10 分鐘後回收),所有子計時器均為靜態單例並在 Start.run() 中依序 start()

  • WorldTimer — 全球世界層級定時任務(排行、事件輪替等)。
  • MobTimer — 怪物行為與重生排程。
  • MapTimer — 地圖物件定時任務。
  • BuffTimer — Buff 持續計時與到期解除。
  • autoEventTimer — 自動事件週期觸發。
  • EventTimer — 遊戲事件實例排程。
  • CloneTimer — Clone NPC 計時。
  • EtcTimer — 雜項定時任務。
  • CheatTimer — 防作弊定期檢測。
  • PingTimer — 客戶端心跳計時。
  • ShutdownTimer — 倒數關機計時。

任務執行期例外由內部 LoggingSaveRunnable 捕獲並寫入對應的 Log_*.rtf 錯誤記錄檔;關機時由 ShutdownServer 依序呼叫各計時器的 stop() 方法。