{"repo":"kuohsuanlo/LazyContainerAgent","free":true,"listed":false,"github":"https://github.com/kuohsuanlo/LazyContainerAgent","clone":"git clone https://github.com/kuohsuanlo/LazyContainerAgent.git","description":"Java agent for Minecraft server platform PaperMC that lazily deserializes chest/container items — removes the chunk-load NBT unpack lag from large storage and map-art. Zero data risk (shadow-validated).","language":"Java","stars":82,"topics":["chunk-loading","java-agent","minecraft","minecraft-server","optimization","paper","papermc","performance"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"LazyContainerAgent 中文 ｜ English 箱子物品「延遲反序列化(不急著把資料拆解成遊戲內物件,拖到真的要用才拆)+ 沒碰過就原樣寫回」的 Java agent。 針對 Paper 26.2,把 chunk(遊戲世界切成一塊一塊的地圖區域,伺服器以此為單位載入/卸載)載入時「立刻把每個箱子的物品從 NBT(Minecraft 儲存物品/方塊資料的二進位格式)解包」與卸載時「重新打包」這兩筆白工砍掉。 🧠 經 Claude Fable 5 對抗審計 (49 個獨立 agent 分工找碴+交叉反駁,詳見 FABLE5-AUDIT.md ):14 條發現全數逐一核實、0 條被推翻;確認 記憶體有界不洩漏、存檔淨省不做白工、正常玩家操作零掉物風險 ;找到並已修復一個需要管理員指令才會踩到的邊角漏洞(容器複製/直接改存檔資料時可能共用到同一份資料)。 ⚠️ 這不是外掛(plugin),是 Java agent —— 用 -javaagent: 掛在 JVM 上, 不要丟 plugins/ (丟了沒用)。 🔒 版本敏感(務必先讀) 本 agent 以 bytecode 直接織入 Paper 26.2 / Java 25 的內部類別(template classfile major 69),屬 版本綁死 的工具。 - 僅適用於 Paper 26.2 + Java 25。 任何其他 Minecraft 版本或 Java 版本, 一律不要直接套用 。 - 換版必須:① 以對應版本的 NMS 重新編譯 template/ 、② 將 ASM 升級到能解析目標 classfile 版本、③ 重新以 shadow 模式驗證。 - 版本不符時會在 開機或首次載入箱子時直接拋出例外 ( VerifyError / NoSuchMethodError )。這是 刻意的「安全停機」設計——絕不會靜默改壞或弄丟資料 ,但該節點會無法啟動,因此 務必先在測試環境驗證 再上線。 - 測試素材(region / 物品 dump)為目標版格式,請勿在其他版本載入。 - 26.2 實機測試報告: docs/test-reports/26.2.md 。 --- 快速上手 前提: Paper 26.2 + Java 25 (其他版本請先看上面的「版本敏感」)。 1. 放 jar —— 把 LazyContainerAgent.jar 放到節點看得到的位置(跟你的伺服器 jar 放同一層最省事)。 不要丟進 plugins/ :它是 Java agent、不是外掛,丟了沒作用。 2. 改啟動參數 —— 在 java 那行、 -jar 的 前面 ,加上以下幾段(第一次 請先用 shadow 驗證模式 ): 3. 先驗證,別急著上真效能 —— 開著 shadow=true 跑個幾天。它會把優化後的輸出跟原版做法 逐位元組對照 :只要 shadowMismatch 一直是 0 ,就代表輸出跟原版完全一致、 資料零風險 。代價是這階段兩套都做、暫時不會變快。 - 開機 log 應出現 [LazyContainer] agent installed … [SHADOW mode] 。 - verbose 每隔一段印一行 stash=… rawSave=… shadowMismatch=0 … ; stash 持續往上爬 = 正在運作。 4. 確認沒問題,再換真效能 —— 跑數天 shadowMismatch=0 、也沒玩家回報少東西,就把 -Dlazycontainer.shado","default_branch":null,"files":null,"tree":[],"storefront":"/r/kuohsuanlo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kuohsuanlo/LazyContainerAgent/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}