服务端收发登录注册流程

原创 2015年07月08日 13:32:04

客户端发包给服务分为主次id

struct TCP_Command

{

     WORD          wMainCmdID;   //主命令码

     WORD          wSubCmdID;    //子命令码

};

一、      注册:

1、当在客户端输入游戏帐号或游戏昵称换行时,进行验证

CS:

1.1、发送的主id是:MDM_GP_LOGON      1    //广场登录

     子id是:SUB_GP_VERIFY_INDIVIDUAL   5    //验证资料

1.2、首先会进行版本验证

struct CMD_GP_VerifyIndividual

{

     //系统信息

     DWORD              dwPlazaVersion;        //广场版本

     //验证信息

     WORD          wVerifyMask;       //验证掩码

};

1.3、再进行

//验证资料

struct DBR_GP_VerifyIndividual

{

     //连接信息

     LPVOID             pBindParameter;                 //绑定参数

     WORD          wVerifyMask;                //校验验证

     TCHAR              szVerifyContent[LEN_ACCOUNTS];       //验证内容

};

1.4、再到数据库验证

DBR_GP_VERIFY_INDIVIDUAL    4                      //验证资料

1.5、验证后会有一个验证结果

DBO_GP_VERIFY_RESULT        104                    //验证结果

//验证结果

struct DBO_GP_VerifyIndividualResult

{

     bool          bVerifyPassage;                  //验证通过

     WORD          wVerifyMask;                //验证掩码

     TCHAR              szErrorMsg[128];            //错误消息

};  

SC:

1.6、SendData(dwContextID,MDM_GP_LOGON,SUB_GP_VERIFY_RESULT,&VerifyIndividualResult,wSendSize);

MDM_GP_LOGON           1             //广场登录

SUB_GP_VERIFY_RESULT        105           //验证结果

2、客户端发送:(帐号注册)CMD_GP_RegisterAccounts

struct CMD_GP_RegisterAccounts

{

     //系统信息

     DWORD              dwPlazaVersion;             //广场版本

     TCHAR              szMachineID[LEN_MACHINE_ID];     //机器序列

 

     //密码变量

     TCHAR              szLogonPass[LEN_MD5];       //登录密码

 

     //注册信息

     WORD          wFaceID;           //头像标识

     BYTE          cbGender;          //用户性别

     TCHAR              szAccounts[LEN_ACCOUNTS];   //登录帐号

     TCHAR              szNickName[LEN_NICKNAME];   //用户昵称

     TCHAR              szSpreader[LEN_ACCOUNTS];   //推荐帐号

     TCHAR              szPassPortID[LEN_PASS_PORT_ID];  //证件号码

     TCHAR              szCompellation[LEN_COMPELLATION];//真实名字

     BYTE          cbValidateFlags;       //校验标识

};

CS:

2.1、发送的主id是:MDM_GP_LOGON      1    //广场登录

     子id是:SUB_GP_REGISTER_ACCOUNTS   3    //注册帐号

2.2、注册帐号

DBR_GP_REGISTER_ACCOUNTS  3    //注册帐号

//帐号注册

struct DBR_GP_RegisterAccounts(该结构体用来转存注册消息写入数据库)

{

     //注册信息

     WORD          wFaceID;           //头像标识

     BYTE          cbGender;          //用户性别

     TCHAR              szAccounts[LEN_ACCOUNTS];   //登录帐号

     TCHAR              szNickName[LEN_ACCOUNTS];   //用户昵称

     TCHAR              szSpreader[LEN_ACCOUNTS];   //推荐帐号

     TCHAR              szPassPortID[LEN_PASS_PORT_ID];  //证件号码

     TCHAR              szCompellation[LEN_COMPELLATION];//真实名字

     //密码变量

     TCHAR              szLogonPass[LEN_MD5];       //登录密码

     //附加信息

     DWORD              dwClientAddr;          //连接地址

     TCHAR              szMachineID[LEN_MACHINE_ID];     //机器序列

     //连接信息

     LPVOID             pBindParameter;             //绑定参数

};

2.3、登录成功

DBO_GP_LOGON_SUCCESS        100           //登录成功

2.4、登录成功后开始构造客户端用户数据

//登录成功

struct DBO_GP_LogonSuccess

{

     //属性资料

     WORD          wFaceID;      //头像标识

     DWORD              dwUserID;      //用户标识

     DWORD              dwGameID;      //游戏标识

