1
This commit is contained in:
parent
4b24ebe296
commit
4e702143ef
@ -19,5 +19,101 @@ enum NetHandler_e
|
||||
HID_Plyaer
|
||||
};
|
||||
|
||||
enum ResponseCodes
|
||||
{
|
||||
RESPONSE_SUCCESS = 0x00,
|
||||
RESPONSE_FAILURE = 0x01,
|
||||
RESPONSE_CANCELLED = 0x02,
|
||||
RESPONSE_DISCONNECTED = 0x03,
|
||||
RESPONSE_FAILED_TO_CONNECT = 0x04,
|
||||
RESPONSE_CONNECTED = 0x05,
|
||||
RESPONSE_VERSION_MISMATCH = 0x06,
|
||||
|
||||
CSTATUS_CONNECTING = 0x07,
|
||||
CSTATUS_NEGOTIATING_SECURITY = 0x08,
|
||||
CSTATUS_NEGOTIATION_COMPLETE = 0x09,
|
||||
CSTATUS_NEGOTIATION_FAILED = 0x0A,
|
||||
CSTATUS_AUTHENTICATING = 0x0B,
|
||||
|
||||
AUTH_OK = 0x0C,
|
||||
AUTH_FAILED = 0x0D,
|
||||
AUTH_REJECT = 0x0E,
|
||||
AUTH_BAD_SERVER_PROOF = 0x0F,
|
||||
AUTH_UNAVAILABLE = 0x10,
|
||||
AUTH_SYSTEM_ERROR = 0x11,
|
||||
AUTH_BILLING_ERROR = 0x12,
|
||||
AUTH_BILLING_EXPIRED = 0x13,
|
||||
AUTH_VERSION_MISMATCH = 0x14,
|
||||
AUTH_UNKNOWN_ACCOUNT = 0x15,
|
||||
AUTH_INCORRECT_PASSWORD = 0x16,
|
||||
AUTH_SESSION_EXPIRED = 0x17,
|
||||
AUTH_SERVER_SHUTTING_DOWN = 0x18,
|
||||
AUTH_ALREADY_LOGGING_IN = 0x19,
|
||||
AUTH_LOGIN_SERVER_NOT_FOUND = 0x1A,
|
||||
AUTH_WAIT_QUEUE = 0x1B,
|
||||
AUTH_BANNED = 0x1C,
|
||||
AUTH_ALREADY_ONLINE = 0x1D,
|
||||
AUTH_NO_TIME = 0x1E,
|
||||
AUTH_DB_BUSY = 0x1F,
|
||||
AUTH_SUSPENDED = 0x20,
|
||||
AUTH_PARENTAL_CONTROL = 0x21,
|
||||
|
||||
REALM_LIST_IN_PROGRESS = 0x22,
|
||||
REALM_LIST_SUCCESS = 0x23,
|
||||
REALM_LIST_FAILED = 0x24,
|
||||
REALM_LIST_INVALID = 0x25,
|
||||
REALM_LIST_REALM_NOT_FOUND = 0x26,
|
||||
|
||||
ACCOUNT_CREATE_IN_PROGRESS = 0x27,
|
||||
ACCOUNT_CREATE_SUCCESS = 0x28,
|
||||
ACCOUNT_CREATE_FAILED = 0x29,
|
||||
|
||||
CHAR_LIST_RETRIEVING = 0x2A,
|
||||
CHAR_LIST_RETRIEVED = 0x2B,
|
||||
CHAR_LIST_FAILED = 0x2C,
|
||||
|
||||
CHAR_CREATE_IN_PROGRESS = 0x2D,
|
||||
CHAR_CREATE_SUCCESS = 0x2E,
|
||||
CHAR_CREATE_ERROR = 0x2F,
|
||||
CHAR_CREATE_FAILED = 0x30,
|
||||
CHAR_CREATE_NAME_IN_USE = 0x31,
|
||||
CHAR_CREATE_DISABLED = 0x32,
|
||||
CHAR_CREATE_PVP_TEAMS_VIOLATION = 0x33,
|
||||
CHAR_CREATE_SERVER_LIMIT = 0x34,
|
||||
CHAR_CREATE_ACCOUNT_LIMIT = 0x35,
|
||||
CHAR_CREATE_SERVER_QUEUE = 0x36,
|
||||
CHAR_CREATE_ONLY_EXISTING = 0x37,
|
||||
|
||||
CHAR_DELETE_IN_PROGRESS = 0x38,
|
||||
CHAR_DELETE_SUCCESS = 0x39,
|
||||
CHAR_DELETE_FAILED = 0x3A,
|
||||
CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x3B,
|
||||
|
||||
CHAR_LOGIN_IN_PROGRESS = 0x3C,
|
||||
CHAR_LOGIN_SUCCESS = 0x3D,
|
||||
CHAR_LOGIN_NO_WORLD = 0x3E,
|
||||
CHAR_LOGIN_DUPLICATE_CHARACTER = 0x3F,
|
||||
CHAR_LOGIN_NO_INSTANCES = 0x40,
|
||||
CHAR_LOGIN_FAILED = 0x41,
|
||||
CHAR_LOGIN_DISABLED = 0x42,
|
||||
CHAR_LOGIN_NO_CHARACTER = 0x43,
|
||||
CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x44,
|
||||
|
||||
CHAR_NAME_NO_NAME = 0x45,
|
||||
CHAR_NAME_TOO_SHORT = 0x46,
|
||||
CHAR_NAME_TOO_LONG = 0x47,
|
||||
CHAR_NAME_INVALID_CHARACTER = 0x48,
|
||||
CHAR_NAME_MIXED_LANGUAGES = 0x49,
|
||||
CHAR_NAME_PROFANE = 0x4A,
|
||||
CHAR_NAME_RESERVED = 0x4B,
|
||||
CHAR_NAME_INVALID_APOSTROPHE = 0x4C,
|
||||
CHAR_NAME_MULTIPLE_APOSTROPHES = 0x4D,
|
||||
CHAR_NAME_THREE_CONSECUTIVE = 0x4E,
|
||||
CHAR_NAME_INVALID_SPACE = 0x4F,
|
||||
CHAR_NAME_CONSECUTIVE_SPACES = 0x50,
|
||||
CHAR_NAME_FAILURE = 0x51,
|
||||
CHAR_NAME_SUCCESS = 0x52,
|
||||
};
|
||||
|
||||
const char* const PROJ_NAME_FMT = "game%d_gameserver";
|
||||
const char* const PROJ_ROOT_FMT = "/data/logs/%s";
|
||||
|
@ -31,10 +31,10 @@ void DBEngine::Init()
|
||||
3306,
|
||||
"root",
|
||||
"keji178",
|
||||
"zero_relam"
|
||||
"zero_realm"
|
||||
)
|
||||
);
|
||||
f8::InitMysqlConnection(imp_->query_);
|
||||
// f8::InitMysqlConnection(imp_->query_);
|
||||
auto checkdb_func = [] (const a8::XParams& param)
|
||||
{
|
||||
f8::CheckMysqlConnection(
|
||||
|
@ -149,12 +149,18 @@ bool CustomPbSerialize(char* buf, int buflen, google::protobuf::Message* msg)
|
||||
break;
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_INT32:
|
||||
{
|
||||
if (offset + sizeof(int) > (size_t)buflen) {
|
||||
int val_size = fixed_len == 0 ? 4 : fixed_len;
|
||||
if (offset + val_size > buflen) {
|
||||
abort();
|
||||
}
|
||||
int val = reflection->GetInt32(*msg, field_desc);
|
||||
memmove(buf + offset, &val, sizeof(val));
|
||||
offset += sizeof(val);
|
||||
if (val_size == 1) {
|
||||
unsigned char byte_val = val;
|
||||
memmove(buf + offset, &byte_val, val_size);
|
||||
} else {
|
||||
memmove(buf + offset, &val, val_size);
|
||||
}
|
||||
offset += val_size;
|
||||
}
|
||||
break;
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_UINT32:
|
||||
@ -225,11 +231,11 @@ int CustomPbSerializeSize(google::protobuf::Message* msg)
|
||||
|
||||
for (int i = 0; i < descriptor->field_count(); ++i) {
|
||||
const google::protobuf::FieldDescriptor* field_desc = descriptor->field(i);
|
||||
int fixed_len = field_desc->options().GetExtension(cs::fixed_len);
|
||||
switch (field_desc->cpp_type()) {
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_STRING:
|
||||
{
|
||||
std::string val = reflection->GetString(*msg, field_desc);
|
||||
int fixed_len = field_desc->options().GetExtension(cs::fixed_len);
|
||||
if (field_desc->type() == google::protobuf::FieldDescriptor::TYPE_BYTES && fixed_len > 0) {
|
||||
byte_size += fixed_len;
|
||||
} else {
|
||||
@ -240,13 +246,13 @@ int CustomPbSerializeSize(google::protobuf::Message* msg)
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_INT32:
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_UINT32:
|
||||
{
|
||||
byte_size += 4;
|
||||
byte_size += fixed_len == 0 ? 4 : fixed_len;
|
||||
}
|
||||
break;
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_INT64:
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_UINT64:
|
||||
{
|
||||
byte_size += 8;
|
||||
byte_size += fixed_len == 0 ? 8 : fixed_len;
|
||||
}
|
||||
break;
|
||||
case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT:
|
||||
|
@ -40,6 +40,7 @@ void HandlerMgr::UnInit()
|
||||
void HandlerMgr::RegisterNetMsgHandlers()
|
||||
{
|
||||
RegisterNetMsgHandler(&gcmsghandler, &PlayerMgr::_CMAuthSession, CustomParser);
|
||||
RegisterNetMsgHandler(&gcmsghandler, &PlayerMgr::_CMCharEnum, CustomParser);
|
||||
}
|
||||
|
||||
void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle,
|
||||
|
@ -19,16 +19,21 @@ void PlayerMgr::_CMAuthSession(f8::MsgHdr& hdr, const cs::CMAuthSession& msg)
|
||||
{
|
||||
std::string digest = msg.digest();
|
||||
int ret = DBEngine::Instance()->ExecQuery("SELECT id, gmlevel, sessionkey, last_ip, locked, v, s, mutetime,"
|
||||
" locale, os FROM zeor_realm.account WHERE username='%s';",
|
||||
" locale, os FROM zero_realm.account WHERE username='%s';",
|
||||
{
|
||||
msg.account()
|
||||
});
|
||||
assert(ret > 0);
|
||||
cs::SMAuthResponse respmsg;
|
||||
respmsg.set_errcode(0);
|
||||
respmsg.set_errcode(AUTH_OK);
|
||||
GCListener::Instance()->SendMsg(hdr.socket_handle, respmsg);
|
||||
}
|
||||
|
||||
void PlayerMgr::_CMCharEnum(f8::MsgHdr& hdr, const cs::CMCharEnum& msg)
|
||||
{
|
||||
int i = 0;
|
||||
}
|
||||
|
||||
int PlayerMgr::OnlineNum()
|
||||
{
|
||||
return 0;
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace cs
|
||||
{
|
||||
class CMAuthSession;
|
||||
class CMCharEnum;
|
||||
}
|
||||
|
||||
class Player;
|
||||
@ -20,6 +21,8 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
|
||||
void UnInit();
|
||||
|
||||
void _CMAuthSession(f8::MsgHdr& hdr, const cs::CMAuthSession& msg);
|
||||
void _CMCharEnum(f8::MsgHdr& hdr, const cs::CMCharEnum& msg);
|
||||
|
||||
int OnlineNum();
|
||||
Player* GetPlayerBySocket(int socket);
|
||||
void OnClientDisconnect(a8::XParams& param);
|
||||
|
@ -3,6 +3,13 @@ package cs;
|
||||
//消息id定义
|
||||
enum CMMessageId_e
|
||||
{
|
||||
_SMAuthChallenge = 0x1EC;
|
||||
_CMAuthSession = 0x1ED;
|
||||
_CMCharEnum = 0x037;
|
||||
}
|
||||
|
||||
enum SMMessageId_e
|
||||
{
|
||||
_SMAuthChallenge = 0x1EC;
|
||||
_SMAuthResponse = 0x1EE;
|
||||
_SMCharEnum = 0x03B;
|
||||
}
|
@ -27,3 +27,13 @@ message CMAuthSession
|
||||
optional uint32 client_seed = 4;
|
||||
optional bytes digest = 5 [(fixed_len) = 20];
|
||||
}
|
||||
|
||||
message CMCharEnum
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
message SMCharEnum
|
||||
{
|
||||
|
||||
}
|
2
third_party/framework
vendored
2
third_party/framework
vendored
@ -1 +1 @@
|
||||
Subproject commit f7c0890bc84974c2770688378696bd8d74cfa7c2
|
||||
Subproject commit 47aa7d49ae3f12cef4d3d60b4a3fc07671ca767d
|
Loading…
x
Reference in New Issue
Block a user