void DownloadUserAvatar(int clientnum, int guid)
{
	if (avatarinfo[clientnum].guid != guid)
	{
		Com_Printf(0, "Starting for client %d (guid %d)\n", clientnum, guid);
		NPAsync<NPGetUserAvatarResult>* async = NP_GetUserAvatar(guid, avatarinfo[clientnum].buffer, 1024 * 100);
		async->SetCallback(RecieveUserAvatarCB, (void*)clientnum);
		avatarinfo[clientnum].guid = guid;
	}
}
bool CSteamGameServer010::SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser ) {
	
	#ifdef KEY_DISABLED
	NPAuthenticateTicket* ticket = (NPAuthenticateTicket*)pvAuthBlob;

	GSClientApprove_t* retvals = (GSClientApprove_t*)malloc(sizeof(GSClientApprove_t));
	retvals->m_SteamID = CSteamID(ticket->clientID);
	CSteamBase::ReturnCall(retvals, sizeof(GSClientApprove_t), GSClientApprove_t::k_iCallback, 0);
	return true;
#endif

	NPAsync<NPValidateUserTicketResult>* async = NP_ValidateUserTicket(pvAuthBlob, cubAuthBlobSize, unIPClient, pSteamIDUser->ConvertToUint64());
	async->SetCallback(SteamGS_OnValidateTicket, NULL);
	return true;
}