     DWORD              dwGroupID;         //社团标识

     DWORD              dwCustomID;        //自定索引

     DWORD              dwExperience;      //经验数值

     DWORD              dwLoveLiness;      //用户魅力

     TCHAR              szPassword[LEN_MD5];   //登录密码   

     TCHAR              szAccounts[LEN_ACCOUNTS];//登录帐号

     TCHAR              szNickName[LEN_NICKNAME];//用户昵称

     TCHAR              szDynamicPass[LEN_PASSWORD];//动态密码

     TCHAR              szGroupName[LEN_GROUP_NAME];//社团名字

 

     //用户成绩

     SCORE              lUserScore;        //用户游戏

     SCORE              lUserIngot;        //用户元宝

     SCORE              lUserInsure;       //用户银行   

     DOUBLE             dUserBeans;        //用户游戏

 

     //用户资料

     BYTE          cbGender;     //用户性别

     BYTE          cbMoorMachine;         //锁定机器

     TCHAR              szUnderWrite[LEN_UNDER_WRITE];   //个性签名

 

     //会员资料

     BYTE          cbMemberOrder;         //会员等级

     SYSTEMTIME         MemberOverDate;        //到期时间

 

     //扩展信息

     BYTE          cbInsureEnabled;   //使能标识

     DWORD              dwCheckUserRight;  //检查权限

 

     //报名信息

     WORD          wSignupCount;      //报名数量

     tagSignupMatchInfo SignupMatchInfo[32];   //报名列表

 

     //描述信息

     TCHAR              szDescribeString[128]; //描述消息

};

2.5、

//登录成功

struct CMD_GP_LogonSuccess

{

     //属性资料

     WORD     wFaceID;           //头像标识

     DWORD         dwUserID;          //用户 I D

     DWORD         dwGameID;          //游戏 I D

     DWORD         dwGroupID;              //社团标识

     DWORD         dwCustomID;            //自定标识   

     DWORD         dwExperience;          //经验数值

     DWORD         dwLoveLiness;          //用户魅力

 

     //用户成绩

     SCORE         lUserScore;            //用户金币

     SCORE         lUserInsure;           //用户银行

     SCORE         lUserIngot;            //用户元宝

     DOUBLE        dUserBeans;            //用户游戏豆

 

     //用户信息

     BYTE     cbGender;          //用户性别

     BYTE     cbMoorMachine;              //锁定机器

     TCHAR         szAccounts[LEN_ACCOUNTS];   //登录帐号

     TCHAR         szNickName[LEN_ACCOUNTS];   //用户昵称

     TCHAR         szDynamicPass[LEN_PASSWORD];     //动态密码

     TCHAR         szGroupName[LEN_GROUP_NAME];     //社团名字

     //配置信息

     BYTE     cbInsureEnabled;       //银行使能标识

     BYTE           cbShowServerStatus;             //显示服务器状态

};

SC:

2.5、

SendData(dwContextID,MDM_GP_LOGON,SUB_GP_LOGON_SUCCESS,cbDataBuffer,wSendSize);

MDM_GP_LOGON       1        //广场登录

SUB_GP_LOGON_SUCCESS   100      //登录成功

2.6、

m_pITCPNetworkEngine->SendData(dwContextID,MDM_GP_SERVER_LIST,SUB_GP_LIST_FINISH);

MDM_GP_SERVER_LIST 2        //列表信息

SUB_GP_LIST_FINISH 200      //发送完成

2.7、//登陆完成

struct CMD_GP_LogonFinish

{

     WORD          wIntermitTime;              //中断时间

     WORD          wOnLineCountTime;      //更新时间

};

m_pITCPNetworkEngine>SendData(dwContextID,MDM_GP_LOGON,SUB_GP_LOGON_FINISH,&LogonFinish,sizeof(LogonFinish));

MDM_GP_LOGON       1        //广场登录

SUB_GP_LOGON_FINISH    102      //登录完成

3、游戏登录

CS:

3.1、发送的主id是:MDM_GP_LOGON      1    //广场登录

           子id:  SUB_GP_LOGON_ACCOUNTS  2    //帐号登录

3.2、帐号登录

           DBR_GP_LOGON_ACCOUNTS       2    //帐号登录

//帐号登录

struct CMD_GP_LogonAccounts

{

     //系统信息

     DWORD              dwPlazaVersion;        //广场版本

