常見問題

最常被問到的問題與解答。

15

搜尋與尋找玩家

為什麼名稱搜尋只找得到曾在本站被查看過的玩家?

因為官方 API 沒有名稱搜尋。它只能查詢完全一致的標籤,僅此而已——沒有任何端點能用名稱換回玩家清單。

所以名稱搜尋查的其實是本地索引。每個在本站被開啟過的個人檔案都會被儲存,名稱也一併記下,之後才能用名稱找到這位玩家。首次以有效金鑰啟動時,還會走訪官方獎盃排行榜(global 加上數十個國家/地區)替索引播種,因此全新安裝不會完全是空的。

用標籤搜尋一次,該玩家就會永久加入索引。曾用名稱也會保留,改名不會讓紀錄消失——搜尋頁的「包含曾用名稱」選項讀的正是這份紀錄。

上週還找得到的玩家從搜尋消失了,發生什麼事?

更新迴圈會按排程向 API 詢問每一個已收錄的標籤。當 API 回覆 404——帳號已刪除,或該標籤從未存在——這一列就會連同名稱與俱樂部紀錄一起移除。留著它只會把請求浪費在注定失敗的標籤上,還會在搜尋結果裡留下幽靈。

個人檔案下方的「api」、「cache」、「demo」是什麼意思?

每次取得資料時都會一併回報來源。api 表示本次頁面渲染時直接向 Supercell 取得。cache 表示儲存的副本仍在新鮮期內——玩家三分鐘、俱樂部十分鐘——或即時請求失敗時改用最後一份完好的副本,而不是顯示錯誤頁。demo 表示未設定 API 金鑰,頁面顯示的是固定種子產生器的資料。

本站目前連線至即時 API 運行。

對戰與統計

為什麼對戰紀錄只涵蓋 25 場?

因為 API 提供的完整對戰紀錄就只有最近 25 場,沒有分頁、也沒有日期範圍。更長的歷史只能靠日積月累。

所以每次有人開啟個人檔案,那 25 場之中的新對戰就會複製進本地封存庫,並以鍵值去重,同一場對戰永遠不會存兩次。經常被查看——或被加入書籤而進入快速更新層級——的玩家,隨時間會累積遠超過 25 場的紀錄。逐場封存的資料保留 90 天後修剪。

對戰頁籤上的各項統計是以當前 25 場視窗計算的,這也是為什麼打完一輪之後數字可能大幅波動。

強度榜究竟是怎麼算出來的?

從封存的對戰出發,依日期、模式、地圖與區間逐日彙總。強度榜讀取所選條件最近七天的資料,並忽略該視窗內出場少於 200 次的英雄。

分數不是原始勝率。每位英雄的勝場會先與整體平均混合:加入約 1,500 場以全體平均勝率計的虛擬對戰——也就是經驗貝氏收縮。打了 210 場、正在連勝的英雄會被拉回平均附近;打了 40,000 場的幾乎不動。接著以對數尺度加入一個小權重的出場率項,避免沒人玩的英雄靠小眾勝率登頂。

字母是該地圖分數分佈上以標準差切出的區段,不是固定的勝率門檻。S 大約在平均以上 1.25 個標準差,低於平均約 1 個標準差以上則落入最低的 D。因此階級永遠是相對於你正在看的那張地圖。

為什麼強度榜有時顯示為示範資料?

特定地圖的強度榜要先有真實樣本才有意義。若該模式、地圖與區間封存的對戰不足 5,000 場,頁面會退回固定種子產生器並在頂端明說,而不是默默端出以 80 場拼湊的榜單。熱門排位地圖最先填滿;冷門活動地圖可能長期停留在後備資料。

「估計遊玩時間」到底是什麼?

一個推導出來的數字,而且在所有出現之處都如此標示。API 完全不提供遊玩時間——只有勝場數。

它從勝場往回推:3v3 勝場以常見勝率約換算成兩倍場次,單人生存戰奪冠代表遠多於此的場次,每場再乘上該模式的平均時長,帳號等級則涵蓋不列入勝場統計的部分。一般帳號誤差約在 15% 內;主要打友誼賽或活動模式的玩家誤差更大。

生存戰的名次算勝場嗎?

算,只要在前半。生存戰的 API 只給名次不給勝負,因此 10 人單人戰的前 5 名、5 隊雙人戰的前 3 名,在所有顯示勝率之處都計為勝場——切點是名次前半、無條件進位,這也是為什麼隊伍數為奇數時,中間名次歸在勝方。平手另計,且不列入勝率分母。

