using System; using System.Threading; using CommandLine; using NLog; namespace ET { internal static class Program { private static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Log.Error(e.ExceptionObject.ToString()); }; ETTask.ExceptionHandler += Log.Error; // 异步方法全部会回掉到主线程 SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance); try { Game.EventSystem.Add(typeof(Game).Assembly); Game.EventSystem.Add(DllHelper.GetHotfixAssembly()); ProtobufHelper.Init(); MongoRegister.Init(); // 命令行参数 Options options = null; Parser.Default.ParseArguments(args) .WithNotParsed(error => throw new Exception($"命令行格式错误!")) .WithParsed(o => { options = o; }); Options.Instance = options; Log.ILog = new NLogger(Game.Options.AppType.ToString()); LogExt.ILog = new NLogger("RobotLog"); LogExt2.ILog = new NLogger("RobotLog2"); LogManager.Configuration.Variables["appIdFormat"] = $"{Game.Options.Process:000000}"; LogExt.Log1($"摘星抽奖1"); LogExt.Log2($"摘星抽奖2"); LogExt.Log3($"摘星抽奖3"); LogExt.Log4($"摘星抽奖4"); LogExt2.Log5($"摘星抽奖5"); LogExt2.Log6($"摘星抽奖6"); LogExt2.Log7($"摘星抽奖7"); Log.Console($"server start........................ {Game.Scene.Id}"); Game.EventSystem.Publish(new EventType.RobotAppStart()); while (true) { try { Thread.Sleep(1); Game.Update(); Game.LateUpdate(); Game.FrameFinish(); } catch (Exception e) { Log.Error(e); } } } catch (Exception e) { Log.Error(e); } } private static void TestQuickOrder() { //测试生成充值串 var Callback_Key = "72872208786084293760967165892950"; var Md5_Key = "epirgkgpztsollkitxjodtzk2sjhpqie"; var gameOrder = "1888637170345050112"; var sourceUrl = $"08888231845{gameOrder}125201606121142204411684332016-06-12 11:42:206.000{1}_{2}"; var ntData = QuickRechargeHelper.Encode(sourceUrl, Callback_Key, "UTF-8"); var sign = "@106@154@147@150@154@155@153@150@151@157@106@103@153@101@110@107@150@104@103@150@104@155@152@154@109@109@158@101@109@111@156@99"; Console.WriteLine("sign"); Console.WriteLine(sign); Console.WriteLine("ntData"); Console.WriteLine(ntData); var md5Sign = MD5Helper.CalculateMd5(ntData, sign, Md5_Key); Console.WriteLine("md5Sign"); Console.WriteLine(md5Sign); var json = JsonHelper.ToJson(new { sign = sign, nt_data = ntData, md5Sign = md5Sign }); Console.WriteLine("json"); Console.WriteLine(json); } } }