Site icon May's Notes

楓之谷私服架設圖文教學及問題彙總(v120及以下版本適用)

image 60

寫在前頭

這是我兩年前寫的文章,目前已經沒有在研究私服,只是覺得內容可能多少還有些幫助所以搬運過來,因此任何架設問題皆不再回覆。

準備工具

可選擇直接下載整合包或者個別下載架設工具,建議下載整合包

整合包

個別下載

標註📌為架設必要工具

其他版本端口:連結1連結287私服架設社團

影片教學

注意

影片部分直接跳過架設工具的安裝以及 JDK 環境變數的設定,請先看完文章中到「開啟 MySQL」服務 前的部分。

架設教程

v113的話87楓之谷有很完整的教程了,這邊教大家怎麼架TMS v120。

這個v120是集合了服務端+客戶端(2.1GB),內容包含:

安裝 XAMPP

到 XAMPP 官網找到圖中下載位置,根據自己的電腦系統安裝 XAMPP:

點擊安裝檔後可能會跳出下方警告,內容是說你的系統已開啟 UAC (使用者帳戶控制),請不要把 XAMPP 安裝到 C:\Program Files,直接按 OK 就好。

安裝時請確保 Apache、MySQL 和 phpMyAdmin (可選) 有打勾。

你可以將 XAMPP 安裝到任意位置,但就是不要裝在 C:\Program Files

後面就一路 Next 直到安裝完成。

安裝 Workbench

下載 Workbench 頁面根據自己的作業系統下載最新版 Workbench:

直接按下方「No thanks, just start my download.」直接下載:

安裝過程沒什麼特別的直接一路下一步到底就行。

安裝 JDK 及設定環境變數

在開始之前我們先安裝JDK,安裝檔為 伺服器端/jdk8 的 jdk-8u241-windows-i586。安裝過程中不需要修改任何設定,直接下一步即可。

安裝完畢後請將 jdk/bin 新增到環境變數中。( 不要跟其他版本的JDK衝突 )

在左下角放大鏡搜索「環境變數」點擊「編輯系統環境變數」:

點擊「環境變數」:

在下方系統變數欄位中找到 Path,選擇後按編輯

點擊右上角的新增,將 jdk/bin 的路徑添加近來後按確定

接著將端口內JarLib資料夾裡的 jar 檔放到

*請依照個人電腦JAVA安裝的位置自行尋找對應的資料夾。

開啟MySQL服務

打開 XAMPP 將 MySQL 服務開啟。

新增資料庫

打開 Workbench ,在下方 MySQL Connections 處找到 + 按鈕:

新增一個連線:

填完後按右下角的 OK

接著會看到首頁多了一個 localhost 的 connection,點一下它:

接著我們需要新建一個 Schema,在左側 Schemas 處按右鍵 – Create Schema..

填入資料庫名稱 maplestory 並選擇 Charset 為 big5 後按 Apply。(因為 sql 檔內容是用 big5)

不要動裡面的內容,直接按 Apply:

導入sql檔案

在上方工具列找到 Server – Data Import

勾選「Import from Self-Contained File」然後路徑為伺服器端口中的 sql 檔案,下方 Default Target Schema 記得改為 maplestory,都設定好後按右下角的 Start Import:

接著會跳出視窗,直接按 OK

我們需要將 sql 資料夾中的 sql 檔案全部 import 進去,所以要做兩次:

導出WZ

注意

如果使用的是我整理的 v120 整合包,可以直接跳到「修改伺服器設定」這一節。

看看你的端口有沒有wz資料夾,如果沒有請在伺服器端新增一個wz資料夾,再將 V120原版WZ 內所有檔案複製貼上到伺服器端的 wz資料夾 內。

如何導出WZ?

如果你的端口並沒有附已導好的WZ,這時候就需要自己導出。

先安裝 WzRepacker 然後開啟它(建議以工作管理員身分開啟,不然很容易自動關閉),選擇 File – Load

將客戶端裡的所有wz 個別導出(一次全導很容易出錯)。

選擇wz節點後,在上方工具欄找到 XML – Dump

設定不做修改,直接按Dump。

成功後會跳出訊息,顯示將wz導出到這個路徑的資料夾。

將裡面剛導出的Base.wz複製起來

貼上至伺服器端的wz資料夾內(沒有就新增一個),重複以上步驟直到客戶端內的所有wz都導出完畢。

*之後修改wz也都是要做這個步驟,只要修改wz就要重導出一次,否則不會生效。

製作登入器

到這就萬事俱備只差登入器,登入器的製作很簡單,在客戶端內新增一個文字檔 登入器.txt

輸入下方內容後另存為.bat檔

