async _sendLogOn() {
		if (this._logOnDetails.account_name && this._logOnDetails.password) {
			this.emit('debug', 'Logging on with account name and password; fetching a new refresh token');
			let startTime = Date.now();
			let authSuccess = await this._performPasswordAuth();
			if (!authSuccess) {
				// We would have already emitted 'error' so let's just bail now
				return;
			} else {
				this.emit('debug', `Password auth succeeded in ${Date.now() - startTime} ms`);
			}
		}

		// Realistically, this should never need to elapse since at this point we have already established a successful connection
		// with the CM. But sometimes, Steam appears to never respond to the logon message. Valve.
		this._logonMsgTimeout = setTimeout(() => {
			this.emit('debug', 'Logon message timeout elapsed. Attempting relog.');
			this._disconnect(true);
			this._enqueueLogonAttempt();
		}, 5000);

		this._send(this._logOnDetails.game_server_token ? EMsg.ClientLogonGameServer : EMsg.ClientLogon, this._logOnDetails);
	}
Send the actual ClientLogOn message.
@private