LoginDef.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:5k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //------------------------------------------------------------------------------------------
  2. // 界面--login窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-8-13
  6. // Modifyed by Yangxiaodong later
  7. //------------------------------------------------------------------------------------------
  8. #pragma once
  9. //69280300
  10. #define LOGIN_A_TAG 0
  11. #define LOGIN_R_TAG 0
  12. #define LOGIN_ACCOUNT_MIN_LEN 4
  13. #define LOGIN_ACCOUNT_MAX_LEN 30
  14. #define LOGIN_PASSWORD_MIN_LEN 6
  15. #define LOGIN_PASSWORD_MAX_LEN 30
  16. #define LOGIN_REALNAME_MIN_LEN 4
  17. #define LOGIN_REALNAME_MAX_LEN 30
  18. #define GAMESERVERNAME_MAX_LEN 30
  19. #define def_DBUSERNAME_MAX_LEN 16
  20. #define def_DBUSERNAME_MIN_LEN 6
  21. #define def_DBPASSWORD_MAX_LEN 16
  22. #define def_DBPASSWORD_MIN_LEN 6
  23. //login action return value
  24. //the folloin' value is used in login connect operaion
  25. #define LOGIN_ACTION_FILTER 0xffff0000 //登陆过程中的操作类型过滤数值
  26. // Parameters from client to server
  27. #define LOGIN_A_CONNECT 0x010000 //连接
  28. #define LOGIN_A_NEWACCOUNT 0x020000 //新建账号
  29. #define LOGIN_A_SERVERLIST 0x030000 //获取服务器列表
  30. #define LOGIN_A_REPORT 0x040000 //通知服务器在线(定期向服务器发送)
  31. #define LOGIN_A_LOGIN 0x050000 //登陆服务器(未开始游戏)
  32. #define LOGIN_A_LOGOUT 0x060000 //注销
  33. #define LOGIN_A_DEPOSIT 0x070000 //点卡冲值
  34. #define LOGIN_A_DROPACCOUNT 0x080000 //删除账号
  35. #define LOGIN_A_BEGINGAME 0x090000 //选定游戏服务器开始玩游戏
  36. // 数据库传输消息类型定义
  37. //------>BEGIN
  38. #define DBLOGIN_A_LOGIN 0x0a0000 //登录数据库
  39. #define DBLOGIN_A_LOGOUT 0x0b0000 //从数据库注销
  40. #define DBLOGIN_A_ADDDBUSER 0x0c0000 //添加数据库管理员
  41. #define DBLOGIN_A_DELDBUSER 0x0d0000 //删除数据库管理员
  42. #define DBLOGIN_A_QUERYUSERLIST 0x0e0000 //获取数据库管理员列表
  43. #define DBLOGIN_A_LOCKDATABASE 0x0f0000 //锁住账号数据库
  44. #define DBLOGIN_A_ACTIVATEDATABASE 0x100000 //解锁账号数据库
  45. #define DBLOGIN_A_CREATEACCOUNT 0x110000 //生成新账号
  46. #define DBLOGIN_A_DELETEACCOUNT 0x120000 //删除账号
  47. //<------END
  48. // Parameters from server to client
  49. #define LOGIN_R_CONNECT LOGIN_A_CONNECT
  50. #define LOGIN_R_NEWACCOUNT LOGIN_A_NEWACCOUNT
  51. #define LOGIN_R_SERVERLIST LOGIN_A_SERVERLIST
  52. #define LOGIN_R_LOGIN LOGIN_A_LOGIN
  53. #define LOGIN_R_REPORT LOGIN_A_REPORT
  54. #define LOGIN_R_LOGOUT LOGIN_A_LOGOUT
  55. #define LOGIN_R_DROPACCOUNT LOGIN_A_DROPACCOUNT
  56. #define LOGIN_R_BEGINGAME LOGIN_A_BEGINGAME
  57. // 数据库传输消息类型定义
  58. //------>BEGIN
  59. #define DBLOGIN_R_LOGIN DBLOGIN_A_LOGIN
  60. #define DBLOGIN_R_LOGOUT DBLOGIN_A_LOGOUT
  61. #define DBLOGIN_R_ADDDBUSER DBLOGIN_A_ADDDBUSER
  62. #define DBLOGIN_R_DELDBUSER DBLOGIN_A_DELDBUSER
  63. #define DBLOGIN_R_QUERYUSERLIST DBLOGIN_A_QUERYUSERLIST
  64. #define DBLOGIN_R_LOCKDATABASE DBLOGIN_A_LOCKDATABASE
  65. #define DBLOGIN_R_ACTIVATEDATABASE DBLOGIN_A_ACTIVATEDATABASE
  66. #define DBLOGIN_R_CREATEACCOUNT DBLOGIN_A_CREATEACCOUNT
  67. #define DBLOGIN_R_DELETEACCOUNT DBLOGIN_A_DELETEACCOUNT
  68. #define DBLOGIN_R_SUCCESS 0xa
  69. #define DBLOGIN_R_FAILED 0xb
  70. #define DBLOGIN_R_HASLOGGEDIN 0xc
  71. #define DBLOGIN_R_HASNOENOUGHPRIORITY 0xd
  72. #define DBLOGIN_R_USERHASEXISTED 0xe
  73. //<------END
  74. #define LOGIN_R_REQUEST 0x0 //when the login request is send from client to server
  75. #define LOGIN_R_SUCCESS 0x1
  76. #define LOGIN_R_FAILED 0x2
  77. #define LOGIN_R_ACCOUNT_OR_PASSWORD_ERROR 0x3
  78. #define LOGIN_R_ACCOUNT_EXIST 0x4
  79. #define LOGIN_R_TIMEOUT 0x5
  80. #define LOGIN_R_IN_PROGRESS 0x6
  81. #define LOGIN_R_NO_IN_PROGRESS 0x7
  82. #define LOGIN_R_VALID 0x8 //合法用户
  83. #define LOGIN_R_INVALID 0x9 //非法用户
  84. #define LOGIN_R_NOTREGISTERED 0xa //用户未注册
  85. #define LOGIN_R_BEDISCONNECTED 0xb //用户已经离线
  86. #define LOGIN_R_ACCDBISLOCKED 0xc //账号数据库被锁定
  87. struct KLoginStructHead
  88. {
  89. DWORD Size; // size of the struct, if the struct is been inherit,the size is ref the the derive struct
  90. DWORD Param; // be one of the LOGIN_R_* define value combin with a LOGIN_A_* value.
  91. };
  92. #define KLOGINSTRUCTHEADSIZE 8 // = 2 * sizeof( DWORD )
  93. struct KLoginAccountInfo : KLoginStructHead
  94. {
  95. char Account[LOGIN_ACCOUNT_MAX_LEN+2]; //account
  96. char Password[LOGIN_PASSWORD_MAX_LEN+2]; //password
  97. };
  98. struct KLoginGameServer
  99. {
  100. char Title[GAMESERVERNAME_MAX_LEN+2]; //服务器文字说明
  101. DWORD Address; //服务器域名地址
  102. short Port; //服务器端口号
  103. DWORD ID; //服务器ID
  104. };
  105. #define KLOGINGAMESERVERSIZE 44 // = GAMESERVERNAME_MAX_LEN + 2 * sizeof( DWORD ) + sizeof( int )
  106. struct KLoginServerList : KLoginStructHead
  107. {
  108. DWORD Count; //此次传送的服务器项的数目
  109. KLoginGameServer* Server; //服务器信息(变长数组)
  110. };
  111. typedef struct tag_DBLOGINSTRUCT : KLoginStructHead
  112. {
  113. char szUserName[def_DBUSERNAME_MAX_LEN];
  114. char szPassword[def_DBPASSWORD_MAX_LEN];
  115. }_DBLOGINSTRUCT, *_PDBLOGINSTRUCT;