start MapleStory.exe 127.0.0.1 8484

修改伺服器設定

伺服器端內的 Settings.ini 用文字編輯器軟體開啟(ex:記事本)可以修改關於私服的一些設定,比如經驗倍率、介紹文字、活動、IP位址…等。

啟動伺服器

注意

如果使用的是我提供的 v120 架設整合包,啟動伺服器的時候可能會出現 sql 問題,請參考問題匯總 – SQL 第三點的解決辦法。

伺服器端內雙擊Launcher.bat 開啟伺服器。

當看見出現 加載完成 : : : 代表伺服器開啟成功。

再到客戶端開啟登入器,如果一切正常遊戲就會開啟了。

註冊帳號

登入頁面直接輸入帳號密碼可以自動註冊

*這邊背景是我自己改過了,原本的不是這樣。

遊戲視窗化

下載視窗化工具並解壓縮至客戶端中(如果使用的是我提供的 v120 整合包,裡面已經自帶了),將 dxwnd 相容性改為以系統管理員身分執行

打開後選擇 視窗化 – 增加程式

路徑選擇客戶端內的 MapleStory.exe,DirectX版本選擇 X8,下方視窗大小自行設定:

再重新使用登入器開啟遊戲就可以視窗化執行了。

若是使用視窗化開啟私服,當你系統彈窗(ex: 使用工作管理員開啟某軟體)時,視窗化會自動取消變回全螢幕。

問題匯總及解決辦法

WAMP

首先是新手最容易卡住的部分WAMP

1. WAMP亮黃燈怎麼辦?或者提示could not execute menu item internal error怎麼辦?

看看你的MySQL port 3306 是不是被佔用了,若是在這之前有安裝過類似的環境整合包(AppServ, Xampp , Wamp…) 很容易導致 port 起衝突,有兩種解決方式:

至於怎麼改 port,請Google搜尋:3306 port被占用

2.特別要注意的一點是,請一定要讓wamp在上線狀態…

SQL

1.當點擊資料庫卻出現下方提示:

沒有開啟 MySQL 服務,如果使用的是 WAMP 請將 WAMP沒打開(或者將WAMP上線),如果使用的是 XAMPP 請打開 XAMPP 控制台將 MySQL 服務啟用。

2.導入sql過程中會出現因 accounts 資料表中的 birthday 或 tempban 初始值錯誤而無法導入accounts資料表

使用文字編輯器將sql檔打開,找到 birthday 後面的 DEFAULT '0000-00-00' 改為

DEFAULT '1000-01-01'

將 tempban 後面的 DEFAULT '0000-00-00 00:00:00' 改為

DEFAULT '2018-01-01 00:00:01'

3. 啟動伺服器時出現:maplestory.alliances doesn't exist

(類似問題相同解法)

出現這個錯誤代表 import sql 的時候出了問題 alliances 這個資料表不存在。如果你是用 Workbench 的話,先點左上角的 SQL + 圖示

當出現 SQL File 時,輸入 use maplestory; 後點上方工具列的第一個閃電,這樣就能選中 maplestory 這個資料庫。(當左邊 SCHEMAS 處的 maplestory 是粗體黑字時代表已經成功選中)

再從伺服器端口中 sql 資料夾內的 maplestory.sql 找到 alliances 的 SQL 語句,將它貼進去後按上方工具列的第二個閃電圖示執行。

