给专业玩家分析,苍穹本人也转发过,看来基本认可。本文档基于对 BiaoGe 插件全部源代码的通读,梳理出所有涉及玩家之间通讯的功能模块,明确每个功能提供的能力、使用的通讯信道与传输的数据字段。生成日期:2026-08-26。

一、通讯机制总览 插件使用两类通讯手段:
Addon 消息(玩家间隐性通讯):通过
C_ChatInfo.SendAddonMessage /
ChatThrottleLib:SendAddonMessage 在 RAID / GUILD / WHISPER 信道收发,监听 CHAT_MSG_ADDON 事件。这是插件间真正的数据传输通道。
普通聊天(公开/密语):通过 SendChatMessage 发到 RAID / RAID_WARNING / WHISPER / GUILD / SAY / YELL / 自定义频道,所有人可见,用于通报与提示。
注册的 Addon 消息前缀(DB.lua 设 addonChannelCount=10,部分前缀会扩展 1..10):
前缀 | 信道 | 用途 |
BiaoGe | RAID / GUILD | 版本检测、交易同步、对账数据、重拍申请 |
BiaoGe2 | RAID | 提醒拍卖、退款转未拍 |
BiaoGeAuction | RAID | 发起拍卖(第一代) |
BiaoGeReceive + 1..10 | WHISPER | 分享完整表格 |
BiaoGeAIMap + 1..10 | RAID | 分享站位图 |
BiaoGeWorldBoss | RAID | 世界BOSS CD 同步 |
TuanJianBoard + 1..5 | RAID | 减伤链 / 团长面板 |
说明:所有大体积数据(表格、站位图)均先
C_EncodingUtil.CompressString 压缩 + LibBase64 编码,再按 255 字节切片,用多 addon 通道并发以绕过单通道限速;小指令直接单包发送。指令类消息大多带身份校验(仅信任 ML/Leader/Assistant 发出),防止普通团员伪造。
功能:把当前/历史 BiaoGe 表格(含拍卖记录)整体发送给指定玩家。
信道:BiaoGeReceive / BiaoGeReceive1..10,WHISPER(点对点)。
流程与数据:
请求方点击聊天里 [!BiaoGe:玩家-服务器-Now/History-FB-标题] 链接 → 发送 Now-FB-title 或 History-FB-title 请求(Receive.lua L458)。
拥有方收到请求后构造表格代码,分包发送:!BIAOGE!!END!,按 255 字符切片(Receive.lua L732-755)。新版用 BiaoGeReceive1..10 多通道并发,旧版单通道。
压缩前明文结构(Receive.lua L511-548),用 ^^ 分三级、&& 分条目、¦ 分字段。
明文各段内容:
段1 基本信息:FB&&DT(时间戳)&&标题^^
段2 表格内容,每条:boss号¦格子号¦物品link¦买家¦金额¦欠款¦颜色r¦颜色g¦颜色b&&
段3 拍卖记录,每条:类型¦物品¦装等¦品质¦绑定类型¦买家¦金额¦颜色r¦颜色g¦颜色b&&
接收方解压后填充到接收表格界面,可使用该表格替换当前表格或保存至历史表格。
功能:团长/ML 发起拍卖,团内所有插件用户同步看到拍卖窗口。
信道:BiaoGeAuction,RAID。
数据(Auction.lua L358-369):
第一代:StartAuction,time,itemID,money,duration,,mod,link
第二代(WA):StartAuction^time^itemID^money^duration^^mod^link^resetThreshold
字段含义:发起时间戳、物品ID、起拍价、时长、模式(normal/anonymous/roll)、物品link、重置阈值。
其他相关:
BiaoGeAuction / BiaoGe 上的 VersionCheck 与 MyVer-版本号 用于团内版本检测(Auction.lua L1312-1313)。
拍卖成功/流拍通过团长发 RAID_WARNING/RAID_LEADER 普通聊天通报({rt6}拍卖成功{rt6}),不走 addon 消息。拍卖记录框 AuctionMSG.lua 监听 CHAT_MSG_RAID_* 录入这些聊天。
Roll 点模式:SendChatMessage 发送 {rt1}Roll点开始{rt1} 物品link 到 RAID_WARNING(Auction.lua L428)。
团长可把拍卖 WA 字符串用密语发给没装插件的团员(Auction.lua L270)。
功能:团员可向团长发申请,团长端弹窗确认。
信道与数据:
BiaoGe RAID:ReAuction^itemID^link^金额(申请重拍,AuctionLog.lua L1434)
BiaoGe2 RAID:RemindAuction^itemID^link(提醒团长拍卖某件,AuctionLog.lua L1261)
BiaoGe2 RAID:RefundAuctionToFailed^itemID^link^买家^金额(退款转未拍同步,Trade.lua L253 发送,AuctionLog.lua L2534 接收)
功能:团长/ML 与团员交易时,向全团广播正在交易谁/交易结束,让团员端高亮对应玩家与物品。
信道:BiaoGe RAID。
数据(Trade.lua L792-801):
tradeTo-目标玩家名(打开交易框时发)
tradeEnd(关闭交易框时发)
接收端 Trade.lua L768-780 仅信任 ML 发出的消息。
功能:团长通报账单时,把每笔装备交易明细用 addon 消息发给团内其他 BiaoGe 用户,用于自动对账识别。
信道:BiaoGe RAID。
数据(ZhangDan.lua L539-563):
DuiZhang-买家-itemID 金额,itemID 金额,... (金额为 t 表示打包交易)
接收端 DuiZhang.lua L271-291 解析后存入对账临时表,配合聊天里的账单通报文本一起识别。账单本身还会通过 SendMsgToRaid 用普通聊天通报(RAID/GUILD/SAY/YELL,见 ZhangDan.lua L38、Channel.lua)。
功能:团长/助理把站位图(玩家在 BOSS 图上的坐标与编号)广播给全团。
信道:BiaoGeAIMap / BiaoGeAIMap1..10,RAID。仅接受 leader/assistant 发送(Map.lua L618)。
数据:!AIMAP!!END!,按 255 切片(多通道并发)。明文结构(Map.lua L485-500):
段1:FB&&bossIndex&&mapWidth&&mapHeight&&childIndex&&bossName^^
段2:图标列表(编号、玩家名、坐标、颜色等)
接收后用 BG.BuildMapByCode 渲染并保存到 BiaoGe.maps(最多10张)。
功能:团内成员互相同步各自的世界 BOSS 击杀进度,用于显示谁还差哪个BOSS。
信道:BiaoGeWorldBoss RAID。
数据(WorldBossCD.lua L335-348):
VersionCheck(请求)
cd^bossID:1,bossID:0,...(自己已击杀的BOSS列表,1=已杀)
功能:团长/助理下发某玩家在 X 秒后需交减伤技能任务,团员端显示倒计时进度条,并可被团长密语提醒。
信道:TuanJianBoard1..5,RAID。仅接受 leader/assistant 发送(BoardReceiver.lua L870-875)。
数据(BoardReceiver.lua L712-745),逗号分隔:
show,bossSpellID,index,player,duration,abilityText,autoHide,now,target
其中abilityText 用 ^ 连接多个技能/物品,每项 s<法术ID> 或 i<物品ID>(L87-103)
hide,bossSpellID(按首领技能清空)
hideAll(清空全部)
另有团长对责任人的密语提醒(普通聊天 WHISPER,BoardReceiver.lua L585-597):提醒:N秒后你需施放<技能link> / 提醒:你需立刻施放<技能link>。
功能:检测团/公会内是否有过期版本。
信道与数据:
BiaoGe GUILD:VersionCheck / MyVer-版本-(BiaoGe.lua L2616-2635)
BiaoGe RAID + BiaoGeAuction RAID:VersionCheck / MyVer-版本(Auction.lua L1267-1281)
以下模块虽监听聊天事件,但只做本地记录/展示,不向其他玩家发送数据:
AuctionMSG.lua:监听 CHAT_MSG_RAID_* 录入拍卖聊天记录框(本地)。
ChannelHistory.lua、TradeHistory.lua、MailHistory.lua、History.lua、Dungeon.lua、RoleOverview.lua:无 addon 消息收发。
Loot.lua:原本设计 AutoLoot,itemID,count 的拾取同步,但发送代码已被注释禁用(L1984、L2025),仅保留接收逻辑。
Welcome.lua:自动发 YY 频道号到聊天(普通 SendChatMessage),非 addon 通讯。
MeetingHorn.lua:仅 hook SendChatMessage 拦截密语做活动匹配,不广播数据。
SendMail.lua:无 addon 通讯。
功能 | 前缀 | 信道 | 方向 | 关键数据字段 |
表格分享 | BiaoGeReceive(+1..10) | WHISPER | 请求方→拥有方 | Now/History-FB-标题 |
表格分享 | 同上 | WHISPER | 拥有方→请求方 | !BIAOGE!{Base64(FB,DT,标题,[boss/i/物品/买家/金额/欠款/颜色],[拍卖记录])}!END! |
发起拍卖 | BiaoGeAuction | RAID | ML→团 | StartAuction(^,)time,itemID,money,duration,mod,link,resetThreshold |
版本检测 | BiaoGe / BiaoGeAuction | RAID/GUILD | 双向 | VersionCheck / MyVer-版本 |
重拍申请 | BiaoGe | RAID | 团员→ML | ReAuction^itemID^link^金额 |
提醒拍卖 | BiaoGe2 | RAID | 团员→ML | RemindAuction^itemID^link |
退款转未拍 | BiaoGe2 | RAID | ML→团 | RefundAuctionToFailed^itemID^link^买家^金额 |
交易同步 | BiaoGe | RAID | ML→团 | tradeTo-玩家名 / tradeEnd |
对账明细 | BiaoGe | RAID | ML→团 | DuiZhang-买家-itemID 金额,... |
站位图 | BiaoGeAIMap(+1..10) | RAID | 团长→团 | !AIMAP!{Base64(FB,bossIndex,宽,高,子索引,boss名,[图标])}!END! |
世界BOSS CD | BiaoGeWorldBoss | RAID | 双向 | VersionCheck / cd^bossID:1,... |
减伤链 | TuanJianBoard1..5 | RAID | 团长→团 | show,bossSpellID,index,player,duration,abilities,autoHide,now,target / hide / hideAll |
减伤密语提醒 | (普通聊天) | WHISPER | 团长→责任人 | 提醒:N秒后你需施放<技能> |
账单通报 | (普通聊天) | RAID/GUILD/SAY/YELL | ML→团 | 账单文本(SendMsgToRaid) |
更新时间:2026-08-29
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 71396.com 闽ICP备11008920号
闽公网安备35020302034844号