lt 1 месяц назад
Родитель
Сommit
d3be316906

+ 1 - 1
RO_Server_Trunk-branch_0.1.39/roweb/serverlist/model/serverlist.go

@@ -671,7 +671,7 @@ func GetServerState2(c *gin.Context) {
 		var url int
 		//默认android中文版
 		url = serviceConfig.DownLoadUrl.AndroidState
-		if platform == "IOS" && param == "IOS_1" {
+		if platform == "IOS" && param == "IOS_4" {
 			//默认中文版
 			url = serviceConfig.DownLoadUrl.IosState
 		}

+ 3 - 3
RO_Server_Trunk-branch_0.1.39/roweb/serverlist/model/yamlconfig.go

@@ -111,7 +111,7 @@ func (this *ServerListNode) GetServerById(c *gin.Context, nodeId string) *Server
 
 	var retServerNode ServerNode
 	for idx := 0; idx < len(this.serverSpeList); idx++ {
-		if (this.serverSpeList[idx].ServerId == serverId) || (c.DefaultQuery("buildTag", "") == "IOS_1") {
+		if (this.serverSpeList[idx].ServerId == serverId) || (c.DefaultQuery("buildTag", "") == "IOS_4") {
 			if bWhite {
 				retServerNode = *this.serverSpeList[idx]
 				//白名单玩家状态修改
@@ -257,7 +257,7 @@ func (this *ServerListNode) GetServerList(c *gin.Context, pageIdStr string) inte
 	if eIdx > serverNum {
 		eIdx = serverNum
 	}
-	if param == "IOS_1" {
+	if param == "IOS_4" {
 		allServerSt.ServerNum = serverNum
 		for idx := 0; idx < len(this.serverSpeList); idx++ {
 			tmpNode := *this.serverSpeList[idx]
@@ -297,7 +297,7 @@ func (this *ServerListNode) GetServerList(c *gin.Context, pageIdStr string) inte
 func (this *ServerListNode) GetServerListNum(bWhite bool, p string) int {
 	if bWhite {
 		return len(this.serverNormalList)
-	} else if p == "IOS_1" {
+	} else if p == "IOS_4" {
 		retNum := 0
 		for idx := 0; idx < len(this.serverSpeList); idx++ {
 			if this.serverSpeList[idx].Invisible <= 0 {

+ 18 - 0
RO_Server_Trunk-branch_0.1.39/select_pay.sh

@@ -0,0 +1,18 @@
+#!/bin/bash
+
+dbs=()
+for i in {0..12}; do
+    if [ $i -ne 1 ]; then  # 跳过数字1
+        dbs+=("ro${i#0}")
+    fi
+done
+
+sql=""
+for db in "${dbs[@]}"; do
+    sql+="SELECT *, '$db' as source_db FROM $db.role_order_list WHERE goods_type IN (1,3,4) UNION ALL "
+done
+
+# 移除最后一个 " UNION ALL "
+sql="${sql% UNION ALL }"
+
+echo "$sql" | mysql -u root -p'123456' | sed 's/\t/,/g' > all_orders.csv

+ 1 - 0
RO_Server_Trunk-branch_0.1.39/transfor/cmd

@@ -0,0 +1 @@
+nohup ./transfor > transfor.log 2>&1 &

BIN
RO_Server_Trunk-branch_0.1.39/transfor/transfor


+ 116 - 0
RO_Server_Trunk-branch_0.1.39/transfor2/main.go

@@ -0,0 +1,116 @@
+package main
+
+import (
+	"log"
+	"net/http"
+	"net/http/httputil"
+	"net/url"
+	"strconv"
+	"time"
+)
+
+// serverId -> port 对应表
+var serverPortMap = map[string]int{
+	"S40001": 10001,
+	"S40002": 10002,
+	"S40003": 10003,
+	"S40004": 10004,
+	"S40005": 10005,
+	"S40006": 10006,
+	"S40007": 10007,
+	"S40008": 10008,
+	"S40009": 10009,
+	"S40010": 10010,
+	"S40011": 10011,
+	"S40012": 10012,
+	"S40013": 10013,
+	"S40014": 10014,
+	"S40015": 10015,
+	"S40016": 10016,
+	"S40017": 10017,
+	"S40018": 10018,
+	"S40019": 10019,
+	"S40020": 10020,
+	"S40021": 10021,
+	"S40022": 10022,
+	"S40023": 10023,
+	"S40024": 10024,
+	"S40025": 10025,
+	"S40026": 10026,
+	"S40027": 10027,
+	"S40028": 10028,
+	"S40029": 10029,
+	"S40030": 10030,
+	"S40031": 10031,
+	"S40032": 10032,
+	"S40033": 10033,
+	"S40034": 10034,
+	"S40035": 10035,
+	"S40036": 10036,
+	"S40037": 10037,
+	"S40038": 10038,
+	"S40039": 10039,
+	"S40040": 10040,
+	"S40041": 10041,
+	"S40042": 10042,
+}
+
+func proxyHandler(w http.ResponseWriter, r *http.Request) {
+	start := time.Now()
+
+	// 先解析 form,无论是 GET 还是 POST 都能取到
+	r.ParseForm()
+	serverIDStr := r.FormValue("skey")
+
+	if serverIDStr == "" {
+		http.Error(w, "Missing serverId parameter", http.StatusBadRequest)
+		return
+	}
+
+	port, ok := serverPortMap[serverIDStr]
+	if !ok {
+		http.Error(w, "Unknown serverId", http.StatusBadRequest)
+		return
+	}
+
+	targetURL, _ := url.Parse("http://127.0.0.1:" + strconv.Itoa(port))
+	proxy := httputil.NewSingleHostReverseProxy(targetURL)
+
+	// 修改请求信息
+	originalDirector := proxy.Director
+	proxy.Director = func(req *http.Request) {
+		originalDirector(req)
+		req.Host = targetURL.Host
+	}
+
+	proxy.ModifyResponse = func(resp *http.Response) error {
+		duration := time.Since(start)
+		log.Printf("[OK] %s | method=%s | serverId=%d -> %d | %s | status=%d | %.2fms\n",
+			start.Format("2006-01-02 15:04:05"),
+			r.Method,
+			serverIDStr,
+			port,
+			r.URL.RequestURI(),
+			resp.StatusCode,
+			float64(duration.Milliseconds()))
+		return nil
+	}
+
+	log.Printf("[REQ] %s | method=%s | serverId=%d -> %d | %s\n",
+		start.Format("2006-01-02 15:04:05"),
+		r.Method,
+		serverIDStr, port, r.URL.RequestURI())
+
+	proxy.ServeHTTP(w, r)
+}
+
+func main() {
+	log.Println("Reverse proxy started on :8155 ...")
+	http.HandleFunc("/360PayCallback", proxyHandler)
+	http.HandleFunc("/360login", proxyHandler)
+	http.HandleFunc("/360active", proxyHandler)
+	http.HandleFunc("/360exchange", proxyHandler)
+	http.HandleFunc("/360syncserver", proxyHandler)
+	http.HandleFunc("/360updateserver", proxyHandler)
+	log.Fatal(http.ListenAndServe(":8155", nil))
+}

BIN
RO_Server_Trunk-branch_0.1.39/transfor2/transfor


+ 0 - 1
操作命令/Windows服务器命令.txt

@@ -1 +0,0 @@
-连接远程:win+r    mstsc

+ 4 - 1
操作命令/java相关命令.txt

@@ -255,4 +255,7 @@ redis-cli -n 1 DUMP "your_key_name" | head -c -1 | redis-cli -n 46 -x RESTORE "y
 
 
 java -jar xxl-job-admin-3.4.0-SNAPSHOT.jar \
-  --spring.config.location=/data/SkServer/data/java/xxljob/conf/application.properties
+  --spring.config.location=/data/SkServer/data/java/xxljob/conf/application.properties
+
+查询日志前后10行:
+grep -C 10 "2026-03-19 06:28:52.999"

+ 161 - 1
操作命令/mongo操作命令.txt

@@ -229,4 +229,164 @@ db.getCollection("user").updateOne(
             "playerManager.monthCard.2": Int32("1772071200")  // 转为 Int32
         } 
     }
-);
+);
+
+db.user.find(
+    { _id: 10004949 }
+)
+
+db.user.findOne(
+  { _id: 10006675 },
+  { "activityManager.activityMissionMap.14.activityMissionMap.103.state": 1 }
+)
+
+db.user.findOne(
+  { _id: 10004949   },
+  { "arenaManager.season": 1 }
+)
+
+db.user.updateOne(
+  { _id: 10004949 },  // 查询条件
+  { 
+    $set: { 
+      "arenaManager.season": 3,
+    } 
+  }
+)
+db.getCollection("").insert( {
+    _id: Int32("10002347"),
+    playerManager: {
+        monthCard: {
+            "1": Int32("1771665405")
+        }
+    }
+} );
+
+db.getCollection("user").updateOne(
+    { _id: 10006096 },
+    { 
+        $set: { 
+            "playerManager.monthCard.2": Int32("1772503372")  // 转为 Int32
+        } 
+    }
+);
+
+db.getCollection("").insert( {
+    _id: Int32("10002347"),
+    playerManager: {
+        monthCard: {
+            "1": Int32("1771665405"),
+            "2": Int32("1772071200")
+        }
+    }
+} );
+
+var threeDaysAgo = new Date().getTime() - (1 * 24 * 60 * 60 * 1000);
+
+db.getCollection("logLogin").aggregate([
+    {
+        $match: {
+            "loginTime.loginTime": { $gte: threeDaysAgo }
+        }
+    },
+    {
+        $group: {
+            _id: "$loginTime.uid",  // 按uid分组,确保每个玩家只统计一次
+            count: { $sum: 1 }
+        }
+    },
+    {
+        $group: {
+            _id: null,
+            totalPlayers: { $sum: 1 }  // 统计不同玩家的数量
+        }
+    }
+])
+
+db.pay.aggregate([
+  {
+    $match: {
+      callbaktime: { $exists: true, $ne: null } // 筛选callbacktime存在且不为null的文档
+    }
+  },
+  {
+    $group: {
+      _id: null,
+      totalMoney: { $sum: "$money" }
+    }
+  }
+])
+
+db.user.find({ _id: 10010197 }).forEach(function(doc) {
+  if (doc.heroManager && doc.heroManager.heroMap) {
+    var newMedalMap = {};
+    
+    // 遍历 medalMap,只保留 isLocked !== 0 的项
+    for (var key in doc.heroManager.heroMap) {
+      var item = doc.heroManager.heroMap[key];
+      if (item.level !== 1) {
+        newMedalMap[key] = item;
+      }
+    }
+    
+    // 更新文档
+    db.user.updateOne(
+      { _id: doc._id },
+      { $set: { "heroManager.heroMap": newMedalMap } }
+    );
+    
+    print("已处理文档: " + doc._id);
+    print("过滤前数量: " + Object.keys(doc.heroManager.heroMap).length);
+    print("过滤后数量: " + Object.keys(newMedalMap).length);
+  }
+});
+
+mongo4.2以下清楚芯片数据:
+db.user.find({ _id: 10004545 }).forEach(function(doc) {
+  if (doc.medalManager && doc.medalManager.medalMap) {
+    var newMedalMap = {};
+    
+    // 遍历 medalMap,只保留 isLocked !== 0 的项
+    for (var key in doc.medalManager.medalMap) {
+      var item = doc.medalManager.medalMap[key];
+      if (item.isLocked !== 0) {
+        newMedalMap[key] = item;
+      }
+    }
+    
+    // 更新文档
+    db.user.updateOne(
+      { _id: doc._id },
+      { $set: { "medalManager.medalMap": newMedalMap } }
+    );
+    
+    print("已处理文档: " + doc._id);
+    print("过滤前数量: " + Object.keys(doc.medalManager.medalMap).length);
+    print("过滤后数量: " + Object.keys(newMedalMap).length);
+  }
+});
+
+db.user.find({ _id: 10004545 }).forEach(function(doc) {
+  if (doc.combatPlanManager && doc.combatPlanManager.combatPlanMap) {
+    var newCombatPlanMap = {};
+    
+    // 遍历 combatPlanMap,只保留 position !== 0 的项
+    for (var key in doc.combatPlanManager.combatPlanMap) {
+      var item = doc.combatPlanManager.combatPlanMap[key];
+      if (item && item.position !== 0) {
+        newCombatPlanMap[key] = item;
+      }
+    }
+    
+    // 更新文档
+    db.user.updateOne(
+      { _id: doc._id },
+      { $set: { "combatPlanManager.combatPlanMap": newCombatPlanMap } }
+    );
+    
+    print("已处理文档: " + doc._id);
+    print("过滤前数量: " + Object.keys(doc.combatPlanManager.combatPlanMap).length);
+    print("过滤后数量: " + Object.keys(newCombatPlanMap).length);
+  }
+});
+

+ 7 - 1
操作命令/开服流程.txt

@@ -7,4 +7,10 @@ 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 /data/java/gameserver1-12 && ./run.sh start" | at 00:05 2026-03-05
+echo "cd /data/java/gameserver1-12 && ./run.sh start" | at 00:05 2026-03-05
+
+
+server[0]=测试1区,S1,2026-03-16 12:12:12,0,1
+server[1]=测试2区,S2,2026-03-16 12:12:12,0,1
+参数4:0,是否推荐区服,0-不推荐 1-推荐(默认),非必填;
+参数5:0,区服是否显示,0-不显示 1-显示(默认),非必填;

+ 6 - 0
操作命令/机甲.txt

@@ -0,0 +1,6 @@
+连接远程:win+r    mstsc
+
+
+INSERT INTO `mgamedb_main`.`tpay_iosiapitem` (`id`, `taiqi_usdk_product_id`, `taiqi_usdk_goods_name`, `taiqi_usdk_pay_amount`, `mark`, `sort`, `channel_id`, `vip_exp`, `apple_store_product_id`, `apple_store_product_id_cn`, `apple_store_product_id_comll_ydkjcn`, `apple_store_product_id_comzl_xjhjcn`, `apple_store_product_id_comxy_xjws01`, `apple_store_product_id_lysh01`, `apple_store_product_id_lysh02`, `apple_store_product_id_xiaoqi01`, `google_play_product_id`, `apple_store_product_id_dream_sky_en`, `google_play_product_id_dream_sky_en`, `product_id`, `icon_url`, `product_name`, `product_desc`, `product_price_desc`, `item_buy_count`, `item_send_key`, `item_send_count`, `item_send_count_tips`, `actual_price`, `added_time_long`, `lastupdated_time_long`, `del_flag`) VALUES (17, 1017, '9980钻石', 998, 0, 7, 1001, 9980, 'com.uq.xjws.ios.9980', 'com.zl.xjlhdm9980.cn', 'com.ll.jzfb09980.cn', 'com.zl.mrhj09980.cn', 'com.zl.xjlb09980.cn', 'com.zl.mrhj09980.cn', 'com.zl.mrhj09980.cn', '', 'com.uq.xjws.gg.9980', 'com.dreamsky.xjlh09980.cn', 'com.dreamsky.xjws.gg.9980', 'bilin_gszuanshi_9980_780', 'ui_vip_iap_diamond7', '9980钻石', '9980钻石', '9980元', 6480, 'bilin_gszuanshi_6480_780_20170407', 6480, '首次额外送6480钻石', 648, 20190101000000, 20190101000000, 0);
+
+新增协议流程:1添加对应request和response的proto,2注册ActivityProtoBufService,DefaultProtoRpcHandler,