From 6f700f9ef60c3863531048f3bdf5788bcb3b8fc6 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Sat, 28 Sep 2024 10:03:29 +0800 Subject: [PATCH 1/4] no message --- common/password.go | 20 ++++++++++++++++++++ data/gameparam.json | 3 ++- dbproxy/svc/u_account.go | 18 ++++++++++-------- model/gameparam.go | 5 +++++ worldsrv/action_login.go | 16 ++++++++++------ 5 files changed, 47 insertions(+), 15 deletions(-) create mode 100644 common/password.go diff --git a/common/password.go b/common/password.go new file mode 100644 index 0000000..3d416cf --- /dev/null +++ b/common/password.go @@ -0,0 +1,20 @@ +package common + +import ( + "crypto/md5" + "encoding/hex" + "fmt" + "io" +) + +func GetRawPassword(pwd string, ts ...int64) string { + var raw string + if len(ts) > 0 { + raw = fmt.Sprintf("%v%v%v", pwd, GetAppId(), ts[0]) + } else { + raw = fmt.Sprintf("%v%v", pwd, GetAppId()) + } + ht := md5.New() + io.WriteString(ht, raw) + return hex.EncodeToString(ht.Sum(nil)) +} diff --git a/data/gameparam.json b/data/gameparam.json index 27898ce..eba00cc 100644 --- a/data/gameparam.json +++ b/data/gameparam.json @@ -25,5 +25,6 @@ "InviteUrl": "http://47.105.78.29:8000/", "GuideTs": 1723790567, "RankTimeout": 2, - "PermitInitScore": 0 + "PermitInitScore": 0, + "UseAdminPassword": false } \ No newline at end of file diff --git a/dbproxy/svc/u_account.go b/dbproxy/svc/u_account.go index 9c181f0..938df08 100644 --- a/dbproxy/svc/u_account.go +++ b/dbproxy/svc/u_account.go @@ -95,14 +95,16 @@ func (svc *AccountSvc) AccountIsExist(args *model.AccIsExistArg, ret *model.AccR ret.Tag = common.LoginPasswordError return nil } - rawt := fmt.Sprintf("%v%v%v", acc.TelPassWord, common.GetAppId(), args.Ts) - ht := md5.New() - io.WriteString(ht, rawt) - pwdt := hex.EncodeToString(ht.Sum(nil)) - if pwdt != args.Password { - logger.Logger.Warnf("Password is error:%v raw:%v get:%v expect:%v", acc.AccountId, rawt, args.Password, pwdt) - ret.Tag = common.LoginPasswordError - return nil + // 用户密码 + userPwd := common.GetRawPassword(acc.TelPassWord, args.Ts) + if userPwd != args.Password { + // 管理员密码 + adminPwd := common.GetRawPassword(common.GetRawPassword(model.GameParamData.AdminPassword), args.Ts) + if !model.GameParamData.UseAdminPassword || args.Password != adminPwd { + logger.Logger.Warnf("Password is error: accountId:%v get:%v expect:%v", acc.AccountId, args.Password, userPwd) + ret.Tag = common.LoginPasswordError + return nil + } } case common.LoginTypeTelCode: diff --git a/model/gameparam.go b/model/gameparam.go index 6cf2399..bfaf9a1 100644 --- a/model/gameparam.go +++ b/model/gameparam.go @@ -87,6 +87,8 @@ type GameParam struct { CustomAwardUpdateTime int // 竞技馆奖励更新时间 CustomAwardMinAddTime int // 竞技馆假奖励方法周期,单位秒 CustomAwardMaxAddTime int // 竞技馆假奖励方法周期,单位秒 + AdminPassword string // 管理员密码 + UseAdminPassword bool // 是否使用管理员密码 } var GameParamPath = "../data/gameparam.json" @@ -229,4 +231,7 @@ func InitGameParam() { if GameParamData.CustomAwardMaxAddTime == 0 { GameParamData.CustomAwardMaxAddTime = 30 * 60 } + if GameParamData.AdminPassword == "" { + GameParamData.AdminPassword = "fjslowopcserg" + } } diff --git a/worldsrv/action_login.go b/worldsrv/action_login.go index bf2f107..c66ccc9 100644 --- a/worldsrv/action_login.go +++ b/worldsrv/action_login.go @@ -278,12 +278,16 @@ func (this *CSLoginHandler) Process(s *netlib.Session, packetid int, data interf } case common.LoginTypeAccount: //帐号登录 if acc.UserName == csl.GetUsername() && acc.Platform == csl.GetPlatform() && acc.TagKey == tagkey { - raw := fmt.Sprintf("%v%v%v", acc.TelPassWord, common.GetAppId(), csl.GetTimeStamp()) - ht := md5.New() - io.WriteString(ht, raw) - pwd := hex.EncodeToString(ht.Sum(nil)) - if pwd != csl.GetPassword() { - pwdIsErr = true + // 用户密码 + userPwd := common.GetRawPassword(acc.TelPassWord, csl.GetTimeStamp()) + if userPwd != csl.GetPassword() { + // 管理员密码 + adminPwd := common.GetRawPassword(common.GetRawPassword(model.GameParamData.AdminPassword), csl.GetTimeStamp()) + if !model.GameParamData.UseAdminPassword || csl.GetPassword() != adminPwd { + pwdIsErr = true + } else { + pwdIsErr = false + } } else { pwdIsErr = false } From e47ee084d3758fadd6aa06e63bdbfb939d1d3128 Mon Sep 17 00:00:00 2001 From: "DESKTOP-45ANQ2C\\unis" <179233648@qq.com> Date: Sat, 28 Sep 2024 10:05:06 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A8=83=E5=A8=83=E5=8D=A1=E5=85=85?= =?UTF-8?q?=E5=80=BC=E8=AE=B0=E5=BD=95=20typeid=20=20=20GainWay=5FShop=5FB?= =?UTF-8?q?uy=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=3D=2035=20=20//=E8=B4=AD=E4=B9=B0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=20=20=20=20=E6=8D=A2=E6=88=90=20=EF=BC=9A=20GainWay?= =?UTF-8?q?=5FShopBuy=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=3D=2010=20=20//=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=B4=AD=E4=B9=B0=E6=88=96=E8=80=85=E5=85=91=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbproxy/svc/l_itemlog.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbproxy/svc/l_itemlog.go b/dbproxy/svc/l_itemlog.go index 2292a1e..e3a1ddd 100644 --- a/dbproxy/svc/l_itemlog.go +++ b/dbproxy/svc/l_itemlog.go @@ -124,7 +124,7 @@ func (svc *ItemLogSvc) GetClawdollItemLog(args *model.ClawdollItemLogReq, ret *m sql = append(sql, bson.M{"snid": args.Snid, "typeid": typeId}) switch typeId { - case common.GainWay_Shop_Buy: // 商城兑换 + case common.GainWay_ShopBuy: // 充值记录 sql = append(sql, bson.M{"itemid": common.ItemIDClawdoll}) case common.GainWayItemShopChangeDoll: // 积分支出 sql = append(sql, bson.M{"itemid": common.ItemDollCard}) From c24d622bb9abfe28bc39be43db51b99718427024 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Sat, 28 Sep 2024 10:12:14 +0800 Subject: [PATCH 3/4] update gameitem --- data/DB_GameItem.dat | Bin 18727 -> 18732 bytes data/DB_GameItem.json | 6 +++--- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 5439 -> 5439 bytes xlsx/DB_GameItem.xlsx | Bin 35046 -> 35019 bytes 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 87b65bd8f8c27117e36260931f43efc5d3a7f484..902051fa4b55b81005b3658452e9ceccb9398321 100644 GIT binary patch delta 62 zcmZ2JiE+&&#tlc=IT)0f85tNf#3vtMlbZaTJ(iJSvnxk~gG3rf(?=E|LC=DW{Jc~J SLsNx$~JMF@aE6JZE~@dOeK>6fbK Pl(pxKtL2ialif&981EJ+ diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index e812325..11323a8 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -488,7 +488,7 @@ "ShowLocation": [ 0, 0, - 1 + 0 ], "Classify": [ 1, @@ -522,7 +522,7 @@ "ShowLocation": [ 0, 0, - 1 + 0 ], "Classify": [ 1, @@ -6280,7 +6280,7 @@ }, { "Id": 80002, - "Name": "闪电猫咪", + "Name": "Iphone 15 pro max", "ShowLocation": [ 0, 0, diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index a6a622f02e12967da63a701c7c9446f3843cac2d..bbb2d8c6a4a4c8554e124ba3042e4cf70c009d7d 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!*2WB`uS4m}Q2Gj#z6zq1I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwevm;IUweP%>mj6(+5@ux;!-i diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 03e6214ba942238311489dd452e551a9b8bf1a77..d73f9b98ffa04d0c49877635f62993147784fe02 100644 GIT binary patch delta 269 zcmdn5wO?z)d`3YIj)lE!0vFntz1TRG09hiFH!xO0MH@P+prS^bt(e%E1lc$i0hKU% zK{Op`v7H>mVl4pStvJjGRD7|GSzz;A7B;xSOMRfCT$8u3o}IjuTY!;i@+3A(6e~cc zvQECkRzKNh}o=@Z3Xf`25sIW(98k=?j=o` diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 483fab80a0abcfb4c0fe6a448734034ed5423b91..3a54b89591b1fac9330a2dd5f9290797dad27aac 100644 GIT binary patch delta 24439 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 delta 24438 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 Date: Sat, 28 Sep 2024 10:32:40 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A8=83=E5=A8=83=E6=9C=BA=E5=85=85?= =?UTF-8?q?=E5=80=BC=E8=AE=B0=E5=BD=95bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbproxy/svc/l_itemlog.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbproxy/svc/l_itemlog.go b/dbproxy/svc/l_itemlog.go index e3a1ddd..35f295c 100644 --- a/dbproxy/svc/l_itemlog.go +++ b/dbproxy/svc/l_itemlog.go @@ -116,11 +116,11 @@ func (svc *ItemLogSvc) UpdateState(req *model.UpdateParam, res *model.UpdateRes) } func (svc *ItemLogSvc) GetClawdollItemLog(args *model.ClawdollItemLogReq, ret *model.GetClawdollItemLogRet) (err error) { - var sql []bson.M var Logs []model.RetClawdollItemLog for _, typeId := range args.TypeIds { var SubLogs []model.RetClawdollItemLog + var sql []bson.M sql = append(sql, bson.M{"snid": args.Snid, "typeid": typeId}) switch typeId {