RO 私服資料庫完整圖文教學,新手易懂
RO 私服資料庫完整圖文教學Windows x64|MariaDB|HeidiSQL|rAthena
本篇會完成的事
[*]安裝 MariaDB 資料庫與 HeidiSQL 管理工具
[*]建立 ragnarok、ragnaroklog 兩個資料庫
[*]建立伺服器專用的資料庫帳號(不使用 root)
[*]匯入 rAthena 官方 SQL 檔案
[*]設定 rAthena 的資料庫連線(使用 import 資料夾)
[*]修改預設的伺服器帳號 s1/p1,並確認連線成功
閱讀前說明
‧圖片中的版本號碼僅供參考,請以官方網站實際提供的版本為準。
‧文中的「你的密碼」請自行換成你設定的密碼,不要直接照抄。
‧rAthena 原始碼的編譯流程會在後續教學另外介紹。
第 0 章|準備工作與下載
0-1. 需要準備的軟體
軟體用途官方下載
MariaDB Server儲存帳號、角色、物品、公會等遊戲資料MariaDB 官方下載
HeidiSQL圖形化管理資料庫、匯入 SQL 檔案HeidiSQL 官方下載
rAthena 原始碼模擬器本體rAthena 官方 GitHub
Git for Windows(選用)取得與更新原始碼Git 官方下載
Visual Studio編譯 Windows 版 rAthena(後續教學)Visual Studio 官方下載
小提醒: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 資料夾執行:
git pull
比較Download ZIPGit
上手難度簡單,不用學指令需要基本指令
更新方式重新下載、手動搬移修改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 SystemWindows
Architecturex86_64
Package TypeMSI 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 安裝精靈(此圖為已安裝環境的維護畫面,全新安裝的畫面依上方步驟操作)
補充:各版本安裝畫面可能略有不同,詳細說明可參考 MariaDB Windows MSI 官方文件。
第 3 章|HeidiSQL 連線與建立資料庫
3-1. 新增連線
開啟 HeidiSQL,按左下角「新增」,填入:
欄位填入
工作階段名稱隨意,例如「RO 本機」
主機名稱 / IP127.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 檔案」。
[*]選擇要匯入的檔案,依下表操作。
目標資料庫要匯入的檔案
ragnarokmain.sql、web.sql、roulette_default_data.sql
ragnarokloglogs.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,加入:
userid: 新帳號
passwd: 新密碼
開啟 conf/import/map_conf.txt,加入同樣的內容:
userid: 新帳號
passwd: 新密碼
注意:三個地方的帳號密碼必須完全一致,否則角色伺服器、地圖伺服器會連不上登入伺服器。
第 8 章|確認設定成功
編譯完成後(編譯教學另見後續文章),依序啟動:
[*]login-server.exe
[*]char-server.exe
[*]map-server.exe
成功的狀態:
[*]視窗沒有出現 或 開頭的錯誤訊息。
[*]char-server 顯示已連上 login-server,map-server 顯示已連上 char-server。
常見錯誤排查:
錯誤現象可能原因
Access denied for userinter_conf.txt 的帳號或密碼打錯;或第 4 章帳號沒建立成功
Unknown database資料庫名稱和第 3 章建立的不一致
Table doesn't existSQL 檔案沒匯入,或匯入到錯的資料庫
Can't connect to MySQL serverMariaDB 服務沒有啟動,或連接埠不是 3306
char-server 連不上 login-server第 7 章三處的 s1/p1 帳號密碼不一致
安全提醒:
‧3306 連接埠不要在路由器或防火牆對外開放,資料庫只需要本機連線。
‧root 和 ragnarok 帳號都請使用夠長、夠複雜的密碼。
資料庫建立完畢後,就可以進入伺服器架設了!
下一篇:rAthena 伺服器架設教學|從原始碼到啟動
以上就是 rAthena 資料庫的完整設定流程。
有問題歡迎在下方回覆,或到 POPLAB Discord 或到 RO私服疑問區 詢問!
頁:
[1]