Files
Sun1602/ProgramCommon/SunAuth/AuthDefine.h
T
2022-10-26 12:25:11 +08:00

216 lines
5.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef __AUTH_DEFINE_H__
#define __AUTH_DEFINE_H__
#include <SunAuth/AuthDefine.Build.h>
typedef WORD AGENTID;
#define GUARD(name, obj) eXtreme::Guard < eXtreme::Mutex > name( obj )
#define MAX_GROUP_NAME_LEN 32
#define MAX_SERVER_NAME_LEN 32
#define MAX_GROUP 32 //SUN游戏世界(组)的最大个数
#define MAX_SVR 254 //SUN游戏代理最大个数=用户可选择的最大频道数
#define MAX_IP_NAME_LENGTH 15
#define IP_MAX_LEN 32
#define GLOGKEY_LEN 9 // 8 + Null terminated(1)
#define INFO_MAX_LEN 64
#ifdef _ACCOUNT_ID_LENGTH_EXTENTION_
#define ID_MAX_LEN 50
#else
#define ID_MAX_LEN 24
#endif
//#if defined(CHECK_ID_LENGTH_BUFFER)
//#pragma push_macro("CHECK_ID_LENGTH_BUFFER")
//#endif
#ifndef CHECK_ID_LENGTH_BUFFER
#if defined(_ACCOUNT_ID_LENGTH_EXTENTION_)
#define CHECK_ID_LENGTH_BUFFER(member) \
BOOST_STATIC_ASSERT(static_cast<size_t>(sizeof(member)/sizeof(member[0])) == (ID_MAX_LEN + 1) && \
ID_MAX_LEN == 50)
#else
#define CHECK_ID_LENGTH_BUFFER(member) \
BOOST_STATIC_ASSERT(static_cast<size_t>(sizeof(member)/sizeof(member[0])) >= ID_MAX_LEN && \
ID_MAX_LEN == 24)
#endif
#endif
//#pragma pop_macro("CHECK_ID_LENGTH_BUFFER")
#define PASSWD_MAX_LEN 24
#define PC_MAX_LEN 16
#define MAX_AUTHRESULT_MESSAGE_LEN 64
#define TOKEN_BASE64_KEY_MAX 1024 //中国认证密钥最大值
#define MAX_DBCRYPT_LENGTH 16
#define MAX_BETA_KEY 6
//#ifdef _SHAPE_AUTH //图形认证
// #define SHAPE_DATA_MAX_LEN 4096
//#endif
#ifdef _SECURE_AUTH
#define MAX_AUTH 64 //包结构体内部缓冲区最大值(目前Matrix使用的值为48byte,但以防万一,抓住了64byte)
#define MAX_MATRIX 16 //可获得认证的最大坐标数
#define MAX_MATRIX_KEY 81
#define MAX_MATRIX_SEED 26
#define MAX_MATRIX_BASE 1000
#endif
enum PACKET_RESULT_TYPE
{
PACKET_RESULT_SUCCESS,
PACKET_RESULT_FAIL,
};
enum AUTHRESULT_TYPE
{
AUTHRESULT_OK, //认证成功
AUTHRESULT_INVALIDACCOUNT, //id或密码错误
AUTHRESULT_SYSTEMERROR, //系统故障
AUTHRESULT_NOTEXISTACCOUNT, //不存在的账户(当前不可用)
AUTHRESULT_INVALIDPASSWORD, //错误的密码(当前未使用)
AUTHRESULT_NOTALLOWEDACCOUNT, //不允许登录的账户
AUTHRESULT_PRECONNECTREMAIN, //保留上一个连接信息。稍后重试
AUTHRESULT_RESTRICTADULT, //无法登录成人服务器
AUTHRESULT_RESTRICTCROWD, //服务器拥挤度为满地,无法连接
AUTHRESULT_BILLINGEXPIRED, //付款时间已满
AUTHRESULT_PROCESSLOGIN, //已存在认证中的账户
AUTHRESULT_ALREADYLOGIN, //已在连接中。稍后重试。
AUTHRESULT_ACCOUNT_BLOCK, //认证连续错误导致的账户块状态
AUTHRESULT_GAMECHU_INVALIDUSN, //游戏机认证模块失败
AUTHRESULT_INGAMBA_INVALID, //俄罗斯印鉴巴模块认证失败
AUTHRESULT_MAXLOGINCOUNT, //超过最大连接数 by:十里坡剑神 2021-06-28
AUTHRESULT_MAX,
};
enum ACCOUNTSTATUS_TYPE
{
ACCOUNTSTATUS_NONE, //未经认证的账户
ACCOUNTSTATUS_AUTH, //认证完成
ACCOUNTSTATUS_TRYPLAY, //试图登录游戏
ACCOUNTSTATUS_PLAY, //登录游戏
ACCOUNTSTATUS_WAITLOGOUT, //正在等待注销(向GameAgent发送Logout
ACCOUNTSTATUS_OVERTIME, //注销等待时间已过(超过租借周期即可确认)
ACCOUNTSTATUS_MAX,
};
enum USERSTATUS_TYPE
{
USERSTATUS_LOGOUT, //未登录账户
USERSTATUS_TRYLOGIN, //正在试图登录游戏(id/pw检查完成~试图登录游戏)
USERSTATUS_PLAY, //正在登录游戏
};
enum eIPTYPE
{
eIPTYPE_COUNTRY = 1, //容许
eIPTYPE_EXCEPT, //例外(允许处于禁止状态)
eIPTYPE_OFFICE, //男儿
eIPTYPE_INTERCEPT, //禁止
};
enum eSERIALIZE_TYPE
{
eSERIALIZE_LOAD,
eSERIALIZE_SAVE,
};
#ifdef _SECURE_AUTH
enum eSECURE_AUTH_CODE
{
eSC_NONE, // 不使用安全认证
eSC_SCARD, //安全卡(现在只使用这个)
eSC_MAX,
};
#endif
enum USER_STS
{
USER_STS_NORMAL = 0, //普通玩家
USER_STS_1ST_BETA_TESTER = 1,
USER_STS_BLOCK = 2, //封禁账号
USER_STS_2ND_BETA_TESTER = 3,
USER_STS_INNER = 4, //内部帐户
USER_STS_FOREIGN = 5, //海外帐户
USER_STS_GM = 100, //100以上GM账户
USER_STS_MAX = 256,
};
enum RTT_SERVER_TYPE
{
RTT_RTTAGENT = 1,
RTT_AUTHSERVER = 2,
RTT_MASTER = 4,
};
//强制终止理由代码
enum RTT_DROP_REASON
{
eDRC_OVERLAPPEDCONN = 1, //重复连接
eDRC_NOTAUTHUSER = 2, //未经认证的用户
eDRC_WOPS_GM = 100, // GM账号
eDRC_BILLING_EXPIRE = 200, //租借期满
eDRC_WEB = 300, //通过网络支持接种 __NA000000_090430_ADDIN_DROP_CODE__
eDRC_MAX
};
//用户差异类型
enum BILLING_DEDUCTION_TYPE
{
eDEDUCTIONTYPE_NONE,
ePERSONAL_FIXED_AMOUNT,
ePERSONAL_FIXED_QUANTITY,
ePCROOM_FIXED_AMOUNT,
ePCROOM_FIXED_QUANTITY,
eDEDUCTIONTYPE_MAX,
};
enum VERSION_TYPE
{
GAME_VERSION_PROTOCOL = 1,
GAME_VERSION_LAUNCHER = 2,
GAME_VERSION_MAJOR = 3,
GAME_VERSION_MINOR = 4,
GAME_VERSION_MAX,
};
enum DB_TYPE
{
DB_TYPE_AUTH,
DB_TYPE_LOG,
DB_TYPE_RTT,
DB_TYPE_NETCAFE,
DB_TYPE_MAX,
};
enum eAUTH_TYPE
{
ACCOUNT_AUTH,
SHAPE_AUTH,
MATRIX_CARD_AUTH,
AUTH_FAIL_TYPE_MAX
};
//_CHANNELING_AUTH_FLOW_HANGAME_USER_
enum eAUTH_USER_TYPE
{
AUTH_USER_DEFAULT, //现有玩家
AUTH_USER_HANGAME, //一个游戏玩家
AUTH_USER_NEOWIZ, //彩椒玩家
};
#endif //__AUTH_DEFINE_H__