Messages.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using System.Collections.Generic;
  2. using System.Runtime.Serialization;
  3. namespace Robot.Protos
  4. {
  5. public static class MessageOpcode
  6. {
  7. public const ushort CMSG_AUTHLOGONPERMIT = 800;
  8. public const ushort CMSG_OTP_PASSWORD = 801;
  9. public const ushort CMSG_PPC_PASSWORD = 802;
  10. public const ushort CMSG_AUTHLOGONCHALLENGE = 803;
  11. public const ushort CMSG_AUTHLOGONCHALLENGE_2 = 804;
  12. public const ushort CMSG_AUTHLOGONPROOF = 805;
  13. public const ushort SMSG_AUTH_LOGON_CHALLENGE_RESPONSE = 900;
  14. public const ushort SMSG_REALM_LOGON_RESPONSE = 901;
  15. public const ushort SMSG_REALM_LIST = 902;
  16. public const ushort SMSG_LOCK_FOR_SAFE_TIME = 903;
  17. public const ushort SMSG_PASSWORD_PROTECT_TYPE = 904;
  18. }
  19. [DataContract]
  20. public class CMSG_AuthLogonPermit
  21. {
  22. [DataMember(Order = 1, IsRequired = true)]
  23. public string Account { get; set; }
  24. [DataMember(Order = 2, IsRequired = true)]
  25. public string PasswordMd5 { get; set; }
  26. }
  27. [DataContract]
  28. public class SMSG_Lock_For_Safe_Time
  29. {
  30. [DataMember(Order = 1, IsRequired = true)]
  31. public uint Time { get; set; }
  32. }
  33. [DataContract]
  34. public class SMSG_Password_Protect_Type
  35. {
  36. [DataMember(Order = 1, IsRequired = true)]
  37. public uint Code { get; set; }
  38. [DataMember(Order = 2, IsRequired = true)]
  39. public uint SubCode { get; set; }
  40. [DataMember(Order = 3, IsRequired = true)]
  41. public uint PasswordProtectType { get; set; }
  42. [DataMember(Order = 4, IsRequired = false)]
  43. public byte[] PpcCoordinate { get; set; }
  44. }
  45. [DataContract]
  46. public class SMSG_Auth_Challenge
  47. {
  48. [DataMember(Order = 1, IsRequired = true)]
  49. public uint Num { get; set; }
  50. [DataMember(Order = 2, IsRequired = true)]
  51. public uint Seed { get; set; }
  52. [DataMember(Order = 3)]
  53. public List<uint> Random { get; set; }
  54. }
  55. [DataContract]
  56. public class CMSG_AuthLogonChallenge
  57. {
  58. [DataMember(Order = 1, IsRequired = true)]
  59. public string GameName { get; set; }
  60. [DataMember(Order = 2, IsRequired = true)]
  61. public uint Version1 { get; set; }
  62. [DataMember(Order = 3, IsRequired = true)]
  63. public uint Version2 { get; set; }
  64. [DataMember(Order = 4, IsRequired = true)]
  65. public uint Version3 { get; set; }
  66. [DataMember(Order = 5, IsRequired = true)]
  67. public uint Build { get; set; }
  68. [DataMember(Order = 6, IsRequired = true)]
  69. public uint Platform { get; set; }
  70. [DataMember(Order = 7, IsRequired = true)]
  71. public uint OS { get; set; }
  72. [DataMember(Order = 8, IsRequired = true)]
  73. public uint Country { get; set; }
  74. [DataMember(Order = 9, IsRequired = true)]
  75. public uint TimeMapBias { get; set; }
  76. [DataMember(Order = 10, IsRequired = true)]
  77. public uint IP { get; set; }
  78. [DataMember(Order = 11, IsRequired = true)]
  79. public byte[] Password { get; set; }
  80. [DataMember(Order = 12, IsRequired = true)]
  81. public byte[] I { get; set; }
  82. }
  83. }