/// <summary> /// Logs the client into the Steam3 network as an anonymous user. /// The client should already have been connected at this point. /// Results are returned in a <see cref="LoggedOnCallback"/>. /// </summary> /// <param name="details">The details to use for logging on.</param> public void LogOnAnonymous(AnonymousLogOnDetails details) { if (details == null) { throw new ArgumentNullException(nameof(details)); } if (!this.Client.IsConnected) { this.Client.PostCallback(new LoggedOnCallback(EResult.NoConnection)); return; } var logon = new ClientMsgProtobuf <CMsgClientLogon>(EMsg.ClientLogon); SteamID auId = new SteamID(0, 0, Client.Universe, EAccountType.AnonUser); logon.ProtoHeader.client_sessionid = 0; logon.ProtoHeader.steamid = auId.ConvertToUInt64(); logon.Body.protocol_version = MsgClientLogon.CurrentProtocol; logon.Body.client_os_type = (uint)details.ClientOSType; logon.Body.client_language = details.ClientLanguage; logon.Body.cell_id = details.CellID; logon.Body.machine_id = HardwareUtils.GetMachineID(); this.Client.Send(logon); }
/// <summary> /// Logs the client into the Steam3 network as an anonymous user. /// The client should already have been connected at this point. /// Results are returned in a <see cref="LoggedOnCallback"/>. /// </summary> /// <param name="details">The details to use for logging on.</param> public void LogOnAnonymous( AnonymousLogOnDetails details ) { if ( !this.Client.IsConnected ) { this.Client.PostCallback( new LoggedOnCallback( EResult.NoConnection ) ); return; } var logon = new ClientMsgProtobuf<CMsgClientLogon>( EMsg.ClientLogon ); SteamID auId = new SteamID( 0, 0, Client.ConnectedUniverse, EAccountType.AnonUser ); logon.ProtoHeader.client_sessionid = 0; logon.ProtoHeader.steamid = auId.ConvertToUInt64(); logon.Body.protocol_version = MsgClientLogon.CurrentProtocol; logon.Body.client_os_type = ( uint )details.ClientOSType; logon.Body.client_language = details.ClientLanguage; logon.Body.cell_id = details.CellID; logon.Body.machine_id = HardwareUtils.GetMachineID(); this.Client.Send( logon ); }
/// <summary> /// Logs the client into the Steam3 network as an anonymous user. /// The client should already have been connected at this point. /// Results are returned in a <see cref="LoggedOnCallback"/>. /// </summary> /// <param name="details">The details to use for logging on.</param> public void LogOnAnonymous( AnonymousLogOnDetails details ) { if ( !this.Client.IsConnected ) { this.Client.PostCallback( new LoggedOnCallback( EResult.NoConnection ) ); return; } var logon = new ClientMsgProtobuf<CMsgClientLogon>( EMsg.ClientLogon ); SteamID auId = new SteamID( 0, 0, Client.ConnectedUniverse, EAccountType.AnonUser ); logon.ProtoHeader.client_sessionid = 0; logon.ProtoHeader.steamid = auId.ConvertToUInt64(); logon.Body.protocol_version = MsgClientLogon.CurrentProtocol; logon.Body.client_os_type = ( uint )details.ClientOSType; logon.Body.client_language = details.ClientLanguage; // this is not a proper machine id that Steam accepts // but it's good enough for identifying a machine logon.Body.machine_id = Utils.GenerateMachineID(); this.Client.Send( logon ); }