為什麼排位段位分佈被標示為模型?

沒有任何天梯人口端點。Supercell 以外沒有人能數出每個段位有多少玩家。分佈頁顯示的是帶有估計總量的模型形狀;能顯示的實測數字只涵蓋本站已收錄的個人檔案——是樣本,不是整個天梯。形狀可供參考,絕對數字請當作估計值看待。

為什麼有些英雄沒有稀有度,或顯示為灰色?

API 回傳英雄的 id、名稱、小工具、星徽能力、裝備與超級充能——但不含稀有度與定位。那些來自以名稱比對的內建對照表。在對照表最後更新之後推出的英雄沒有對應條目,因此標為未知、以中性灰呈現,並排除在稀有度統計之外,而不是硬給一個看似合理的猜測。內建名冊最後同步於 2026-09-15,計算機表格則對應遊戲內數值,快照日期為 2026-09-16

資料新鮮度與 API 金鑰

這裡的資料多久更新一次?

兩條機制並行。開啟頁面時,若儲存副本超過其新鮮期——玩家三分鐘、俱樂部十分鐘——就會直接重新抓取。

背景則有一個輪詢器每 30 秒醒來一次,每輪以約 100 個請求的預算處理最逾期的項目,並受速率限制約束,讓整個流程不超出金鑰的額度。預算的去向由優先層級決定:被加入書籤或最近一小時被查看的帳號約每兩分鐘更新,最近一天被查看的每十五分鐘,其餘每六小時一次。這條個人檔案流程只會為前兩個層級順帶抓取對戰紀錄。

但對戰紀錄本身不限於這兩個層級。另有一條獨立的採集流程——通常占每輪預算約一半——按各帳號對戰紀錄距上次收集的時間走訪整個索引(冷帳號也在內),凡超過半小時未採集的玩家都會再抓一次紀錄。沒有人查看的帳號仍然在打對戰,而那些對戰正是強度榜樣本的來源。

在無伺服器平台上沒有長駐程序可維持這個間隔,因此輪詢器會關閉,改由外部排程器呼叫 cron 端點。

API 金鑰綁定的 IP 位址變了會怎樣?

Supercell 的 API 金鑰綁定固定 IP。伺服器的對外 IP 一旦改變——換主機、動態住宅網路、不同出口節點——所有請求都會開始收到明確代表「IP 不符」的 403。

發生時,更新循環會提前中止,而不是把整輪預算燒在注定失敗的請求上;錯誤與原因提示會被記錄,頁面改用最後的快取副本——網站照常運作,只是凍結在當下。解法是到 developer.brawlstars.com 為目前的對外 IP 建立新金鑰,填入環境變數後重啟。

帳號與自行架設

我的帳號存了什麼?

使用者名稱、加鹽的 scrypt 密碼雜湊、偏好語言與兩個時間戳記。不會要求也不會儲存電子郵件,因此也沒有密碼重設——忘記的密碼無法找回,只能另開新帳號。

除此之外:最多 25 個書籤與最近瀏覽的 25 個檔案,兩者都綁定帳號、跨裝置同步,以及一枚效期 90 天的工作階段 cookie。刪除帳號會連同書籤、瀏覽紀錄與工作階段一併移除。

怎麼在本地架設這個網站?

需要 Node 22 以上,因為持久化使用 Node 內建的 SQLite——沒有原生模組要編譯,也沒有資料庫伺服器要安裝。安裝相依套件後,在 3000 埠啟動開發伺服器即可。

沒有 API 金鑰也能執行:一切退回固定種子產生器,並播種一個示範目錄讓名稱搜尋有結果可回。把金鑰加入本地環境檔並重啟後,首次即時啟動會清除所有合成資料列,它們永遠不會滲入搜尋結果或排行榜。

內建遊戲資料(英雄、小工具、星徽能力、超級充能)由同步腳本更新,而不是在執行期抓取。

這是官方網站嗎?

不是。這是非官方的粉絲內容,建立在公開的 Brawl Stars API 之上,未經 Supercell 背書——每一頁的頁尾都有同樣的聲明,旁邊就是 Supercell 粉絲內容政策的連結。

更多

這裡沒涵蓋的問題,答案多半在技術說明搜尋規格之中。

常見問題 · BrawlPeek