馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。
您需要 登入 纔可以下載或查看,沒有賬號?立即註冊
×
RO 私服資料庫完整圖文教學
Windows x64|MariaDB|HeidiSQL|rAthena
本篇會完成的事
- 安裝 MariaDB 資料庫與 HeidiSQL 管理工具
- 建立 ragnarok、ragnaroklog 兩個資料庫
- 建立伺服器專用的資料庫帳號(不使用 root)
- 匯入 rAthena 官方 SQL 檔案
- 設定 rAthena 的資料庫連線(使用 import 資料夾)
- 修改預設的伺服器帳號 s1/p1,並確認連線成功
閱讀前說明
‧圖片中的版本號碼僅供參考,請以官方網站實際提供的版本為準。
‧文中的「你的密碼」請自行換成你設定的密碼,不要直接照抄。
‧rAthena 原始碼的編譯流程會在後續教學另外介紹。
第 0 章|準備工作與下載
0-1. 需要準備的軟體
小提醒:MariaDB 的 Windows 安裝程式通常會附帶 HeidiSQL,安裝時可以一起勾選,就不用另外下載。
0-2. 下載 rAthena 原始碼(二選一)
方法一:直接下載 ZIP(適合新手)
- 開啟 rAthena 官方 GitHub。
- 確認目前選擇的分支(一般使用預設的 master)。
- 點擊右上方綠色的「Code」按鈕。
- 選擇「Download ZIP」。
- 下載完成後,解壓縮到指定資料夾,例如 D:\rathena。
▲ 圖 0-1:點擊 Code 並選擇 Download ZIP
方法二:使用 Git(適合要持續更新的人)
安裝 Git for Windows 後,在要存放的資料夾按右鍵開啟 Git Bash,輸入:
- git clone https://github.com/rathena/rathena.git
複製代碼
之後要更新時,進入 rathena 資料夾執行:
| 比較 | Download ZIP | Git | | 上手難度 | 簡單,不用學指令 | 需要基本指令 | | 更新方式 | 重新下載、手動搬移修改 | git pull 一行指令 | | 適合 | 先試試看的新手 | 長期經營、會自訂內容的人 |
注意事項:
‧Git 不是專門下載測試版的工具,兩種方法拿到的是同一份原始碼。
‧更新前請先備份自己修改過的設定檔、腳本與重要資料。
第 1 章|MariaDB 下載與版本選擇
1-1. 確認 Windows 系統架構
- 按下 Win + I 開啟 Windows 設定。
- 選擇「系統」→「關於」。
- 查看「系統類型」。
- x64(64 位元):一般 Intel、AMD 電腦,本教學以此為主。
- ARM64:ARM 架構 Windows,請另外確認軟體是否支援。
- x86(32 位元):新版 MariaDB 可能已不提供,請以官方頁面為準。
1-2. 選擇下載版本
進入 MariaDB 官方下載頁面,依下列選擇:
| 項目 | 選擇 | | MariaDB Server Version | 持續維護中的 LTS 版本 | | Operating System | Windows | | Architecture | x86_64 | | Package Type | MSI Package | | Mirror | 台灣或連線穩定的下載站 |
▲ 圖 1-1:MariaDB 官方下載頁面與版本選擇
- LTS:長期支援版本,重視穩定的私服首選。
- Rolling:正式版本,但支援週期較短。
- Preview:預覽版本,不要用於正式營運。
安全提醒:請只從 MariaDB 官方網站下載,不要使用來源不明的安裝檔。
第 2 章|MariaDB 安裝
雙擊下載好的 .msi 檔案,啟動安裝精靈,依序操作:
- Welcome:按 Next。
- 授權條款:勾選同意,按 Next。
- Custom Setup:維持預設即可;如果有 HeidiSQL 選項,可以一起勾選安裝。
- User settings(最重要):
- 勾選「Modify password for database user 'root'」,輸入兩次 root 密碼。這組密碼請記好,第 3 章要用。
- 「Enable access from remote machines for 'root' user」不要勾選(避免外部直接用 root 登入)。
- 勾選「Use UTF8 as default server's character set」。
- Default instance properties:
- 勾選「Install as service」,服務名稱維持 MariaDB。
- 勾選「Enable networking」,TCP port 維持 3306。
- 按 Install 開始安裝,完成後按 Finish。
▲ 圖 2-1:MariaDB 安裝精靈(此圖為已安裝環境的維護畫面,全新安裝的畫面依上方步驟操作)
第 3 章|HeidiSQL 連線與建立資料庫
3-1. 新增連線
開啟 HeidiSQL,按左下角「新增」,填入:
| 欄位 | 填入 | | 工作階段名稱 | 隨意,例如「RO 本機」 | | 主機名稱 / IP | 127.0.0.1 | | 使用者 | root | | 密碼 | 第 2 章設定的 root 密碼 | | 連接埠 | 3306 |
填好後按「開啟」。
▲ 圖 3-1:HeidiSQL 新增連線
常見誤解:
‧按「開啟」只是用 root 登入資料庫,不會建立新帳號。
‧工作階段名稱只是 HeidiSQL 裡的顯示名稱,和 rAthena 設定無關。
‧rAthena 要用的帳號會在第 4 章另外建立。
3-2. 確認連線成功
左側出現資料庫清單,就代表已經連上。
▲ 圖 3-2:連線成功(畫面中的 ragnarok、ragnaroklog 是已經建好的,下一步教你建立)
3-3. 建立資料庫
- 在左側連線名稱上按右鍵,選「建立新的」。
- 展開子選單,選「資料庫」。
- 輸入資料庫名稱 ragnarok,定序選 utf8mb4_uca1400_ai_ci,按確定。
- 重複一次,建立 ragnaroklog。
▲ 圖 3-3:在連線名稱上按右鍵 →「建立新的」
▲ 圖 3-4:選擇「資料庫」
▲ 圖 3-5:輸入資料庫名稱與定序
注意:
‧定序清單裡如果沒有 utf8mb4_uca1400_ai_ci(較舊版本的 MariaDB),請改選 utf8mb4_general_ci。
‧資料庫名稱可以自訂,但第 6 章的設定必須和這裡完全一致。
第 4 章|建立伺服器專用帳號
rAthena 不建議直接使用 root 連線。萬一伺服器設定檔外流,別人就能控制整個資料庫。
所以我們另外建立一個只能存取這兩個資料庫的帳號。
在 HeidiSQL 選取連線後,按上方的「查詢」分頁,貼上以下指令(把「你的密碼」換掉),再按執行(F9):
- CREATE USER 'ragnarok'@'localhost' IDENTIFIED BY '你的密碼';
- CREATE USER 'ragnarok'@'127.0.0.1' IDENTIFIED BY '你的密碼';
- GRANT ALL PRIVILEGES ON ragnarok.* TO 'ragnarok'@'localhost';
- GRANT ALL PRIVILEGES ON ragnaroklog.* TO 'ragnarok'@'localhost';
- GRANT ALL PRIVILEGES ON ragnarok.* TO 'ragnarok'@'127.0.0.1';
- GRANT ALL PRIVILEGES ON ragnaroklog.* TO 'ragnarok'@'127.0.0.1';
- FLUSH PRIVILEGES;
複製代碼說明:
‧帳號名稱 ragnarok 可以自訂,第 6 章要填一樣的。
‧localhost 和 127.0.0.1 都建立,是為了避免不同連線方式被拒絕。
‧也可以用 HeidiSQL 的「工具 → 使用者管理」用圖形介面建立,結果相同。
第 5 章|匯入 rAthena 官方 SQL
5-1. 找到 sql-files 資料夾
SQL 檔案在 rAthena 原始碼的 sql-files 資料夾,請使用和伺服器同一份原始碼裡的檔案。
▲ 圖 5-1:rAthena 的 sql-files 資料夾
5-2. 匯入 SQL 檔案
- 先在左側點選要匯入的資料庫(很重要,選錯會匯入到別的資料庫)。
- 上方選單「檔案」→「執行 SQL 檔案」。
- 選擇要匯入的檔案,依下表操作。
| 目標資料庫 | 要匯入的檔案 | | ragnarok | main.sql、web.sql、roulette_default_data.sql | | ragnaroklog | logs.sql |
▲ 圖 5-2:檔案 → 執行 SQL 檔案
▲ 圖 5-3:選擇 main.sql
注意:
‧全新架設不需要匯入 upgrades 資料夾裡的檔案,那是舊版升級用的。
‧item_db、mob_db 這類 SQL 檔只有在設定使用 SQL 資料庫時才需要,一般不用匯入。
‧匯入完成後,在資料庫上按 F5 重新整理,應該會看到許多資料表(例如 login、char、inventory)。
第 6 章|rAthena 資料庫連線設定
6-1. 為什麼要用 import 資料夾?
conf/import 是放自己修改內容的地方。
官方更新時會覆蓋 conf 裡的原始設定檔,但不會動到 import 資料夾,所以自己的設定放這裡最安全。
找不到 conf/import 資料夾?
編譯 rAthena 時會自動建立。還沒編譯的話,可以把 conf/import-tmpl 整個資料夾複製一份,改名成 import。
▲ 圖 6-1:rAthena 的 conf 資料夾
6-2. 編輯 inter_conf.txt
用記事本(建議 Notepad++)開啟 conf/import/inter_conf.txt,貼上以下內容,把「你的密碼」換成第 4 章設定的密碼:
- // 主要資料庫(帳號)
- login_server_ip: 127.0.0.1
- login_server_port: 3306
- login_server_id: ragnarok
- login_server_pw: 你的密碼
- login_server_db: ragnarok
- // 封鎖 IP 資料庫
- ipban_db_ip: 127.0.0.1
- ipban_db_port: 3306
- ipban_db_id: ragnarok
- ipban_db_pw: 你的密碼
- ipban_db_db: ragnarok
- // 角色伺服器資料庫
- char_server_ip: 127.0.0.1
- char_server_port: 3306
- char_server_id: ragnarok
- char_server_pw: 你的密碼
- char_server_db: ragnarok
- // 地圖伺服器資料庫
- map_server_ip: 127.0.0.1
- map_server_port: 3306
- map_server_id: ragnarok
- map_server_pw: 你的密碼
- map_server_db: ragnarok
- // 網頁伺服器資料庫
- web_server_ip: 127.0.0.1
- web_server_port: 3306
- web_server_id: ragnarok
- web_server_pw: 你的密碼
- web_server_db: ragnarok
- // 日誌資料庫
- log_db_ip: 127.0.0.1
- log_db_port: 3306
- log_db_id: ragnarok
- log_db_pw: 你的密碼
- log_db_db: ragnaroklog
複製代碼
▲ 圖 6-2:conf/inter_athena.conf 原始設定(對照用,不要直接改這個檔案)
▲ 圖 6-3:日誌資料庫設定,log_db_db 要填 ragnaroklog
重點檢查:
‧_id 和 _pw 填第 4 章建立的帳號密碼,不是 root。
‧_db 填第 3 章建立的資料庫名稱。
‧只有 log_db_db 是 ragnaroklog,其他都是 ragnarok。
‧冒號後面要有一個空格。
第 7 章|修改預設伺服器帳號 s1/p1
main.sql 匯入後,會內建一組伺服器之間互相連線用的帳號 s1 / p1。
這組帳號大家都知道,正式開服前一定要改掉。
7-1. 修改資料庫裡的帳號
在 HeidiSQL 選 ragnarok 資料庫,到「查詢」分頁執行(自行換成新的帳號密碼):
- UPDATE `login` SET `userid` = '新帳號', `user_pass` = '新密碼' WHERE `account_id` = 1;
複製代碼
7-2. 修改伺服器設定
開啟 conf/import/char_conf.txt,加入:
開啟 conf/import/map_conf.txt,加入同樣的內容:
注意:三個地方的帳號密碼必須完全一致,否則角色伺服器、地圖伺服器會連不上登入伺服器。
第 8 章|確認設定成功
編譯完成後(編譯教學另見後續文章),依序啟動:
- login-server.exe
- char-server.exe
- map-server.exe
成功的狀態:
- 視窗沒有出現 [Error] 或 [SQL] 開頭的錯誤訊息。
- char-server 顯示已連上 login-server,map-server 顯示已連上 char-server。
常見錯誤排查:
| 錯誤現象 | 可能原因 | | Access denied for user | inter_conf.txt 的帳號或密碼打錯;或第 4 章帳號沒建立成功 | | Unknown database | 資料庫名稱和第 3 章建立的不一致 | | Table doesn't exist | SQL 檔案沒匯入,或匯入到錯的資料庫 | | Can't connect to MySQL server | MariaDB 服務沒有啟動,或連接埠不是 3306 | | char-server 連不上 login-server | 第 7 章三處的 s1/p1 帳號密碼不一致 |
安全提醒:
‧3306 連接埠不要在路由器或防火牆對外開放,資料庫只需要本機連線。
‧root 和 ragnarok 帳號都請使用夠長、夠複雜的密碼。
|