CREATE TABLE `alliances` (
`id` int(11) NOT NULL,
`name` varchar(13) NOT NULL,
`leaderid` int(11) NOT NULL,
`guild1` int(11) NOT NULL,
`guild2` int(11) NOT NULL,
`guild3` int(11) NOT NULL DEFAULT '0',
`guild4` int(11) NOT NULL DEFAULT '0',
`guild5` int(11) NOT NULL DEFAULT '0',
`rank1` varchar(13) NOT NULL DEFAULT '公會長',
`rank2` varchar(13) NOT NULL DEFAULT '公會副會長',
`rank3` varchar(13) NOT NULL DEFAULT '公會成員',
`rank4` varchar(13) NOT NULL DEFAULT '公會成員',
`rank5` varchar(13) NOT NULL DEFAULT '公會成員',
`capacity` int(11) NOT NULL DEFAULT '2',
`notice` varchar(100) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=big5;

成功的話下方 Output 視窗會有一條訊息,顯示你剛剛執行的 SQL 語句成功:

在對著 maplestory 資料表按右鍵-Refresh All 就會看到多了一個 alliances 資料表,代表成功了。

伺服器

1.出現 Exceptoion in thread “Thread-1″ java.lang.NoSuchMethodError.server.ServerProperties.getProperty…

重新安裝JDK8並設定環境變數,設定java環境變數的方法請再回去看文章中 JDK安裝及設定環境變數 那節。

2.開啟伺服器時出現Invalid maximum heap size ….

將Launcher.bat用記事本打開,把512M改成1024M

3.出現錯誤:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

沒有添加jdk環境變數或是環境變數中有多個jdk路徑導致異常。添加環境變數方法請再回去看文章中 JDK安裝及設定環境變數 那節。

4.啟動端口出現 Logs\LogIPs.txt(系統找不到指定的檔案)

在伺服器端口中的 Logs 資料夾建一個 LogIPs.txt 即可。

遊戲開啟

1.[Error:32a1000b]認證檔案無法下載%1

將過HS的 ijl15.dll 檔案覆蓋到主程式資料夾。

2.Error code: Failed in finding proper screen made for Gr2D

將MapleStory.exe 右鍵 – 內容 – 相容性 -勾選以相容模式執行這個程式(Windows 8)以系統管理員的身分執行此程式

3.按下Play卻沒有任何反應?

可能是因為背景已經有開啟楓之谷,只需要用工作管理員強制關閉再重新開啟就可以了。
如果還是不行,可以試試看將相容性改為以 Windows 8 開啟。

4.遊戲開啟後到登入畫面變黑屏

請重新開機再試試看。

5.遊戲選角後無法進入遊戲

請檢查伺服端和登入器的IP是否填寫一致,如果只是單機自己玩請不要改動,直接使用127.0.0.1(本機位址)即可。

6.與登入伺服器連線中斷,請稍後再試。

這種情況發生原因比較多種,解決辦法有以下幾種,都可以試試看:

  1. 打開工作管理員檢查是否有開多個 MapleStory.exe,如果有把全部都結束再開一次
  2. 確認登入器 IP 跟伺服器設定檔 IP 是否一致,且預設 port 8484 是否可用 (GOOGLE關鍵字: 防火牆 port)
  3. 請確保使用登入器啟動
  4. 修改 MapleStory.exe 的相容性成 Win 7 或 Win 8
  5. 找到該版本 ijl15.dll 覆蓋 (bypass的問題)
  6. 將防火牆關閉
  7. Win 10 搜尋[控制台],點 程式集-程式和功能-開啟或關閉Windows功能-往下拉有個傳統元件 – 按 + 並將 DirectPlay 打勾後按確定 – 會出現一個讀取視窗,結束後應該可以正常遊戲) 須注意DirectPlay一但安裝若想移除僅能透過重灌作業系統的方式,若電腦有其他特殊用途請斟酌使用

端口問題

1.TMS v120 使用高級美髮沒反應

打開 _src/tools/MaplePacketCreator.java_,Ctrl+F搜尋 getNPCTalkStyle 找到

public static MaplePacket getNPCTalkStyle(int npc, String talk, int… args){
  mplew.writeShort(7);
  //...
}
public static MaplePacket getNPCTalkStyle(int npc, String talk, int… args){
  mplew.writeShort(8);
  //...
}

2.商城的東西跟商店的東西在 sql 改;NPC腳本在端口的 Libs\scripts\npc 改;WZ 的話不只要改端口的 xml 還有客戶端的 WZ 檔;再其他的就是改 SRC 了。

3.TMS v120端 使用 sendGetNumber 函數有輸入問題

打開 tools/MaplePacketCreator.java 搜索 getNPCTalkNum 方法,將

mplew.write(4);
mplew.writeShort(3);

修改為

mplew.write(5);
mplew.writeShort(4);

在這個函數下方找到 getNPCTalkText 方法,將

mplew.write(4);
mplew.writeShort(2);

修改為

mplew.write(5);
mplew.writeShort(3);

如何和朋友一起玩?

不想用 Hamachi 的話也可以用 RadminVPN,都是差不多的步驟。

需要下載 hamachi ,下載安裝好後開啟它,按一下像開機的按紐連線。

網路 – 建立新網路…。

自訂網路ID及密碼

別人需要加進來的,這個ID和密碼需要分享出去,所以不要用自己的帳號密碼

*ID有可能會與別人重複,其實取什麼都可以,不一定要叫私服的名字。

接著將你的 網路ID 和 密碼 分享給朋友,讓朋友也安裝 hamachi 並加入你的網路。

不用查了 , 流連谷是我瞎取的xd

登入器的 IP 改為 hamachi 提供的 IP (IPv4)。

伺服器端的 Settings.ini 中的 tms.IP 改為同樣的位址。

最後,將你的整個客戶端壓縮後上傳至雲端分享給朋友,朋友下載解壓縮後使用登入器即可進入遊戲。

Exit mobile version