Merge branch 'master' into feature/backend

# Conflicts:
#	game-server/app/servers/connector/filter/global.ts
This commit is contained in:
luying
2021-12-03 18:36:39 +08:00
25 changed files with 3682 additions and 1674 deletions
@@ -128,7 +128,7 @@ export class DailyCoinHandler {
//免费期间
let time = moment(new Date()).valueOf();
let result = await addReward(roleId, roleName, sid, serverId, newReward)
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.beginTime, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.roundIndex, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
let exchangeCount = playerData.exchangeCount + count;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -52,7 +52,7 @@ export class DailyMealHandler {
const serverId = session.get('serverId');
const sid = session.get('sid');
const roleName = session.get('roleName');
let playerData = await getPlayerDailyMealData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -77,7 +77,7 @@ export class DailyMealHandler {
//免费期间
let rewardParamArr: Array<RewardParam> = stringToRewardParam(itemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate);
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate, playerData.roundIndex);
itemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, type },
@@ -3,7 +3,7 @@ import {Application, RouteRecord, FrontendOrBackendSession, HandlerCallback, pin
import { refresh } from '../../../services/refreshService';
import { checkPrivateChat, checkGuildChat, checkOtherChat, checkRoleName, checkGuildName } from "../../../services/sdkService";
import { resResult, checkWhiteListWithUid, genCode } from "../../../pubUtils/util";
import { BLOCK_TYPE, CHANNEL_PREFIX, STATUS } from "../../../consts";
import { BLOCK_TYPE, CHANNEL_PREFIX, MSG_TYPE, STATUS } from "../../../consts";
import { UserModel } from "../../../db/User";
import { SERVER_DEBUG_MODE } from "../../../pubUtils/dicParam";
export function globalFilter(app: Application) {
@@ -51,12 +51,14 @@ Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, se
switch(routeRecord.route) {
case 'chat.chatHandler.sendPrivateMessage':
{
if(msg.type == MSG_TYPE.IMG) break;
let result = await checkPrivateChat(roleId, msg.targetRoleId, msg.content);
if(!result) hasBlockWords = true;
break;
}
case 'chat.chatHandler.sendGroupMessage':
{
if(msg.type == MSG_TYPE.IMG) break;
if(msg.channel == CHANNEL_PREFIX.GUILD) {
let result = await checkGuildChat(roleId, guildCode, msg.content);
if(!result) hasBlockWords = true;
@@ -26,7 +26,7 @@ import { getActivities } from '../../../services/activity/activityService';
import * as dicParam from '../../../pubUtils/dicParam';
import Counter from '../../../db/Counter';
import { UserModel } from '../../../db/User';
import { checkFilterWords, reportTAEvent } from '../../../services/sdkService';
import { checkFilterWords, reportTAEvent, treatRoleName } from '../../../services/sdkService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -614,4 +614,16 @@ export class RoleHandler {
return resResult(STATUS.SUCCESS);
}
async debugTreatRoleName(msg: { magicWord: string }, session: BackendSession) {
let roleId: string = session.get('roleId');
let { magicWord } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
await treatRoleName(roleId, true);
return resResult(STATUS.SUCCESS);
}
}
@@ -25,7 +25,7 @@ export async function dailyCoinActivity(serverId: number, roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -44,7 +44,7 @@ export async function getPlayerDailyCoinData(activityId: number, serverId: numbe
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -25,8 +25,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex);
playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords));
return playerData;
}
@@ -45,8 +45,8 @@ export async function getPlayerDailyMealData(activityId: number, serverId: numbe
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex);
playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords));
return playerData;
}
+6 -3
View File
@@ -12,7 +12,7 @@ import { GuildModel } from "../db/Guild";
import { getRoleOnlineInfo, updateUserInfo } from "./redisService";
import { Application, pinus } from "pinus";
import { getGuildChannelSid } from "./chatService";
import { getRandSingleEelm, readWordTxt, writeWordTxt } from "../pubUtils/util";
import { getRandSingleEelm, readWordTxt, resResult, writeWordTxt } from "../pubUtils/util";
const ThinkingAnalytics = require("thinkingdata-node");
import Trie from '../pubUtils/trie';
import _ = require("underscore");
@@ -99,9 +99,9 @@ export async function checkGuildName(guildCode: string, serverId: number, name:
// 根据37sdk处理违规玩家名
export async function treatRoleName(roleId: string) {
export async function treatRoleName(roleId: string, isDebug?: boolean) {
let role = await RoleModel.findByRoleId(roleId);
if(role && role.sdkMark) { // 有设置标记的情况下
if((role && role.sdkMark) || isDebug) { // 有设置标记的情况下
let newName = "默认玩家名";
// 新名字上传
await checkRoleName(roleId, newName, role);
@@ -112,6 +112,9 @@ export async function treatRoleName(roleId: string) {
const { sid } = await getRoleOnlineInfo(roleId);
if(!!sid) {
await pinus.app.rpc.connector.connectorRemote.setOtherUserRoleNameSession.toServer(sid,[{ roleId, roleName: newName }]); // 改session
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
roleName: newName
}), [{uid: roleId, sid}]);
}
// 补偿
let gold = getGoldObject(NAMEPLATE.NAMEPLATE_FEECOST)
+3 -1
View File
@@ -83,7 +83,9 @@ module.exports = {
'optional uInt32 giftGold': 2,
'optional uInt32 gold': 3,
'optional uInt32 ap': 4,
'optional uInt32 totalPay': 5
'optional uInt32 totalPay': 5,
'optional uInt32 totalCost': 6,
'optional string roleName': 7,
},
'required string msg': 1,
'required uInt32 code': 2,
+7 -7
View File
@@ -52,9 +52,9 @@ module.exports = {
},
'production': {
'connector': [
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-2', 'port': 4051, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3051, 'frontend': true },
{ 'id': 'connector-server-3', 'port': 4052, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3052, 'frontend': true }
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-2', 'port': 4051, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3051, 'frontend': true },
{ 'id': 'connector-server-3', 'port': 4052, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3052, 'frontend': true }
],
'chat': [
{ 'id': 'chat-server-1', 'host': '127.0.0.1', 'port': 6050 },
@@ -66,11 +66,11 @@ module.exports = {
{ 'id': 'battle-server-1', 'host': '127.0.0.1', 'port': 6054 }
],
'gate': [
{ 'id': 'gate-server-1', 'host': '127.0.0.1', 'clientHost': 'pinus_test.trgame.cn', 'clientPort': 3014, 'frontend': true },
{ 'id': 'gate-server-1', 'host': '127.0.0.1', 'clientHost': 'zyz_web.trgame.cn', 'clientPort': 3014, 'frontend': true },
{
'id': 'gate-server-2',
'host': '127.0.0.1',
'clientHost': 'pinus_test.trgame.cn',
'clientHost': 'zyz_web.trgame.cn',
'clientPort': 3015,
'frontend': true
}
@@ -94,7 +94,7 @@ module.exports = {
},
'alpha': {
'connector': [
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'zyz_web.trgame.cn', 'host': '172.26.145.159', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'pinus_test.trgame.cn', 'host': '172.26.145.159', 'clientPort': 3050, 'frontend': true },
],
'chat': [
{ 'id': 'chat-server-1', 'host': '172.26.145.159', 'port': 6050 },
@@ -106,7 +106,7 @@ module.exports = {
{ 'id': 'battle-server-1', 'host': '172.26.145.159', 'port': 6054 }
],
'gate': [
{ 'id': 'gate-server-1', 'host': '172.26.145.159', 'clientHost': 'zyz_web.trgame.cn', 'clientPort': 3014, 'frontend': true }
{ 'id': 'gate-server-1', 'host': '172.26.145.159', 'clientHost': 'pinus_test.trgame.cn', 'clientPort': 3014, 'frontend': true }
],
'gm': [
{ 'id': 'gm-server-1', 'host': '172.26.145.159', 'port': 6055 }