From 4b24ebe29657df4f46af64e4a58692b05b5f7e32 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 16 Sep 2019 23:28:09 +0800 Subject: [PATCH] 1 --- server/gameserver/global.cc | 2 +- server/gameserver/playermgr.cc | 11 +++++++++++ server/tools/protobuild/cs_proto.proto | 8 ++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/server/gameserver/global.cc b/server/gameserver/global.cc index 5846572..eb0941d 100755 --- a/server/gameserver/global.cc +++ b/server/gameserver/global.cc @@ -126,11 +126,11 @@ bool CustomPbSerialize(char* buf, int buflen, google::protobuf::Message* msg) int offset = 0; 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) { if (offset + fixed_len > buflen) { abort(); diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index 0f51920..6cf9bd8 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -2,6 +2,8 @@ #include "playermgr.h" #include "cs_proto.pb.h" +#include "dbengine.h" +#include "GCListener.h" void PlayerMgr::Init() { @@ -16,6 +18,15 @@ void PlayerMgr::UnInit() 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';", + { + msg.account() + }); + assert(ret > 0); + cs::SMAuthResponse respmsg; + respmsg.set_errcode(0); + GCListener::Instance()->SendMsg(hdr.socket_handle, respmsg); } int PlayerMgr::OnlineNum() diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index ea7152b..e77d10d 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -11,6 +11,14 @@ message SMAuthChallenge optional uint32 seed = 1; } +message SMAuthResponse +{ + optional int32 errcode = 1 [(fixed_len) = 1]; + optional int32 billing_time_remaining = 2; + optional int32 billing_plan_flags = 3 [(fixed_len) = 1]; + optional int32 billing_time_rested = 4; +} + message CMAuthSession { optional uint32 built_number_client = 1;