想在自己電腦上重溫說話之島、練等打寶、一個人開一顆「私人天堂」?這篇用 L1J-TW 3.80C 模擬器,搭配 3.81c 免安裝主程式,從零把伺服器跑起來,並用登入器連進遊戲。
目標很單純:本機單機可玩。走完之後,黑盒子會停在 port 2000 等連線,客戶端從 127.0.0.1 登入,角色就能站在商店村。
定位:個人懷舊、單機與區網練習用。不是營運教學,也不提供官方主程式。
你會得到什麼
完成後會看到兩件事:
- 黑盒子(模擬器視窗)出現「伺服器成功建立在 port 2000」「等待客戶端連線中...」
- 天堂客戶端從本機登入,角色出現在說話之島商店村
成功畫面如下:



免責與使用邊界
- 《天堂》著作權屬於 NCSOFT / 遊戲橘子。本篇只說明如何把已經在你手上的模擬器與資料庫跑起來。
- 3.81c 主程式請自行上網找,本站不提供。
- 僅供個人學習與單機懷舊,不要對外收費開服,也不要把來路不明的
.exe亂丟進系統目錄。
環境需求
| 項目 | 建議 | 不要用 |
|---|---|---|
| 作業系統 | Windows 10 64 位元(Win7 虛擬機也行) | 太新的環境硬上 Java 17 / MySQL 8,舊核心很容易炸 |
| Java | JDK 7 或 JDK 8 | Java 11、17、21 |
| 資料庫 | MySQL 5.5 / 5.6 | MySQL 8.x(舊 JDBC 常連不上) |
| 管理工具 | Navicat、HeidiSQL、DBeaver 擇一 | — |
| 記憶體 | 模擬器至少留 512MB~1GB | 筆電記憶體吃緊又把 -Xmx 開很大 |
先確認 Java 版本:
java -version
看到 1.7 或 1.8 就可以。若跳出 17.0.x 或 21.0.x,先裝 JDK 8,並把系統環境變數 JAVA_HOME、Path 指到新裝的 JDK,再開一個新的命令提示字元重測。
需要準備的檔案
三樣東西對版本,缺一不可:
| 檔案 | 用途 | 下載 |
|---|---|---|
| 天堂 3.81c 主程式(免安裝版) | 客戶端本體,版本對應 TW13081901 |
請自己上網找,本站不提供 |
| 天堂 3.80 登入器 | 把連線導向模擬器(本機 127.0.0.1:2000) |
下載連結 |
| 天堂 3.80 模擬器(含原 DB) | L1J-TW 3.80C,含 SQL,可直接開黑盒子 | 下載連結 |
另外再自行安裝:
- JDK 7 / 8
- MySQL 5.6
- Navicat 或同等資料庫工具
解壓縮時路徑盡量用英文、不要有空白,例如:
D:\Lineage380\server\
D:\Lineage380\client\
第一步:安裝並確認 MySQL
- 安裝 MySQL 5.6,埠號用預設 3306(有人改 3366 也可以,後面設定檔要對同一埠)。
- root 密碼請自己定一個,待會
server.properties要填一模一樣的。 - 字元集選 utf8(舊模擬器不是 utf8mb4)。
- 安裝完用 Navicat 連
localhost,帳號root,測過能連再繼續。
第二步:建立資料庫並匯入原 DB
這包模擬器「含原 DB」,通常在模擬器目錄的 db 資料夾裡,會看到類似:
db\
l1jtw_db.sql
或 l1jdb_Taiwan.sql
或一堆拆開的 .sql
1. 先看模擬器要連哪個庫名
用 Notepad++ 打開:
模擬器目錄\config\server.properties
找到這一段(實際庫名以你檔案為準):
# Database info
Driver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/l1jtw?useUnicode=true&characterEncoding=utf8
Login=root
Password=root
記住三件事:
URL裡/後面的庫名(例:l1jtw、l1jtw_db、380c)Login(多半是root)Password(改成你安裝 MySQL 時設的密碼)
2. 新建資料庫
在 Navicat 對連線按右鍵 → 新增資料庫:
- 名稱:跟
server.properties的庫名完全一致 - 字元集:
utf8 - 排序:
utf8_general_ci
3. 匯入 SQL
對新建的資料庫按右鍵 → 執行 SQL 檔案,選 db 資料夾裡的總庫檔。
若只有一堆拆開的 .sql,先跑資料夾裡的 Pack_DB.bat(若有),產生一份總檔再匯入。匯入過程若在檔尾碰到奇怪的 SUB 字元導致失敗,用 Notepad++ 打開該 SQL,刪掉檔案最末行那個亂碼後存檔再匯一次。
匯入成功後,庫裡應該看得到 accounts、characters、npc、weapon 等資料表。缺表就不要急著開服,黑盒子會直接報 Table 'xxx' doesn't exist。
第三步:對齊模擬器設定
同樣在 config\server.properties,單機最低限度只改資料庫:
Driver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/l1jtw?useUnicode=true&characterEncoding=utf8
Login=root
Password=你的MySQL密碼
其他常見預設(這包多半已經填好):
GameserverHostname=*
GameserverPort=2000
埠 2000 就是客戶端要連的遊戲埠,後面登入器也要填這個。
倍率在 config\rates.properties。本篇示範包已經調成單機爽服(經驗 / 掉落極高),黑盒子啟動時會印出來,例如經驗值 32767.0 倍。想改回比較像官服的手感,把裡面的 RateXp、RateDropItems、RateDropAdena 改小後重開模擬器即可。
帳號自動建立多半在 config\altsettings.properties:
AutoCreateAccounts=true
維持 true,第一次用登入器輸入的帳密就會自動寫進 accounts 表。
第四步:啟動黑盒子
回到模擬器根目錄,雙擊 ServerStart.bat。
Windows 防火牆若跳出「要允許 Java 存取網路嗎」,選允許。
正常啟動的特徵:
- 出現版本列:
Lineage 3.80C 開發 By L1J-TW - 印出伺服器設定清單(經驗、掉落、人數上限等)
- 讀取地圖、自動存檔、spawn mob、npcaction、bosscycle、TreasureBox
- 最後停在:
初始化完畢
→提示:互動指令聽取中...
等待客戶端連線中...
這就是圖一的狀態。這個視窗不能關,關了伺服器就停。
若視窗閃一下就消失,用記事本打開 ServerStart.bat,確認最後有 PAUSE,或改成在命令提示字元裡手動執行,才能看到錯誤訊息。
常見啟動指令長這樣(記憶體可依電腦調整):
@ECHO OFF
java -Xmx512m -Xincgc -jar l1jserver.jar
PAUSE
Java 8 若抱怨 -Xincgc 過時,可改成:
java -Xms512m -Xmx1024m -jar l1jserver.jar
PAUSE
第五步:主程式 + 登入器
- 解壓 3.81c 免安裝主程式 到
D:\Lineage380\client\。 - 把 3.80 登入器整個資料夾的檔案,複製進主程式目錄並覆蓋。重點檔通常包含:
Login.exe(之後都用這個進遊戲,不要點官方lin.bin/Lineage.exe)- 編碼器
Encode.exe(若有) TW13081901.bin(對應 3.81c 核心)
- 用編碼器設定連線(單機示範):
| 欄位 | 填什麼 |
|---|---|
| 名稱 | 隨意,例如 單機天堂 |
| IP | 127.0.0.1 |
| Port | 2000 |
| 版本 | 3.80 / TW13081901(有預設就別改) |
按「編碼」後,把產生的設定檔覆蓋回登入器目錄。
區網給另一台電腦玩時,IP 改成開模擬器那台電腦的區網 IP(例如 192.168.1.10),並在防火牆放行 TCP 2000。
第六步:登入進遊戲
順序固定:
- 先開黑盒子,等到「等待客戶端連線中...」
- 再執行主程式目錄的
Login.exe - 輸入帳號、密碼(例如帳號
test) - 若
AutoCreateAccounts=true,第一次登入會自動建帳 - 創角 → 進說話之島
黑盒子若連線成功,會出現類似:
從 /127.0.0.1 試圖連線
已連線到伺服器。
角色登入到伺服器中: char=你的角色名 account=test host=127.0.0.1
這就是圖二左側的 log。右側進遊戲後,人在商店村、NPC 都在,就完成了。
把帳號升成 GM
單機一定會用到 GM 指令。用 Navicat 打開 accounts 表,把你的帳號 access_level 改成 200(L1J-TW 常見 GM 等級),存檔後重登角色。
之後在遊戲裡打:
.help
可看這包支援的指令。常用的大致是:
| 指令 | 作用 |
|---|---|
.level 99 |
調等級 |
.item 物品編號 數量 |
生裝備/道具 |
.warp 或 .move |
傳點 |
.who |
看線上 |
.speed |
加速(視核心而定) |
.invisible |
隱身 |
實際指令名稱以 .help 為準,不同編譯包會有出入。
想改手感時改哪裡
| 想改的 | 檔案 | 重開模擬器才生效 |
|---|---|---|
| 經驗、正義、友好、掉寶、金幣 | config\rates.properties |
是 |
| 人數上限、Port、資料庫 | config\server.properties |
是 |
| 自動建帳、PvP、部分規則 | config\altsettings.properties |
是 |
| 角色出生、上限 | config\charsettings.properties |
是 |
改完務必關掉黑盒子再開,只改檔不重開會繼續用記憶體裡的舊值。
常見錯誤排除
黑盒子一閃即逝 / 找不到 Java
java -version沒反應:JDK 沒裝,或Path沒指到jdk\bin- 版本是 11 以上:改回 JDK 8 再開
Unknown database 'l1jtw'
- Navicat 裡根本沒建這個庫,或
server.properties的庫名打錯
Access denied for user 'root'@'localhost'
- MySQL 密碼跟
Password=不一致
Table 'xxx.npc' doesn't exist
- SQL 沒匯完,或匯入後某些表還叫
npc380_xxxxxx,沒改回核心要的表名
loading map... NullPointerException
maps資料夾不存在,或 zip 解出來多了一層maps\maps\- 正確應是
模擬器目錄\maps\0.txt這種結構
客戶端連不上、黑盒子完全沒 log
- 模擬器還沒等到「等待客戶端連線中」就先開登入器
- 登入器 IP / Port 不是
127.0.0.1/2000 - 防火牆擋了 Java
- 開了官方執行檔而不是
Login.exe
進得去但一直斷線
- 本機還好;區網時
GameserverHostname應為*或填主機區網 IP - 兩台電腦不在同一網段,或路由器開了 AP 隔離
OutOfMemoryError
- 把
ServerStart.bat的-Xmx512m改成-Xmx1024m或更高
延伸思考與常見問題
Q1:3.80C 模擬器為什麼要配 3.81c 主程式?
台版這段時期客戶端核心是
TW13081901,登入器與模擬器封包都對這個版本。主程式用錯版,輕則卡在登入畫面,重則一進遊戲就斷線。Q2:一定要裝 Win7 虛擬機嗎?
不是必須。Win10 + JDK 8 + MySQL 5.6 就能跑。若你的 Win11 對舊 Java、舊驅動不友善,再用 VirtualBox 掛 Win7 是比較省事的備案。
Q3:可以給朋友從外網連進來嗎?
技術上要把 router 做 TCP 2000 轉發,登入器填你的公網 IP 或 DDNS。這篇只覆蓋單機與區網;對外開服還有防火牆、DDoS、帳號安全與法律風險,不建議當「家用寬頻開服」來做。
Q4:資料庫匯入很久或失敗怎麼辦?
先確認是 MySQL 5.6 而不是 8。檔案若超過上百 MB,Navicat 逾時可把逾時秒數調大,或改用命令列:
mysql -u root -p 庫名 < l1jtw_db.sql。Q5:進遊戲是空島、沒怪沒 NPC?
多半是 spawn / npc 表沒匯好,或
maps路徑多一層。黑盒子啟動時應看到spawn mob、npcaction讀取完成;若這裡就報錯,先不要開客戶端。Q6:這包倍率為什麼那麼高?
單機包常把經驗、掉落拉到上限,圖一那種
32767倍就是這種設定。不喜歡就改rates.properties,沒有標準答案。