private void OnCS_UserData_InitUser_Req(SecurePacketRequest reqPacket) { SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket); String nickname = reqPacket.GetStringFromUtf16(); resPacket.ResultCodeNo = InitUser(nickname); SendPacket(resPacket); }
private void OnCS_Auth_Guest_Req(SecurePacketRequest reqPacket) { Int32 worldId = reqPacket.GetInt32(); String userToken = reqPacket.GetStringFromUtf16(); Boolean hasData = false; Int32 userNo = 0, authKey = 0; using (DBCommand cmd = AuthDB.NewCommand()) { cmd.CommandText.Append("select userno, authkey from t_accounts"); cmd.CommandText.Append(" where usertoken=@0;"); cmd.BindParameter("@0", userToken); cmd.PostQuery( () => { if ((hasData = cmd.Reader.Read()) == true) { userNo = cmd.Reader.GetInt32(0); authKey = cmd.Reader.GetInt32(1); } }, (exception) => { SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket); if (exception != null) { resPacket.ResultCodeNo = ResultCode.Database_Error; Logger.Write(LogType.Err, 2, exception.ToString()); } else if (hasData == true) { ServerInfo gameServerInfo = ServerCatalog.Items .Where(v => v.WorldId == worldId && v.Status == ServerStatus.Activate && v.ServerType == ServerType.GameServer) .OrderBy(v => v.Traffic) .FirstOrDefault(); if (gameServerInfo == null) resPacket.ResultCodeNo = ResultCode.NoAvailableServer; else { resPacket.ResultCodeNo = ResultCode.Ok; resPacket.PutInt32(userNo); resPacket.PutInt32(authKey); resPacket.PutStringAsUtf16(gameServerInfo.SystemIpAddress); resPacket.PutInt32(gameServerInfo.ListenPortNo); } } else resPacket.ResultCodeNo = ResultCode.InvalidUserToken; SendPacket(resPacket); }); } }
private void OnCS_Auth_RegisterGuest_Req(SecurePacketRequest reqPacket) { String userToken = reqPacket.GetStringFromUtf16(); Int32 ret = 0, userNo = 0, authKey = 0; using (DBCommand cmd = AuthDB.NewCommand()) { cmd.CommandText.Append("call sp_auth_register_guest(@0);"); cmd.BindParameter("@0", userToken); cmd.PostQuery( () => { if (cmd.Reader.Read()) { ret = cmd.Reader.GetInt32(0); userNo = cmd.Reader.GetInt32(1); authKey = cmd.Reader.GetInt32(2); } }, (exception) => { SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket); if (exception != null) { resPacket.ResultCodeNo = ResultCode.Database_Error; Logger.Write(LogType.Err, 2, exception.ToString()); } else if (ret == 0) { resPacket.ResultCodeNo = ResultCode.Ok; resPacket.PutInt32(userNo); resPacket.PutInt32(authKey); } else if (ret == 1) resPacket.ResultCodeNo = ResultCode.ExistsUserToken; SendPacket(resPacket); }); } }