紅月 Online 專案進度總覽
紅月 Online(Red Moon Online)伺服器逆向工程專案的進度整理。無原始碼的老遊戲伺服器,全靠逆向工程修 Bug、加功能。
| ✅ 已完成 | 📋 規劃中 | 🔍 觀察中 | ❌ 失敗嘗試 |
|---|---|---|---|
| 18 項 | 8 項 | 5 項 | 5 項 |
✅ 已完成的項目
客戶端體驗
- 🖥️ 視窗放大 2 倍(cnc-ddraw 全螢幕拉伸 + main.dll 滑鼠座標÷2 patch)
- 🪟 Loader 視窗大小下拉選單(原始/125%/150% 三檔切換,取代固定拉伸)
- 💊 客戶端事件驅動 $hp/$mp 自動補血(取代反應慢的伺服器 OnTimer 版,
$hp NN/$mp NN指令即時調門檻並持久化) - 🔓 多開限制 patch(RedMoon.exe je→jmp + 外部 Loader)
- 🛡️ MFGS 反駭客離線繞過(登入閘門 status 常數化)
- 🔢 技能點數顯示異常修復(TLV 解碼 tag=6 1-byte patch)
- 🎨 RLE 圖檔編輯器移植(Java→C++Qt)+ 全服按鈕自訂圖
道具與遊戲功能
- 🔍
$item查詢指令(v21)+ 道具視窗代碼中文化(v28)⚠️ 目前僅測試身上單一道具,多道具同時持有情境尚未測試 - ⏱️ 道具浮框顯示剩餘時間(B2,伺服器+客戶端雙修)
- 📢 全服吶喊功能(伺服器端跨圖廣播 + 客戶端獨立按鈕UI,完整 radio 單選)
- 🔒 綁定道具系統 增量1(丟棄/贈送/交易/銀行防轉移)
- ✨ 加倍道具限時 增量1(rmDB v9+svMapServer v32,啟動格加倍)
穩定性與修復
- 🌐 UserIPCount 單 IP 連線數限制(svIP)
- 📈 EXP1 經驗加成不生效修復(v27,ini 絕對路徑)
- ⚰️ 死亡回醫院黑畫面修復(月分表自動建立)
- 🆙 1000 級後無法升級加點修復(RMS_BONUSPOINT_ADD 補 Time 欄位)
- 💥 v19 登入 crash → v20 節流修復
- 🗄️ SQL Server 2000→2025 升級主線(登入打通)+ rmServer.ini 參數收尾(UserIPCount=5、GShoutLevel=10)
📋 規劃要完成的項目
- 視窗放大方案 B(真提高解析度,非拉伸,大工程)
- 加倍道具限時 增量2/2b(v33/v34 已 build,待實機部署測試)
-
$item道具名稱查表 v30(待重測) - 生化屬性全 0 bug(DB 端根因已查清,待實機重現)
- 綁定道具系統 增量2(郵件/擺攤賣/死亡掉落)
- SQL Server 升級核心流程驗證(角色/軍團/道具/交易資料完整性)
- 客戶端複製按鈕 hook 點(全服按鈕 UI 前置研究,待 x32dbg 驗證)
🔍 觀察中的項目
| 項目 | 狀態 |
|---|---|
| 伺服器週期性卡頓 | 調查中,尚未定位根因 |
| 座標封包協議調查 | 主動暫停(移動為 client 本地內插) |
| 道具搬移後要重登才同步 | 已知現象,待決定是否深挖 |
| 資料庫約 1 分鐘延遲寫回 | 已釐清為預期設計,非 bug |
| GM 工具無法連 SQL2025 | 決策改用 ODBC/SSMS 取代 |
❌ 失敗的嘗試
逆向工程免不了走彎路,這些紀錄留下是為了不再重踩。
- rmDB v8 加倍道具 — 就地擴充 SQL 字串蓋掉緩衝區,登入斷線(已用 v9 修復)
- MFGS 初期誤判 — 疑 Main.dll 呼叫 MFSvc.dll 失敗分支,patch 證實無效
- tblSpecialItem8/tblDeathLog8 — 誤判分區規律建錯表,已回滾
- DxWnd 滑鼠座標縮放方案 — 實測失敗,改用 IAT hook
- 全服喊話雙選按鈕 patch 路線 — 評估後放棄,改新增獨立按鈕
- Title: 紅月 Online 專案進度總覽
- Author: ForeverRedmoon
- Created at : 2026-07-21 00:00:00
- Updated at : 2026-07-21 20:05:27
- Link: https://4rm.xyz/2026/07/21/redmoon-progress/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments