Package server
Start。
本 package 是 handling.* 三伺服器(Login/Channel/CashShop)底下的遊戲核心服務層,集中放置與封包收發無關的領域邏輯。
進入點 Start 由 server.Start.main() 啟動:初始化 Timer 排程家族、載入 WZ 遊戲資料、再拉起三個伺服器;
運維設定由 ServerProperties 從 settings.ini 與 DB 讀入。
道具與背包子系統為核心:MapleItemInformationProvider(單例,從 SQL 快取的 WZ 道具資料提供裝備/道具屬性)、
MapleInventoryManipulator(背包增刪改的靜態驅動入口)、MapleStatEffect(技能/道具的 buff 效果模型,
配合 server.buffs 的職業 buff 類別套用)。商業與儲物相關有 MapleShopFactory/MapleShop(NPC 商店)、
MapleStorage(倉庫)、MapleTrade(玩家交易)、CashShop 與 MTSStorage(拍賣場 MTS)。
排程方面,Timer 以巢狀靜態類別(WorldTimer/MobTimer/MapTimer/BuffTimer/…)
切分各子系統的定時任務執行緒池,於 Start 啟動時一併拉起。此外尚有成就(MapleAchievements)、
怪物嘉年華與遠征隊(MapleCarnivalFactory/MapleSquad)、隨機獎勵(RandomRewards)
與共用亂數工具 Randomizer。更專門的領域(怪物/NPC、地圖物件、事件、任務、玩家商店、移動封包等)
則下放至 server.life、server.maps、server.events、server.quest、server.shops、
server.movement 等子 package。
-
ClassDescription伺服器端自動封鎖管理器,以違規點數累計決定是否封鎖帳號。現金商城單一商品目錄項目的資料模型。現金商城商品目錄的全域工廠與快取,負責從 WZ 資料與資料庫載入所有可販售項目。單一帳號在現金商城的背包狀態,管理已購道具的載入、到期檢查、禮物收受與持久化。單一道具(含裝備與消耗品)的完整靜態屬性資料容器。道具製作系統(Item Maker)的全域工廠與快取,從 WZ 資料讀取各職業製作配方。單一成就項目的資料模型與完成觸發邏輯。遊戲成就系統的全域登錄表,以整數 ID 管理所有
MapleAchievement定義。TODO : Make this a function for NPC instead.. cleaner楓之谷嘉年華(Monster Carnival)技能與守衛資料的單例工廠。Note for this class : MapleCharacter reference must be removed immediately after cpq or upon dc.快遞(Duey)系統中單筆包裹的資料模型。角色背包異動的中央靜態工具,所有道具增刪移動的單一入口。全伺服器道具與裝備靜態資料的權威來源,採單例(instance)。星期數值與英文星期代碼(SUN~SAT)對應的工具類別。地圖傳送門的資料模型與玩家進入邏輯。NPC 商店的執行時實例,負責道具購買、補充與販售邏輯。MapleShop的單例工廠,按需從資料庫載入並快取商店資料。NPC 商店中單件商品的資料值物件。遠征隊(Boss Squad)的執行時狀態管理器,支援多人 Boss 挑戰的報名與排隊系統。技能或道具「效果」的解析後模型與套用引擎,可序列化(隨 buff 在伺服器間傳遞)。排程任務:於增益持續時間結束時取消對應效果。Pure-function tests forMapleStatEffect.parseEval(String, int)— thex-substituting skill-formula evaluator (offline, no wz/DB).角色倉庫(Storage)的記憶體模型與資料庫持久化。玩家之間一對一道具與楓幣交易的執行時狀態機。個人商店(Hired Merchant)結束後待領取道具的封包資料結構。單一角色在楓之谷交易所(MTS)的購物車與轉移背包狀態。楓之谷交易所(MTS)的全域在記憶體儲存層,管理所有上架商品與玩家購物車的讀寫與定期同步。全伺服器共用的偽亂數工具類,封裝單一Random實例的靜態存取介面。各類寶箱、事件、垂釣與掉落的隨機獎勵道具池,於類別載入時一次性預編譯。角色排行榜的資料載入與更新工作者,負責從資料庫計算全職業與各職業分組排名。伺服器有序關機的協調者,以單例模式確保關機流程只執行一次。遠征速通排行榜的資料持久化與記憶體快取管理器。伺服器行程的啟動進入點,負責初始化全部子系統並依序啟動三個 Netty 伺服器。精靈(Familiar)系統的資料傳輸物件,承載單筆精靈設定的五個核心欄位。獎勵道具設定的資料傳輸物件,描述單筆可掉落或發放的獎勵道具屬性。套裝道具(Set Item)設定的資料傳輸物件,持有單個套裝的組成道具清單與套裝加成屬性。全伺服器排程執行緒池的抽象基底類別,提供統一的排程、重複執行與停止介面。