「登入器」聽起來像同一件事,實際上依照你的目標,需要看的教學完全不一樣:只是想連上朋友的私服、想自己動手修一下客戶端、還是想從零讀懂登入器的原始碼——這三種需求,難度和該看的教學差非常多。
這篇是 GMS v83 登入器主題的導覽地圖,先幫你判斷自己屬於哪一種讀者,再指向對應的教學。系列文章會陸續發布,這篇之後也會持續補上連結。
開始之前,你需要先有一台能連線的 GMS v83 私服,如果還沒架設,請先看 GMS v83 褓姆級架設教學。
你是哪一種讀者?
| 路線 | 適合對象 | 需要的程度 |
|---|---|---|
| A.連上私服 | 只想玩,私服可能沒提供登入器,或提供的登入器用不習慣 | 不需要寫程式,會用滑鼠和記事本即可 |
| B.給玩家用的登入器 | 想架站給別人玩,需要自己做一個登入器給玩家下載 | basic 程式邏輯,不需要精通 |
| C.登入器原始碼開發 | 想搞懂登入器內部原理,或想自己寫 Hook 功能 | 看得懂 C++ 基本語法 |
路線 A:連上私服(一般玩家)
不管私服有沒有提供登入器,這條路線教你各種連線方式,從最簡單到最進階:
| 教學 | 內容 |
|---|---|
| 現成登入器懶人包 | 比較 Hendi's + Ezorsia V2、Kaentake、HeavenClient 等現成登入器,直接下載就能連線 |
| 手動修改客戶端連線 IP | 用 HxD 十六進位編輯器直接改 MapleStory.exe 裡的 IP,或用 STRedit 圖形化工具修改 |
| Redirector 重導向器教學 | 不改 exe 本體,改用 netsh / TCP Proxy / DLL Hook 三種方式把連線導到私服 |
| Windows 相容性與視窗模式修復 | 解決 Win8/10/11 上常見的 -2147 Parameter Error、背包崩潰,以及開啟視窗模式 |
| HD 客戶端與解析度調整 | 把 800×600 的畫面改成 1024×768 / 1280×720,或直接用開源 HD 客戶端 |
| Winlator 手機連線教學 | 透過 Winlator 虛擬環境,在 Android 手機上執行 v83 客戶端 |
路線 A 全部發布完成。
若你要改的是遊戲畫面裡的圖片、文字、怪物座標,那是 WZ 資源修改,不算登入器範疇,可以直接看 HaRepacker 教學。
路線 B:給玩家用的登入器(站長)
如果你在架私服,需要提供一個登入器讓玩家下載使用:
| 教學 | 內容 |
|---|---|
| 自製登入器開發指南 | 自己寫一個給玩家用的登入器,包含檔案驗證(hash)、WZ 驗證封包、自動補丁機制 |
| 開源登入器框架比較 | KMS391 Netsocket、Swordie、JourneyClient 三種現成開源框架的差異與適用情境 |
| 客戶端 DLL 修改實戰 | 用 DLL 注入修改 EXP 表、突破傷害上限、讓客戶端直接讀取 data 資料夾的 IMG(開發期免打包 WZ) |
路線 B 全部發布完成。
若你要編譯的是 v113 版本現成的登入器原始碼,可以直接看 ijl15.dll 編譯教學。
路線 C:登入器原始碼開發(進階)
這條路線以開源專案 MapleEzorsia-v2(GMS v83 私服登入器,透過 DLL 劫持連線)的原始碼為教材,帶你從零讀懂一個登入器是怎麼做出來的:
| 教學 | 內容 |
|---|---|
| DLL 劫持原理與環境建置 | 什麼是 DLL 劫持、v83 客戶端架構概覽、建立 Visual Studio x86 開發環境 |
| 登入器 DLL 專案結構解析 | 讀懂 .sln/.vcxproj 專案、dllmain.cpp 入口點,編譯出第一個 DLL |
| 記憶體操作與 Hook 技術入門 | 記憶體位址與指標基礎、Hooking 原理、Detours 函式庫實作 |
| Client.cpp 深度解析 | 解析度修改原理、UI 元素位置修正、登入畫面與選角畫面修正的程式碼邏輯 |
| 進階功能與設定系統 | 函式替換技術、自訂記憶體分配、config.ini 設定系統、WZ 資源整合原理 |
| 測試除錯與打包發布 | 如何測試/除錯 DLL、打包成可發布的登入器 |
路線 C 全部發布完成。完整讀完這條路線大約需要 10 小時以上,建議先確定自己看得懂基本 C++ 語法再開始。
需要哪一篇教學卻還沒看到連結嗎?歡迎在下方留言,會依需求調整發布順序。