Files
FreeSR/FreeSR.Gateserver/Manager/Handlers/PlayerReqGroup.cs
amizing25 b29ca652de hi
2025-03-04 10:11:14 +07:00

101 lines
3.9 KiB
C#

namespace FreeSR.Gateserver.Manager.Handlers
{
using FreeSR.Gateserver.Manager.Handlers.Core;
using FreeSR.Gateserver.Network;
using FreeSR.Proto;
using NLog;
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using Newtonsoft.Json;
internal static class PlayerReqGroup
{
private static readonly Logger s_log = LogManager.GetCurrentClassLogger();
[Handler(CmdType.CmdPlayerHeartBeatCsReq)]
public static void OnPlayerHeartBeatCsReq(NetSession session, int cmdId, object data)
{
var heartbeatReq = data as PlayerHeartBeatCsReq;
session.Send(CmdType.CmdPlayerHeartBeatScRsp, new PlayerHeartBeatScRsp
{
Retcode = 0,
DownloadData = new ClientDownloadData
{
Version = 51,
Time = DateTimeOffset.Now.ToUnixTimeMilliseconds(),
Data = Convert.FromBase64String("bG9jYWwgb2JqID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJVSVJvb3QvQWJvdmVEaWFsb2cvQmV0YUhpbnREaWFsb2coQ2xvbmUpIikKbG9jYWwgY29tcHRzID0gb2JqOkdldENvbXBvbmVudHNJbkNoaWxkcmVuKHR5cGVvZihDUy5SUEcuQ2xpZW50LkxvY2FsaXplZFRleHQpKQpmb3IgaSA9IDAsIGNvbXB0cy5MZW5ndGggLSAxIGRvCiAgaWYgY29tcHRzW2ldLmdhbWVPYmplY3QubmFtZSA9PSAiSGludFRleHQiIHRoZW4KICAgIGNvbXB0c1tpXS50ZXh0ID0gIjxiPkZyZWVTUiBpcyBhIGZyZWUgc29mdHdhcmUuRnJlZVNSXDIzMFwxNTJcMTc1XDIyOFwxODRcMTI4XDIyOFwxODRcMTcwXDIyOVwxMzNcMTQxXDIzMlwxODBcMTg1XDIzMlwxODlcMTc1XDIyOFwxODdcMTgyXDIyN1wxMjhcMTMwIGh0dHBzOi8vZGlzY29yZC5nZy9yZXZlcnNlZHJvb21zPC9iPiIKICBlbmQKZW5k")
},
ClientTimeMs = heartbeatReq.ClientTimeMs,
ServerTimeMs = (ulong)DateTimeOffset.Now.ToUnixTimeMilliseconds()
});
}
[Handler(CmdType.CmdGetMultiPathAvatarInfoCsReq)]
public static void OnGetHeroBasicTypeInfoCsReq(NetSession session, int cmdId, object _)
{
session.Send(CmdType.CmdGetMultiPathAvatarInfoScRsp, new GetMultiPathAvatarInfoScRsp()
{
Retcode = 0,
CurrentMultiPathAvatarIds = { }
});
}
[Handler(CmdType.CmdGetBasicInfoCsReq)]
public static void OnGetBasicInfoCsReq(NetSession session, int cmdId, object _)
{
session.Send(CmdType.CmdGetBasicInfoScRsp, new GetBasicInfoScRsp
{
CurDay = 1,
ExchangeTimes = 0,
Retcode = 0,
NextRecoverTime = 2281337,
WeekCocoonFinishedCount = 0
});
}
[Handler(CmdType.CmdPlayerLoginCsReq)]
public static void OnPlayerLoginCsReq(NetSession session, int cmdId, object data)
{
var request = data as PlayerLoginCsReq;
session.Send(CmdType.CmdPlayerLoginScRsp, new PlayerLoginScRsp
{
Retcode = 0,
//IsNewPlayer = false,
LoginRandom = request.LoginRandom,
Stamina = 240,
ServerTimestampMs = (ulong)DateTimeOffset.Now.ToUnixTimeSeconds() * 1000,
BasicInfo = new PlayerBasicInfo
{
Nickname = "xeondev",
Level = 70,
Exp = 0,
Stamina = 100,
Mcoin = 0,
Hcoin = 0,
Scoin = 0,
WorldLevel = 6
}
});
}
[Handler(CmdType.CmdPlayerGetTokenCsReq)]
public static void OnPlayerGetTokenCsReq(NetSession session, int cmdId, object data)
{
session.Send(CmdType.CmdPlayerGetTokenScRsp, new PlayerGetTokenScRsp
{
Retcode = 0,
Uid = 1337,
//BlackInfo = null,
Msg = "OK",
SecretKeySeed = 0
});
}
}
}