天堂123分類:天堂123新手區 天堂123玩家分享 天堂123私服技巧 天堂123架設教學 返回天堂123首頁
您当前位置: 天堂123 > 天堂架設 > 私服如何設定與啟動模擬器教學

私服如何設定與啟動模擬器教學

此處使用Oracle VM VirtualBox虛擬機軟體,下載安裝了一個純淨的Windows 7 x64 旗艦版。

如果需要安裝虛擬機,可以參考此篇文章VirtualBox Windows 7 安裝。

準備
在開始前需要準備「天堂模擬器」,通常啟動模擬器的設定檔案都會一同放在裡面,這些檔案多數是.properties或是*.xml的副檔名。
此處所使用的是「L1J-3.80c」由日本開發團隊研發的版本做示範。
無法提供下載點,請根據關鍵字自行上網搜尋。
模擬器內目錄檔案如下圖:


註:目前每個目錄與檔案的用途這邊也不會特別解說,此篇文章只會針對會要用的的部分做說明,未來將會在後面的教學中慢慢補充。

需要用到文字編輯器,這邊推薦的是Notepad++,請直接下載安裝即可。
設定檔說明
首先進入模擬器的config資料夾,會看見九個檔案 -

目前只需要關注在server.properties上~



altsettings.properties
c3p0-config.xml
charsettings.properties
fights.properties
java.properties
log.properties
rates.properties
record.properties
server.properties
註:基本上每個設定檔內的註解說明是滿完善的。其實不用太擔心這些設定的用意。

修改 server.properties
初步架設的情況下,基本上只需要修改server.properties檔的資料庫連線設定的部分即可。

使用Notepad++開啟server.properties。
修改資料庫連線的資料庫名稱<380c>。
密碼的部分當初設定為root,所以不需修改。
下圖為方便比對,固分成左右視窗,分別為修改前與修改後。
修改前內容
# Database info
Driver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/l1jtw?useUnicode=true&characterEncoding=utf8
Login=root
Password=root
修改後內容
# Database info
Driver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/380c?useUnicode=true&characterEncoding=utf8
Login=root
Password=root

修改完成後,儲存檔案即可。
恭喜這樣就完成最基本的設定了。
註:關於其他設定檔的說明,將會在之後的文章陸續說明。

建立 maps
由於這邊使用的是「L1J-3.80c」,並沒有提供相對應的maps的*.txt檔,這邊可以在「L1J-3.50c」的版本中,
找到maps資料夾,且有三個檔案 -

351_maps.zip
352_maps.zip
360_maps.zip
這邊使用將會使用360_maps.zip檔來做「L1J-3.80c」的maps內容。

在「L1J-3.80c」目錄下建立maps資料夾。

將「L1J-3.50c」版本中的maps下的360_maps.zip檔案複製進「L1J-3.80c」目錄下maps資料夾內。

將360_maps.zip檔案解壓縮至此。

此時會見*.txt副檔名的檔案在此。

將360_maps.zip刪除。

該maps內的*.txt檔案,是模擬器所使用的地圖檔。
至於他如何產生,目前也不是很清楚,之後了解後會在撰寫文章做教學。
<2022-02-22補充>
針對上述的maps的產生方式的問題,在研究過工具後以及撰寫完成文章後;
使用超簡易地圖預覽 工具,針對客戶端進行產生即可取得。

編譯 Jar
回到「L1J-3.80c」目錄下,進入build資料夾。
可見一個ant資料夾,一個BuildManagement.bat檔。
註:ant為Apache Ant,是一個將軟體編譯、測試、部署等步驟聯絡在一起加以自動化的一個工具,
大多用於Java環境中的軟體開發。而BuildManagement.bat就是透過ant指令整合出來的模擬器打包工具。


左鍵雙擊執行BuildManagement.bat檔,彈出L1J 管理建置系統視窗。
輸入1,並Enter。

彈出一個在編譯的視窗,見最後的BUILD SUCCESSFUL,表示編譯成功。

此時可以將兩個L1J 管理建置系統和編譯視窗視窗關閉。
回到「L1J-3.80c」目錄下,可見下方產生出了兩個*.jar檔;分別為l1jloader.jar與l1jserver.jar。
註:l1jserver.jar為主要的天堂模擬器執行檔。


啟動模擬器
在前面的server.properties、maps和編譯Jar都成功的情況下。

執行「L1J-3.80c」目錄下的ServerStart.bat檔。

啟動過程中可能會需要允許存取防火牆,請點擊允許存取

此時彈跳一個命令提示字元視窗,這邊常聽人稱黑盒子。
上面將會顯示一些加載的訊息<根據版本不同會不一樣>。
此處沒有任何Exception、Error的相關作物訊息。
恭喜至此已經成功開啟天堂模擬器。

錯誤排除
這邊將會列出一些常見的錯誤訊息,讓人參考並進行排查。

錯誤關鍵訊息:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'l1jtw'

檢查與解決:
<380c>資料庫並沒有被建立,請參考天堂私服 | 匯入模擬器的資料庫。
server.properties檔案內的URL資料庫名稱沒有修改成自己建立的資料庫<380c>名稱。
錯誤關鍵訊息:
嚴重: Table '380c.npc' doesn't exist com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '380c.npc' doesn't exist

檢查與解決:
沒有將資料表npc380_131029,重新命名為npc,請參考天堂私服 | 匯入模擬器的資料庫的注意章節。
錯誤關鍵訊息:
Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

檢查與解決:
server.properties檔案內的Password密碼輸入錯誤,請修改為當初安裝資料庫所設定的密碼即可。
錯誤關鍵訊息:
loading map...七月 15, 2021 9:08:29 下午 l1j.server.server.model.map.L1WorldMap <init> 嚴重: null java.lang.NullPointerException

檢查與解決:
maps資料夾並不存在,請參考上方的建立 maps章節。
錯誤關鍵訊息:
警告: Duplicate door location: id =

檢查與解決:
maps資料夾內並沒有*.txt副黨名的檔案,可能解壓縮多了一層的資料夾,請參考上方的建立 maps章節。
錯誤關鍵訊息:
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread

檢查與解決:
啟動Jar給的記憶體資源過小。修改ServerStart.bat內的記憶體配置大小即可。
調整512 → 1024 甚至更高,全看電腦記憶體配置。

啟動一段時間後發生OutOfMemoryError,模擬器定時重啟做記憶體釋放。
註:如果有遇到沒列出來的錯誤,可以將一些關鍵字上網搜尋,基本上都可以找到相關文章並解決問題。