lt 1 ماه پیش
والد
کامیت
bbe6780b3b

+ 53 - 1
RO_Server_Trunk-branch_0.1.39/roserver/auth/model/auth_msg.go

@@ -127,7 +127,7 @@ func init() {
 			case model.SDKPlatform_Xuan_Google_Ios:
 				LoginVerifyDNGoogleIosSign(cliId.SessID, cliId.ServiceID, msg.Platform, msg.PlatformToken, msg.OpenId, msg.CryptPass)
 			case model.SDKPlatform_QI_Ios:
-				fallthrough
+				LoginVerifyHwXiaoQiIosSign(cliId.SessID, cliId.ServiceID, msg.Platform, msg.PlatformToken, msg.OpenId)
 			case model.SDKPlatform_QI_Android:
 				LoginVerifyHwXiaoQiSign(cliId.SessID, cliId.ServiceID, msg.Platform, msg.PlatformToken, msg.OpenId)
 			}
@@ -574,6 +574,58 @@ func LoginVerifyHwXiaoQiSign(clientId uint64, GateServiceNode string, platform s
 	}()
 }
 
+// 海外小七
+func LoginVerifyHwXiaoQiIosSign(clientId uint64, GateServiceNode string, platform string, token string, openId string) {
+	go func() {
+		defer func() {
+			//打印奔溃信息
+			if err := recover(); err != nil {
+				util.InfoF("onError data=%v \n%s\n", err, string(debug.Stack()))
+			}
+		}()
+		sign := getmd5("c536923ff8baa875fb46d6ff7f191cc0" + token)
+		//tmpRequest := &XiaoQILoginResp{}
+		urlPath := "https://api.x7sy.com/user/check_v4_login?tokenkey=" + token + "&sign=" + sign
+		util.InfoF("urlPath=%v", urlPath)
+
+		resp, err := http.Get(urlPath)
+		if err != nil {
+			util.ErrorF("login sdk check error:%v", err)
+		}
+		defer resp.Body.Close() // 确保关闭响应体
+
+		// 读取响应体
+		body, _ := io.ReadAll(resp.Body)
+		res := string(body)
+		//err := httpNode.(rocommon.HTTPConnector).Request("GET", urlPath, tmpRequest)
+		util.InfoF("tmpRequest.ResMsg:%v", res)
+		tmpResMsg := &SDKHwQuickLoginAuthCheckResp{
+			Status: true,
+		}
+		var resRu XiaoQILoginResp
+		err = json.Unmarshal(body, &resRu)
+		if err != nil {
+			util.ErrorF("auth login json Unmarshal err:%v", err)
+		}
+
+		tmpResMsg.Message = strconv.Itoa(int(resRu.Errorno))
+		tmpResMsg.ClientId = clientId
+		tmpResMsg.ServiceId = GateServiceNode
+		tmpResMsg.OpenId = resRu.Data.Guid
+		tmpResMsg.Platform = platform
+		g, _ := json.Marshal(resRu.Data)
+		tmpResMsg.Guid = string(g)
+		util.ErrorF("xiaoqi json Unmarshal data:%v,openid:%v", resRu.Data, tmpResMsg.OpenId)
+
+		if err != nil || tmpResMsg.Message != "0" {
+			tmpResMsg.Status = false
+			util.ErrorF("uid=%v http Request openid=%v token=%v err=%v", clientId, resRu.Data.Guid, token, err)
+			util.ErrorF("uid=%v http Request2 openid=%v err=%v", clientId, resRu.Data.Guid, resRu)
+		}
+		GetAuthCheckMag().AddCheckList(tmpResMsg)
+	}()
+}
+
 type XiaoQILoginResp struct {
 	Errorno  int32  `json:"errorno"`
 	Errormsg string `json:"errormsg"`

+ 20 - 8
RO_Server_Trunk-branch_0.1.39/roserver/gmweb/msg/web_paymsg.go

@@ -351,6 +351,9 @@ func WebPayHwQuickNotify(c *gin.Context) {
 	c.String(http.StatusOK, "SUCCESS")
 }
 
+const xiaoqiIoskey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdP+3oq+95l5CvsqmZvzgTdueiIWur64OePQkKeNUaKTAR3ar4NU9laEvgI+pkN6q+7BoPpprTB/aBqoU5eLNFnPt/6T0Dq5245e+HGij4qUYiORsU12O+pex5jxWg/knnW1g5F8SrLtAr9lwJbOc4lNPFKi+U+1fdayC64qxmjQIDAQAB"
+const xiaoqiAndroidkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCfYd3FqSaWqCpWLSktBSSgAelt0F6T+tO4C25YKR/6X/sPacDBbX662/0fW+H+YbXigHWFB/yangkhiZTpD/VmiOo5lISX6L0/m+13ti9b8jzTZcfVngfLsP+Ztbk81N1Jk0gWF4bndZxREJ3IxcEDHnIrwXgLGA2GJ89kdgudwIDAQAB"
+
 // 海外版xiaoqi回调
 func WebPayHwXiaoQiNotify(c *gin.Context) {
 	//util.DebugF("支付回调信息:%v", c.Request.PostForm)
@@ -371,30 +374,39 @@ func WebPayHwXiaoQiNotify(c *gin.Context) {
 	if err != nil {
 		util.ErrorF("支付回调参数解析错误:%v", err)
 	}
+	var myData map[string]string
+	var err3 error
 	util.InfoF("xiaoqi 透传参数:%v   params:%v", extras, params)
 	if extras.Platform == "IOS_X7" || extras.Bima == "IOS_X7" {
 		util.ErrorF("xiaoqi ios 支付签名认证:%v", info)
-		b, err2 := VerifySignature(params, "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCfYd3FqSaWqCpWLSktBSSgAelt0F6T+tO4C25YKR/6X/sPacDBbX662/0fW+H+YbXigHWFB/yangkhiZTpD/VmiOo5lISX6L0/m+13ti9b8jzTZcfVngfLsP+Ztbk81N1Jk0gWF4bndZxREJ3IxcEDHnIrwXgLGA2GJ89kdgudwIDAQAB")
+		b, err2 := VerifySignature(params, xiaoqiIoskey)
 		if err2 != nil || !b {
 			util.ErrorF("签名错误%v", err2)
 			c.String(http.StatusOK, "FAILED")
 			return
 		}
+		myData, err3 = DecryptDataToMap(params["encryp_data"], xiaoqiIoskey)
+		if err3 != nil {
+			util.ErrorF("解析encryp_data error:%v", err3)
+			c.String(http.StatusOK, "FAILED")
+			return
+		}
 	} else {
 		util.ErrorF("android 支付签名认证:%v", info)
-		b, err2 := VerifySignature(params, "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCfYd3FqSaWqCpWLSktBSSgAelt0F6T+tO4C25YKR/6X/sPacDBbX662/0fW+H+YbXigHWFB/yangkhiZTpD/VmiOo5lISX6L0/m+13ti9b8jzTZcfVngfLsP+Ztbk81N1Jk0gWF4bndZxREJ3IxcEDHnIrwXgLGA2GJ89kdgudwIDAQAB")
+		b, err2 := VerifySignature(params, xiaoqiAndroidkey)
 		if err2 != nil || !b {
 			util.ErrorF("签名错误%v", err2)
 			c.String(http.StatusOK, "FAILED")
 			return
 		}
+		myData, err3 = DecryptDataToMap(params["encryp_data"], xiaoqiAndroidkey)
+		if err3 != nil {
+			util.ErrorF("解析encryp_data error:%v", err3)
+			c.String(http.StatusOK, "FAILED")
+			return
+		}
 	}
-	myData, err3 := DecryptDataToMap(params["encryp_data"], "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCfYd3FqSaWqCpWLSktBSSgAelt0F6T+tO4C25YKR/6X/sPacDBbX662/0fW+H+YbXigHWFB/yangkhiZTpD/VmiOo5lISX6L0/m+13ti9b8jzTZcfVngfLsP+Ztbk81N1Jk0gWF4bndZxREJ3IxcEDHnIrwXgLGA2GJ89kdgudwIDAQAB")
-	if err3 != nil {
-		util.ErrorF("解析encryp_data error:%v", err3)
-		c.String(http.StatusOK, "FAILED")
-		return
-	}
+
 	uid := myData["uid"]
 	cpOrderId := myData["game_orderid"]
 	if cpOrderId == "" {

+ 24 - 10
操作命令/刷新.txt

@@ -12,11 +12,15 @@ http://cxzomcdn.hkmiagame.com/res/NoticeNew/
 http://cxzomcdn.hkmiagame.com/en/res/IosRes/
 
 俄服cdn
-http://cxzrucdn.xinxinjoy.com/res/NoticeNew/Notice_List.json
-http://cxzrucdn.xinxinjoy.com/ru/res/AndroidNewRes/
-https://signin.aliyun.com/login.htm?callback=https%3A%2F%2Fcdn.console.aliyun.com%2Foverview#/main
-登录用户:ROCDN@1328323523643393.onaliyun.com
-登录密码:roRO1234!
+http://cxzrucdn.4onegame.com/dny/res/AndroidHxRes/
+http://cxzrucdn.4onegame.com/dny/res/AndroidNewRes/
+http://cxzrucdn.4onegame.com/dny/res/AndroidGoogleHxRes/
+http://cxzrucdn.4onegame.com/dny/res/IosRes/
+http://cxzrucdn.4onegame.com/res/NoticeNew/
+预热&刷新可以调用腾讯云的API接口,使用的文档如下
+刷新文档:https://cloud.tencent.com/document/api/1552/80703
+预热文档:https://cloud.tencent.com/document/api/1552/80704
+使用历史提供的账号即可,已经授权了
 
 东南亚
 http://cxzdncdn.4onegame.com/dny/res/AndroidHxRes/
@@ -36,11 +40,21 @@ https://console.cloud.tencent.com/edgeone/purge
 CDN预热地址
 https://console.cloud.tencent.com/edgeone/prefetch
 
-机甲刷新
-https://console.volcengine.com/dcdn/domain
-账号:TIANJIANGDAREN
-密码:tjdr1231.
-http://zhenjia.tjdr01.com/hotfix/
+小七cdn
+Root邮箱:planning09@pixelperfect.tv
+邮箱密码:Kt8@Zj4!Hw3#Ps
+AWS ID:905740064538
+AWS密码:Kt3@Zm7!Lq4#Fh
+
+cdn:https://cdn-ro-xiaoqi01.cdyishanyou.com
+
+源:http://ro-xiaoqi01.cdyishanyou.com
+
+邮箱登录地址:https://mail.sg.aliyun.com/alimail/
+AWS登录地址:https://aws.amazon.com/cn/console/
+/x7/res/AndroidLocalizedRes
+/x7/res/IosLocalizedRes
+/res/NoticeNew
 
 
 API

+ 5 - 2
操作命令/开服流程.txt

@@ -7,7 +7,7 @@ ro开启新服打开支付
 http://43.156.13.116:8086/v1/pay/openServer?sid=1&name=1%E5%8C%BA&time=2025-11-20%2012:00:00&gameid=119&signkey=92ddb83717ed91bb555dc894c06c110e
 
 
-echo "cd /data2/java/gameserver1-12 && ./run.sh start" | at 9:00 2026-05-01
+echo "cd /data3/java/gameserver1-01 && ./run.sh start" | at 8:00 2026-05-26
 docker exec -it <容器名或ID> /bin/bash
 
 redis-cli -a tmKjD1ENs3HfZ7adzLJO! KEYS "10001:VirtualBattle_SELF_RECORD:*" | xargs redis-cli -a tmKjD1ENs3HfZ7adzLJO! DEL
@@ -20,4 +20,7 @@ server[1]=测试2区,S2,2026-03-16 12:12:12,0,1
 
 俄服同步区服:http://162.62.223.162:8086/v1/pay/openServer?sid=1&name=S1&time=2026-5-6%2015:00:00&gameid=174&signkey=e81c2bd2ffb7feb7f0df477dc02b0bbd
 
-东南亚同步区服:http://43.156.13.116:8086/v1/pay/openServer?sid=28&name=SEA-S28&time=2026-5-11%2015:00:00&gameid=119&signkey=92ddb83717ed91bb555dc894c06c110e
+东南亚同步区服:http://43.156.13.116:8086/v1/pay/openServer?sid=28&name=SEA-S28&time=2026-5-11%2015:00:00&gameid=119&signkey=92ddb83717ed91bb555dc894c06c110e
+新英文同步区服:ios+android
+http://43.156.13.116:8086/v1/pay/openServer?sid=1&name=SEA-S1&time=2026-5-11%2015:00:00&gameid=192&signkey=e81c2bd2ffb7feb7f0df477dc02b0bbd
+http://43.156.13.116:8086/v1/pay/openServer?sid=1&name=SEA-S1&time=2026-5-11%2015:00:00&gameid=190&signkey=e81c2bd2ffb7feb7f0df477dc02b0bbd