diff --git a/game-server/app.ts b/game-server/app.ts index d4d2e1b6d..d138bfe02 100644 --- a/game-server/app.ts +++ b/game-server/app.ts @@ -47,7 +47,7 @@ filePath.CONFIG_DIR = '/config'; const adminfilePath = _pinus.DEFAULT_ADMIN_PATH; adminfilePath.ADMIN_FILENAME = 'adminUser'; adminfilePath.ADMIN_USER = 'config/adminUser'; -const ALL_ENVS = 'stable|development|alpha|dev|isbn|monitor|monitor2|distribute|sq1|sq3'; +const ALL_ENVS = 'stable|development|alpha|dev|isbn|monitor|monitor2|distribute|sq1|sq3|sq4'; /** * 替换全局Promise * 自动解析sourcemap diff --git a/game-server/config/database.ts b/game-server/config/database.ts index 89643e880..a332342d5 100644 --- a/game-server/config/database.ts +++ b/game-server/config/database.ts @@ -60,4 +60,10 @@ module.exports = { 'redis': 'r-8vbq8kgkeqd4bbegwk.redis.zhangbei.rds.aliyuncs.com', 'redispw': 'bB^Ow3l@RMRSTtJU' }, + 'sq4': { + 'mongo': 'mongodb://dbop:zyzSQ42022@dds-8vb11ca8d5e88fd41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb11ca8d5e88fd42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-510489410', + 'gmmongo': 'mongodb://dbop:zyzSQGm2021@dds-8vb5de93552a67941.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67942.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67943.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?readPreference=secondary&replicaSet=mgset-508112742', + 'redis': 'r-8vb9q6zk7bpcvo456g.redis.zhangbei.rds.aliyuncs.com:6379', + 'redispw': 'X9j2TKYy@cE6sSQD' + }, }; \ No newline at end of file diff --git a/game-server/config/master.ts b/game-server/config/master.ts index b20767008..f38d9914e 100644 --- a/game-server/config/master.ts +++ b/game-server/config/master.ts @@ -58,5 +58,20 @@ module.exports = { 'id': 'master-server-1', 'host': '172.16.4.106', 'port': 3005 + }, + 'sq4': { + 'id': 'master-server-1', + 'host': '172.16.4.107', + 'port': 3005 + }, + 'sq5': { + 'id': 'master-server-1', + 'host': '172.16.4.107', + 'port': 3005 + }, + 'sq6': { + 'id': 'master-server-1', + 'host': '172.16.4.107', + 'port': 3005 } }; \ No newline at end of file diff --git a/game-server/config/servers.ts b/game-server/config/servers.ts index a8fffc968..cc3533878 100644 --- a/game-server/config/servers.ts +++ b/game-server/config/servers.ts @@ -364,4 +364,82 @@ module.exports = { { 'id': 'order-server-1', 'host': '172.16.4.106', 'port': 6060 }, ] }, + 'sq4': { + 'connector': [ + { 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'sq4-game-sgzzyz.yev242.com', 'host': '172.16.4.107', 'clientPort': 3050, 'frontend': true }, + { 'id': 'connector-server-2', 'port': 4051, 'clientHost': 'sq4-game-sgzzyz.yev242.com', 'host': '172.16.4.107', 'clientPort': 3051, 'frontend': true }, + { 'id': 'connector-server-3', 'port': 4052, 'clientHost': 'sq4-game-sgzzyz.yev242.com', 'host': '172.16.4.107', 'clientPort': 3052, 'frontend': true }, + ], + 'chat': [ + { 'id': 'chat-server-1', 'host': '172.16.4.107', 'port': 6050 }, + ], + 'role': [ + { 'id': 'role-server-1', 'host': '172.16.4.107', 'port': 6051 }, + { 'id': 'role-server-2', 'host': '172.16.4.107', 'port': 6052 }, + { 'id': 'role-server-3', 'host': '172.16.4.107', 'port': 6053 }, + ], + 'battle': [ + { 'id': 'battle-server-1', 'host': '172.16.4.107', 'port': 6054 }, + { 'id': 'battle-server-2', 'host': '172.16.4.107', 'port': 6055 }, + { 'id': 'battle-server-3', 'host': '172.16.4.107', 'port': 6056 }, + ], + 'gm': [], + 'systimer': [ + { 'id': 'systimer-server-1', 'host': '172.16.4.107', 'port': 6057 } + ], + 'guild': [ + { 'id': 'guild-server-1', 'host': '172.16.4.107', 'port': 6058 }, + { 'id': 'guild-server-2', 'host': '172.16.4.107', 'port': 6059 }, + { 'id': 'guild-server-3', 'host': '172.16.4.107', 'port': 6060 } + ], + 'activity': [ + { 'id': 'activity-server-1', 'host': '172.16.4.107', 'port': 6061 }, + { 'id': 'activity-server-2', 'host': '172.16.4.107', 'port': 6062 }, + { 'id': 'activity-server-3', 'host': '172.16.4.107', 'port': 6063 }, + ], + 'order': [ + { 'id': 'order-server-1', 'host': '172.16.4.107', 'port': 6064 }, + ] + }, + 'sq5': { + 'connector': [ + { 'id': 'connector-server-4', 'port': 4053, 'clientHost': 'sq5-game-sgzzyz.yev242.com', 'host': '172.16.4.121', 'clientPort': 3053, 'frontend': true }, + { 'id': 'connector-server-5', 'port': 4054, 'clientHost': 'sq5-game-sgzzyz.yev242.com', 'host': '172.16.4.121', 'clientPort': 3054, 'frontend': true }, + { 'id': 'connector-server-6', 'port': 4055, 'clientHost': 'sq5-game-sgzzyz.yev242.com', 'host': '172.16.4.121', 'clientPort': 3055, 'frontend': true }, + ], + 'chat': [ + { 'id': 'chat-server-2', 'host': '172.16.4.121', 'port': 6065 }, + ], + 'role': [ + { 'id': 'role-server-4', 'host': '172.16.4.121', 'port': 6066 }, + { 'id': 'role-server-5', 'host': '172.16.4.121', 'port': 6067 }, + { 'id': 'role-server-6', 'host': '172.16.4.121', 'port': 6068 }, + ], + 'battle': [ + { 'id': 'battle-server-4', 'host': '172.16.4.121', 'port': 6069 }, + { 'id': 'battle-server-5', 'host': '172.16.4.121', 'port': 6070 }, + { 'id': 'battle-server-6', 'host': '172.16.4.121', 'port': 6071 }, + ], + 'guild': [ + { 'id': 'guild-server-4', 'host': '172.16.4.121', 'port': 6072 }, + { 'id': 'guild-server-5', 'host': '172.16.4.121', 'port': 6073 }, + { 'id': 'guild-server-6', 'host': '172.16.4.121', 'port': 6074 } + ], + 'activity': [ + { 'id': 'activity-server-4', 'host': '172.16.4.121', 'port': 6075 }, + { 'id': 'activity-server-5', 'host': '172.16.4.121', 'port': 6076 }, + { 'id': 'activity-server-6', 'host': '172.16.4.121', 'port': 6077 }, + ], + 'order': [ + { 'id': 'order-server-2', 'host': '172.16.4.121', 'port': 6078 }, + ] + }, + 'sq6': { + 'connector': [ + { 'id': 'connector-server-gm', 'port': 4099, 'clientHost': 'sq6-web-sgzzyz.yev242.com', 'host': '172.16.4.122', 'clientPort': 3099, 'frontend': true, 'isGM': 'true' } + ], + 'gm': [ + { 'id': 'gm-server-1', 'host': '172.16.4.122', 'port': 6079 } + ], + }, }; diff --git a/game-server/config/sq4/log4js.ts b/game-server/config/sq4/log4js.ts new file mode 100644 index 000000000..6c79d527d --- /dev/null +++ b/game-server/config/sq4/log4js.ts @@ -0,0 +1,177 @@ +module.exports = { + 'appenders': { + 'console': { + 'type': 'console' + }, + 'con-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/con-log-${opts:serverId}.log', + 'pattern': 'connector', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'rpc-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/rpc-log-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'forward-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/forward-log-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'rpc-debug': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/rpc-debug-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'crash-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/crash.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'admin-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/admin.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'pinus': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-${opts:serverId}.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 20 + }, + 'pinus-admin': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-admin.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'pinus-rpc': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-rpc-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '/zyz_logs/sls/app.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 20 + }, + 'error': { + 'type': 'file', + 'filename': '/zyz_logs/sls/error.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'ta': { + 'type': 'file', + 'filename': '/zyz_logs/ta/log', + 'pattern': 'yyyy-MM-dd-hh', + 'alwaysIncludePattern': true, + 'layout': { + 'type': 'pattern', + 'pattern': '%m', + }, + 'backups': 240, + } + }, + + 'categories': { + 'default': { + 'appenders': ['console', 'pinus'], + 'level': 'debug' + }, + 'con-log': { + 'appenders': ['con-log'], + 'level': 'debug' + }, + 'rpc-log': { + 'appenders': ['rpc-log'], + 'level': 'debug' + }, + 'forward-log': { + 'appenders': ['forward-log'], + 'level': 'debug' + }, + 'rpc-debug': { + 'appenders': ['rpc-debug'], + 'level': 'debug' + }, + 'crash-log': { + 'appenders': ['crash-log'], + 'level': 'debug' + }, + 'admin-log': { + 'appenders': ['admin-log'], + 'level': 'debug' + }, + 'pinus-admin': { + 'appenders': ['pinus-admin'], + 'level': 'debug' + }, + 'pinus-rpc': { + 'appenders': ['pinus-rpc'], + 'level': 'debug' + }, + 'pinus': { + 'appenders': ['pinus'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + }, + 'ta': { + 'appenders': ['console', 'ta'], + 'level': 'info' + } + + }, + 'replaceConsole': true, + 'lineDebug': false, + 'errorStack': true +}; diff --git a/gm-server/config/config.default.ts b/gm-server/config/config.default.ts index 5b300c1e7..c3f1d5165 100644 --- a/gm-server/config/config.default.ts +++ b/gm-server/config/config.default.ts @@ -83,7 +83,8 @@ export default (appInfo: EggAppInfo) => { { env: 'isbn', name: "办好福", domain: 'http://zyz_isbn_gm.trgame.cn' }, // 37测试服组 { env: 'sq1', name: "37测试1服", domain: 'http://gm-sgzzyz.yev242.com' }, - { env: 'sq3', name: "渠道二测", domain: 'http://sq3-web-sgzzyz.yev242.com' }, + { env: 'sq3', name: "小范围对外测试", domain: 'http://sq3-web-sgzzyz.yev242.com' }, + { env: 'sq4', name: "渠道二测", domain: 'http://sq6-web-sgzzyz.yev242.com' }, ]; config.regions = regions; diff --git a/gm-server/config/config.sq4.ts b/gm-server/config/config.sq4.ts new file mode 100644 index 000000000..2ecace93c --- /dev/null +++ b/gm-server/config/config.sq4.ts @@ -0,0 +1,46 @@ +import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; +import defaultConfig from './config.default'; + +export default (appInfo: EggAppInfo) => { + const config = {} as PowerPartial; + + // add your special config in here + + config.mongoose = { + url: 'mongodb://dbop:zyzSQ42022@dds-8vb11ca8d5e88fd41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb11ca8d5e88fd42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-510489410', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.gmmongoose = { + url: 'mongodb://dbop:zyzSQGm2021@dds-8vb5de93552a67941.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67942.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67943.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?readPreference=secondary&replicaSet=mgset-508112742', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.redis = { + url: 'r-8vb9q6zk7bpcvo456g.redis.zhangbei.rds.aliyuncs.com:6379', // 内网 + pw: 'X9j2TKYy@cE6sSQD' + }; + + + config.customLogger = { + linkLogger: { + file: '/zyz_logs/gm-server/link-log.log', + formatter(meta) { + return `[${meta.level}] [${meta.date}] ${meta.message}`; + }, + }, + }; + + config.logrotator = { + filesRotateBySize: [ + '/zyz_logs/gm-server/link-log.log', + ], + maxFileSize: 1024, + }; + + // the return config will combines to EggAppConfig + return { + ...defaultConfig(appInfo), + ...config, + }; +}; diff --git a/pushdocker.sh b/pushdocker.sh index 4b1ae5f91..ada9ac953 100755 --- a/pushdocker.sh +++ b/pushdocker.sh @@ -38,6 +38,18 @@ elif [ ${1} == 'sq3' ] ; then destUrl="root@sq3:/root/zyz/" port=3737 env='sq3' +elif [ ${1} == 'sq4' ] ; then + destUrl="root@sq4:/root/zyz/" + port=3737 + env='sq4' +elif [ ${1} == 'sq5' ] ; then + destUrl="root@sq5:/root/zyz/" + port=3737 + env='sq4' +elif [ ${1} == 'sq6' ] ; then + destUrl="root@sq6:/root/zyz/" + port=3737 + env='sq4' else echo "需要一个参数指明服务器" exit 1; diff --git a/shared/domain/rank.ts b/shared/domain/rank.ts index 2e47fc6f0..1bf597fd2 100644 --- a/shared/domain/rank.ts +++ b/shared/domain/rank.ts @@ -385,6 +385,7 @@ export interface myIdInter { // 排行榜总览左边的数据 export class GeneralRankParam { type: number; // 排行榜id + hasUser: boolean = false; userInfo?: RankParam; num: number; received: number[]; @@ -394,9 +395,10 @@ export class GeneralRankParam { if(general == 1) { if(rankInfo instanceof RoleRankInfo) { this.userInfo = pick(rankInfo, ['roleId', 'roleName', 'head', 'frame', 'spine', 'guildName', 'ce', 'title', 'lv', 'topLineupCe']); + this.hasUser = true; } } - this.num = rankInfo.num; + this.num = rankInfo?.num||0; this.received = received; } } diff --git a/web-server/config/config.sq4.ts b/web-server/config/config.sq4.ts new file mode 100644 index 000000000..7b3d93d3e --- /dev/null +++ b/web-server/config/config.sq4.ts @@ -0,0 +1,48 @@ +import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; +import defaultConfig from './config.default'; + +export default (appInfo: EggAppInfo) => { + const config = {} as PowerPartial; + + config.mongoose = { + url: 'mongodb://dbop:zyzSQ42022@dds-8vb11ca8d5e88fd41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb11ca8d5e88fd42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-510489410', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + config.gmmongoose = { + url: 'mongodb://dbop:zyzSQGm2021@dds-8vb5de93552a67941.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67942.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67943.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?readPreference=secondary&replicaSet=mgset-508112742', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + config.redis = { + url: 'r-8vb9q6zk7bpcvo456g.redis.zhangbei.rds.aliyuncs.com:6379', // 内网 + pw: 'X9j2TKYy@cE6sSQD' + }; + + config.xtransit = { + server: 'ws://172.16.4.109:9092', + appId: 2, + appSecret: '103981eb5b7781fedea116ece0ee00ac' + }; + + config.customLogger = { + linkLogger: { + file: '/zyz_logs/web-server/link-log.log', + formatter(meta) { + return `[${meta.level}] [${meta.date}] ${meta.message}`; + }, + }, + }; + + config.logrotator = { + filesRotateBySize: [ + '/zyz_logs/web-server/link-log.log', + ], + maxFileSize: 1024, + }; + + + // the return config will combines to EggAppConfig + return { + ...defaultConfig(appInfo), + ...config + }; +};