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 }); } } }