一、调试前置准备工作
1. 核心工具与资料:GOM引擎服务端(确保为完整稳定版本)、微信公众平台/开放平台账号(已完成实名认证,用于获取接口信息)、文本编辑工具(如Notepad++,用于修改配置文件)、数据库管理工具(如Navicat,用于查看验证数据)、浏览器(用于测试接口连通性)。
2. 关键文件定位:找到GOM引擎微信验证核心配置文件,路径通常为“引擎根目录\Config\WeChatVerify.ini”;验证脚本文件路径为“引擎根目录\Script\WeChatCheck.script”;服务端核心配置文件“Mir200\Config.ini”(需配置验证开关)。操作前务必备份所有原文件,防止调试失误导致服务端异常。
3. 微信接口信息获取:登录微信开放平台,进入“开发-接口配置”,记录AppID、AppSecret(需开启“网页授权获取用户基本信息”接口);若使用第三方微信验证服务,需获取服务商提供的API接口地址、验证密钥、回调地址,确保接口状态为启用。
二、微信验证核心参数配置
1. 基础接口信息配置:打开“WeChatVerify.ini”文件,用Notepad++编辑核心参数:① 接口类型:选择“官方接口”或“第三方接口”(按实际使用类型填写);② 官方接口参数:填写AppID、AppSecret,回调地址设置为“http://你的服务器IP:端口/WeChat/Callback”(需与微信开放平台配置一致,端口建议使用80或443,避免被防火墙拦截);③ 第三方接口参数:填写服务商提供的API地址、验证密钥,回调地址按服务商要求配置。
2. 引擎验证开关设置:打开“Mir200\Config.ini”文件,找到“[WeChatVerify]”段落,设置“Enable=1”(1为启用验证,0为关闭),验证触发节点设置为“Login=1”(登录时触发验证,可选注册时触发“Register=1”),验证失败处理方式设置为“RejectLogin=1”(验证失败禁止登录,可选提示后退出“ShowMsgExit=1”)。
3. 数据库关联配置:打开数据库管理工具,连接GOM引擎数据库,找到“RoleWeChat”表(用于存储角色与微信的绑定信息),确认表结构包含“RoleID”“WeChatOpenID”“BindTime”“VerifyStatus”等字段,若缺失需手动创建(字段类型参考:RoleID为VARCHAR(50),WeChatOpenID为VARCHAR(100),VerifyStatus为TINYINT(1))。
三、验证脚本编写与调试
1. 核心脚本逻辑:打开“WeChatCheck.script”文件,编写验证触发脚本,核心功能包括:获取登录角色信息、调用微信接口验证身份、更新数据库验证状态、处理验证结果(通过/失败)。以下是基础脚本框架:
Function WeChatVerify_Login(RoleID, RoleName) --登录触发验证函数 local WeChatOpenID = GetRoleWeChatOpenID(RoleID) --获取角色绑定的微信OpenID if WeChatOpenID == "" then --未绑定微信,触发绑定流程 ShowWeChatBindUI(RoleID) --显示微信绑定界面 return false --暂停登录 end --调用微信接口验证OpenID有效性 local VerifyResult = CallWeChatVerifyAPI(WeChatOpenID, AppID, AppSecret) if VerifyResult == 1 then --验证通过 UpdateRoleVerifyStatus(RoleID, 1) --更新数据库验证状态为已通过 return true --允许登录 else --验证失败 ShowSystemMsg(RoleID, "微信验证失败,请重新绑定或联系管理员") --显示提示信息 return false --禁止登录 end End
2. 接口调用调试:在脚本中添加接口调用日志输出功能,便于排查问题。示例:在“CallWeChatVerifyAPI”函数中添加“WriteLog("WeChatVerifyLog.txt", "接口调用参数:"+WeChatOpenID+",返回结果:"+VerifyResult)”。调试时启动服务端,查看“引擎根目录\Log\WeChatVerifyLog.txt”,确认接口参数是否正确、返回结果是否符合预期。
3. 绑定流程补充:若需支持角色与微信绑定,编写绑定脚本:Function WeChatBind(RoleID, WeChatCode) --通过微信授权码绑定 local WeChatOpenID = GetOpenIDByCode(WeChatCode, AppID, AppSecret) --通过授权码获取OpenID if WeChatOpenID ~= nil then InsertRoleWeChat(RoleID, WeChatOpenID) --插入数据库绑定信息 ShowSystemMsg(RoleID, "微信绑定成功,正在验证身份...") WeChatVerify_Login(RoleID, GetRoleName(RoleID)) --重新触发验证 else ShowSystemMsg(RoleID, "微信授权码无效,请重新操作") end End
四、服务端与客户端联动调试
1. 服务端启动调试:按顺序启动GOM引擎服务端(LoginSrv.exe、DBServer.exe、GameServer.exe),查看各服务窗口是否有报错信息(重点关注“WeChatVerify”相关报错)。若提示“接口连接失败”,检查服务器IP是否被微信接口封禁、端口是否开放、AppID与AppSecret是否正确;若提示“数据库连接失败”,核对数据库配置参数。
2. 客户端验证测试:启动传奇客户端,输入账号密码登录:① 未绑定微信场景:确认是否正常显示微信绑定界面(包含二维码或授权链接),扫描二维码/点击链接后,检查数据库是否新增绑定记录;② 已绑定微信场景:确认验证通过后能否正常进入游戏,验证失败时是否显示正确提示;③ 异常场景测试:输入无效授权码、接口断开时,查看客户端提示与服务端日志是否一致。
3. 回调地址调试:若使用网页授权模式,需测试回调地址有效性。在浏览器中输入回调地址(如“http://你的服务器IP/WeChat/Callback?code=测试码”),查看是否返回“success”(需在脚本中设置回调成功返回值),若提示“4

