Moposx的部落阁

使用英雄聯盟國服客戶端OB外服對局

字数统计: 682阅读时长: 2 min
2020/04/20 Share

前言

此前一直以為只有外服客戶端才能進行OB,不過這樣似乎不是很合理,難道國服服客戶端就不是 LoL 客戶端?誠然,國服客戶端裏面塞了不少騰訊家的辣雞組件,和拳頭官方版的客戶端差別還是有的,直接去 op.gg 下載到的 OB 啟動腳本是無法直接啟動國服客戶端進行 OB 的。

問題分析

首先我們看看這個 OB 啟動腳本是個什麼結構:

OB 腳本分析

比較關鍵的就是 LoL 客戶端的位置。腳本預設了一個 RADS 文件夾的位置,即“C:\Riot Games\League of Legends”,如果這個位置並不存在於電腦上就會使用玩家自行在 op.gg 上設置的遊戲文件位置。

那為何國服 LoL 客戶端無法啟動 OB 對局?我們觀察一下不同遊戲客戶端的文件就可以得知,相較於美服,國服的文件夾被拆分了,Game 目錄直接被移動到了遊戲文件夾的根目錄裏面。大家可根據美服 LoL 客戶端的文件結構自行對比分析:

美服 LoL 文件夾

美服的 LoL 遊戲可執行文件的位置:

League of Lengends.exe 位置

接下來看看 OB 腳本是如何啟動 OB 對局的。

OB 启动代码

原來如此,最終是啟動 “League of Legends.exe”,並且要附帶上一些參數:

1
2
3
cmd> @start "" "League of Lengends.exe" "spectator SPECTATOR_URL SECRET SPECTATOR_ID SERVER_REGION" "-UseRads" "-Locale=LOCALE_NAME" "-GameBaseDir=.."

pwsh> '.\League of Legends.exe' 'spectator SPECTATOR_URL SECRET SPECTATOR_ID SERVER_REGION' '-UseRads' '-Locale=LOCALE_NAME' '-GameBaseDir=..'

而國服的 “League of Legends.exe” 位於 “英雄联盟\Game\”裏。這意味著我們要在那個目錄下面執行指令。我們再來看看別的參數:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# spector server and port (should be omitable)
spectator.na2.lol.riotgames.com:80

# secret
Gt/4p574BORnnPVZHHipaNJT0FMAgfej

# match id
3384695424

# server region
NA1 # 我反覆查看了一遍,server region 不一定和 spectator server 的一樣

# locale
i.e. zh_CN; en_US; en_GB; ja_JP

其中,locale是可選項,國服直接用"-Locale=zh_CN"就行了。而 "-UseRads"看起來是必需的參數。至于"-GameBaseDir=..",在美服客戶端裏它指向的是 LoL 客戶端的根目錄,所以在這裏我們直接指定“..” 为實際的遊戲根目錄(就是包含有“英雄联盟”, “英雄联盟卸载”, “访问官网”幾個快捷方式的那個目錄)即可。不過,這個參數是可以略去的。

實踐和效果

用 Powershell 啟動 OB:

用 Powershell 啟動

或者用 CMD 也是可以的:

用 CMD 啟動 OB

看看最終效果:

載入對局畫面

對局畫面

國服 OB 的缺點

  • 國服客戶端字體是某個版本的微軟雅黑,不能顯示韓文字符。

  • 版本更新較外服慢。

CATALOG
  1. 1. 前言
  2. 2. 問題分析
  3. 3. 實踐和效果
  4. 4. 國服 OB 的缺點