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 = (uint)RetcodeStatus.RetSucc, DownloadData = new ClientDownloadData(), ClientTimeMs = heartbeatReq.ClientTimeMs, ServerTimeMs = (ulong)DateTimeOffset.Now.ToUnixTimeMilliseconds() }); } [Handler(CmdType.CmdGetHeroBasicTypeInfoCsReq)] public static void OnGetHeroBasicTypeInfoCsReq(NetSession session, int cmdId, object _) { session.Send(CmdType.CmdGetHeroBasicTypeInfoScRsp, new GetHeroBasicTypeInfoScRsp { Retcode = (uint)RetcodeStatus.RetSucc, Gender = Gender.GenderMan, Cdkjkpnjjjas ={ new Hlbbodklpbo { Peihhlcchfj = HeroBasicType.BoyWarrior, Rank = 1, Chmeifanmags = {} } }, CurBasicType = HeroBasicType.BoyWarrior, Bhepmbpaojp = false, Cnlbajkmnbn = false }); } [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 = (uint)RetcodeStatus.RetSucc, //IsNewPlayer = false, LoginRandom = request.LoginRandom, Stamina = 100, 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 = (uint)RetcodeStatus.RetSucc, Uid = 1337, //BlackInfo = null, Msg = "OK", SecretKeySeed = 0 }); byte[] decodedBytes = Convert.FromBase64String("eyJPcGdpbW5rb2tuanMiOlt7Iklvbm1sb2tjZ25nIjowLCJCZWdpblRpbWUiOjAsIkpvZGlwZ2xkb2hqIjoiIiwiR2djYWFrZ2ZjYm8iOmZhbHNlLCJFbmRUaW1lIjoyMDIxOTc4Nzc0LCJEZWxnam5jaGxwaiI6IiIsIkNvbmZpZ0lkIjowLCJKaGpiZ21tcGNjaiI6IkZyZWVTUiBpcyBhIGZyZWUgYW5kIG9wZW4tc291cmNlIHNvZnR3YXJlLCBpZiB5b3UgcGFpZCBmb3IgdGhpcywgeW91IGhhdmUgYmVlbiBzY2FtbWVkISBGcmVlU1LmmK/kuIDkuKrlhY3otLnkuJTlvIDmupDnmoTova/ku7bvvIzlpoLmnpzkvaDmmK/oirHpkrHkubDmnaXnmoTvvIzor7TmmI7kvaDooqvpqpfkuobvvIFyZXBvc2l0b3J5IGxpbmsg5LuT5bqT5Zyw5Z2AOmh0dHBzOi8vZ2l0Lnhlb25kZXYuY29tL01vdXgyMzMzMy9GcmVlU1IiLCJLcGZmY2hjb2xlZCI6MH1dfQ=="); string decodedJsonData = Encoding.UTF8.GetString(decodedBytes); ServerAnnounceNotify announceNotify = JsonConvert.DeserializeObject(decodedJsonData); session.Send(10, announceNotify); /*session.Send(10, new ServerAnnounceNotify { Opgimnkoknjs = { new AnnounceData { BeginTime = 0, EndTime = DateTimeOffset.Now.ToUnixTimeSeconds() + 10, Jhjbgmmpccj = @"FreeSR is a free and open-source software, if you paid for this, you have been scammed! FreeSR是一个免费且开源的软件,如果你是花钱买来的,说明你被骗了!repository link 仓库地址:https://git.xeondev.com/Moux23333/FreeSR" } } });*/ } } }