Program.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System;
  2. using System.Threading;
  3. using CommandLine;
  4. using NLog;
  5. namespace ET
  6. {
  7. internal static class Program
  8. {
  9. private static void Main(string[] args)
  10. {
  11. AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Log.Error(e.ExceptionObject.ToString()); };
  12. ETTask.ExceptionHandler += Log.Error;
  13. // 异步方法全部会回掉到主线程
  14. SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance);
  15. try
  16. {
  17. Game.EventSystem.Add(typeof(Game).Assembly);
  18. Game.EventSystem.Add(DllHelper.GetHotfixAssembly());
  19. ProtobufHelper.Init();
  20. MongoRegister.Init();
  21. // 命令行参数
  22. Options options = null;
  23. Parser.Default.ParseArguments<Options>(args)
  24. .WithNotParsed(error => throw new Exception($"命令行格式错误!"))
  25. .WithParsed(o => { options = o; });
  26. Options.Instance = options;
  27. Log.ILog = new NLogger(Game.Options.AppType.ToString());
  28. LogExt.ILog = new NLogger("RobotLog");
  29. LogExt2.ILog = new NLogger("RobotLog2");
  30. LogManager.Configuration.Variables["appIdFormat"] = $"{Game.Options.Process:000000}";
  31. LogExt.Log1($"摘星抽奖1");
  32. LogExt.Log2($"摘星抽奖2");
  33. LogExt.Log3($"摘星抽奖3");
  34. LogExt.Log4($"摘星抽奖4");
  35. LogExt2.Log5($"摘星抽奖5");
  36. LogExt2.Log6($"摘星抽奖6");
  37. LogExt2.Log7($"摘星抽奖7");
  38. Log.Console($"server start........................ {Game.Scene.Id}");
  39. Game.EventSystem.Publish(new EventType.RobotAppStart());
  40. while (true)
  41. {
  42. try
  43. {
  44. Thread.Sleep(1);
  45. Game.Update();
  46. Game.LateUpdate();
  47. Game.FrameFinish();
  48. }
  49. catch (Exception e)
  50. {
  51. Log.Error(e);
  52. }
  53. }
  54. }
  55. catch (Exception e)
  56. {
  57. Log.Error(e);
  58. }
  59. }
  60. private static void TestQuickOrder()
  61. {
  62. //测试生成充值串
  63. var Callback_Key = "72872208786084293760967165892950";
  64. var Md5_Key = "epirgkgpztsollkitxjodtzk2sjhpqie";
  65. var gameOrder = "1888637170345050112";
  66. var sourceUrl =
  67. $"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><quicksdk_message><message><is_test>0</is_test><channel>8888</channel><channel_uid>231845</channel_uid><game_order>{gameOrder}</game_order><order_no>12520160612114220441168433</order_no><pay_time>2016-06-12 11:42:20</pay_time><amount>6.00</amount><status>0</status><extras_params>{1}_{2}</extras_params></message></quicksdk_message>";
  68. var ntData = QuickRechargeHelper.Encode(sourceUrl, Callback_Key, "UTF-8");
  69. var sign =
  70. "@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";
  71. Console.WriteLine("sign");
  72. Console.WriteLine(sign);
  73. Console.WriteLine("ntData");
  74. Console.WriteLine(ntData);
  75. var md5Sign = MD5Helper.CalculateMd5(ntData, sign, Md5_Key);
  76. Console.WriteLine("md5Sign");
  77. Console.WriteLine(md5Sign);
  78. var json = JsonHelper.ToJson(new
  79. {
  80. sign = sign,
  81. nt_data = ntData,
  82. md5Sign = md5Sign
  83. });
  84. Console.WriteLine("json");
  85. Console.WriteLine(json);
  86. }
  87. }
  88. }