     TCHAR              szMachineID[LEN_MACHINE_ID];         //机器序列

 

     //登录信息

     BYTE          cbValidateFlags;   //校验标识

     TCHAR              szPassword[LEN_MD5];   //登录密码

     TCHAR              szAccounts[LEN_ACCOUNTS]; //登录帐号

     TCHAR              szPassPortID[LEN_PASS_PORT_ID];      //身份证号

};

3.3、将发来的包构造为该结构体与数据库进行验证

//帐号登录

struct DBR_GP_LogonAccounts

{

     //登录信息

     TCHAR         szPassword[LEN_MD5];        //登录密码

     TCHAR         szAccounts[LEN_ACCOUNTS];   //登录帐号

     TCHAR         szPassPortID[LEN_PASS_PORT_ID];  //身份证号

     BYTE     cbNeeValidateMBCard;        //密保校验

 

     //附加信息

     DWORD         dwClientAddr;          //连接地址

     TCHAR         szMachineID[LEN_MACHINE_ID];     //机器序列

 

     //连接信息

     LPVOID        pBindParameter;             //绑定参数

     //扩展信息

     DWORD         dwCheckUserRight;      //检查权限

};

3.4、验证结果-》登录失败

//登录失败

struct DBO_GP_LogonFailure

{

     LONG     lResultCode;           //错误代码

     TCHAR         szDescribeString[128];      //描述消息

};

3.5、

DBO_GP_LOGON_FAILURE        101           //登录失败

DBO_MB_LOGON_FAILURE        901           //登录失败

3.6、

//登录失败

struct CMD_GP_LogonFailure

{

     LONG          lResultCode;       //错误代码

     TCHAR              szDescribeString[128]; //描述消息

};

SC:

3.7、发送失败数据

SendData(dwContextID,MDM_GP_LOGON,SUB_GP_LOGON_FAILURE,&LogonFailure,wSendSize);

MDM_GP_LOGON         1        //广场登录

SUB_GP_LOGON_FAILURE 101       //登录失败

3.8、验证结果=》登录成功(同注册2.3-2.7)

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

用户数据库:QPAccountsDB

数据库内容: 存储用户相关的全局信息,包括用户的ID号码、账号名字、登录密码、乙级密码、头像(自定义头像). 经验数值、魁力数值、游戏的管理权限、登录次数、注册地址、只后登录地址等用户属性信息.还...

网狐批量生成机器人脚本代码

USE [THAccountsDB] GO DECLARE @FirstName NVARCHAR(20) DECLARE @Name NVARCHAR(20) DECLARE @Co...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

网狐棋牌经典版管理后台操作手册

网狐棋牌_经典版游戏 管理后台操作手册                                 ...

网狐服务端网站常见部署问题

1、数据库链接数据库问题(及网站管道错误问题):     =》在数据库里的“服务器对象”=》“链接服务器”=》添加缺少的链接数据库。 连接数据库的设置记得设置属性RPC和RPC OUT为TU...

第1讲(数据库软件的配置与游戏数据库的搭建)

1>配置数据库软件登录模式(*2)       数据库的登录模式要求为混合登录模式(windows登录模式和SQL登录模式).而SQL2005默认是禁止SA登陆的,所以我们还要开启SA的登录权限. ...

在代码中添加倒计时程序,开个线程SetTimer

初始化如下:         #define IDI_PLAY_TIMER 1; 构造函数中初始化: m_dwTimeCount=7200; 一、设置定时器     ...

网狐全局定义,用户数据,更改要慎重!

之前在网狐大厅代码上增加了一个新的功能,读取游戏时长,制作倒计时程序,结果导致了捕鱼游戏帐号显示不出来,一直摸索了好久,今天终于解决了。 问题在于我用的不是最原先的“系统模块”,而是新的一个“系统模...

THAccountsDB数据库里重要的表

1、AccountsInfo表 这张表存放的是用户数据。 2、AndoridConfigure表 这张表是机器人管理表,通过AndroidManager.exe来对相应的游戏加入机器...

VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)

FROM : http://blog.csdn.net/zzzili/article/details/7411357

第2讲(服务端的配置与启动)

1>认识服务组件 协调服务器 Correspond.exe 协调其他游戏服务的信息数据,对房间服务器进行注册,向登录服务器提供汇总的游戏列表与游戏信息.汇总各个房间的在线人数信息等. 游戏服务器 ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)