Skip to content

Commit

Permalink
1.3.0.2 Hotfix
Browse files Browse the repository at this point in the history
* Enable login by parameter by default in fresh settings file.
* Fix fresh settings crash bug.
* Restore default settings button.
* Go to repository if updater is not found.
rex706 committed Jul 17, 2019
1 parent 64f9f02 commit 24d8264
Showing 6 changed files with 37 additions and 183 deletions.
161 changes: 3 additions & 158 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# SAM - Steam Account Manager

Easily log in and switch between Steam accounts.
*Easily log in and switch between Steam accounts.*


![alt tag](http://i.imgur.com/3qyK3jU.png)

**Latest Version:** 1.3.0.2

[**DOWNLOAD**](https://github.com/rex706/SAM/releases)

**Features**
@@ -25,160 +27,3 @@ Easily log in and switch between Steam accounts.
* Delete userdata folder after every login toggle.
* Set custom sleep time for waiting actions.
* Toggle certain Steam client launch parameters.

------------------------------------

**CHANGELOG**

**Latest version:** 1.3.0.1
* Restore login by parameter functionality.
- Can be disabled in Parameters settings.

1.3.0.0
* Send user credentials as key presses rather than launch paramters.
* Better account button position logic.
* Set button size ranging between 50-200px.
* Show account names/aliases on hover.
* Delete userdata folder after login toggle setting.
* Delete all or selected accounts in bulk file menu items.
* Fix scaling issue when window size is greater than screen size.
* Disable Steam Vanity URL API call.
* Remember window position.
* Improve SteamGuard window focus.
* Set custom sleep time for waiting actions.
* Potentially useful Steam client launch parameter toggles.

1.2.6.2
* Fix importing delimited accounts without a shared secret.

1.2.6.1
* If shared secret is an empty string, do not display the delimiter character when credentials are exposed.

1.2.6.0
* Set account timeouts through account context menu.
* Support for importing character delimited accounts in bulk.
- Shared secret optional.
* Copy password from account context menu.
* Expose all account credentials in delimited format through file drop down menu.
- Password required if protected.

1.2.5.0
* Password protect application and data file.
- Encrypts entire data file.
* Fix properly minimizing to system tray if setting enabled.
* Fix Steam Guard window detection in different languages using the [em dash '—'](https://en.wikipedia.org/wiki/Dash) instead of standard hyphen.
* Crash fixes.

1.2.4.1
* Steam Guard login fixes.
- Additional Language support.
* Auto-login fixes when used with the Start With Windows option.
* Fix config.vdf parse path.
* Alias input to display instead of username.
* Tray right click options and logging in.
* Drag window while dragging background.
* Login freeze fixes.

1.2.4.0
* Multi-select accounts for export through the file drop down menu.
- Can also export individual account through the context menu.
* Focus the 2FA window for every key press.
* Auto Steam path button in Settings, which will try to find the installed Steam path from the registry or installed directory for portable users.
* Utilize the Steam Web Api and parsing the Steam config.vdf with [Gameloop.vdf](https://github.com/shravan2x/Gameloop.Vdf) to try to automatically find profile information.
* Auto login and SAMSettings.ini fixes.
* Bundle new Updater.exe

1.2.3.2
* Better handle waiting for the 2FA Steam Guard window when logging in.

1.2.3.1
* Fixed an issue that would cause a crash if an old account did not have the new 2FA field, which all accounts with the previous update did not have.

1.2.3.0
* 2FA Support thanks to [gmmanonymus111](https://github.com/gmmanonymus111)
- Your 'Shared Secret' can be found in your decrypted .maFile generated from [SteamDesktopAuthenticator](https://github.com/Jessecar96/SteamDesktopAuthenticator)
- SAM will encrypt your 'Shared Secret' before saving it for future use like your password.
* Update some NuGet Packages.

1.2.2.0
* Much better handling of profile image scrape.
- No longer relies on image source pattern.
* Reload all images from edit drop down.
* Change Steam file path in settings.

1.2.1.0
* Fixed file export bug.
* Import and Export have been moved to the 'File' dropdown.

1.2.0.0
* Sort accounts alphabetically through the 'Edit' dropdown.
* Import/Export accounts data file in settings.
* Start minimized setting.
* Auto-Login now only triggers if Steam is not already open.
* Account buttons now change opacity when clicked.
* Redesign settings window.

1.1.0.1
* Fixed a bug that would not let emails be entered into the 'Name' field.

1.1.0.0

* Automatic login on program startup.
- Most recently used account via settings menu.
- Pre-selected account via new account/edit menu.
* Enable minimize.
* Do not display tooltip if description is empty/blank.
* Fixed saving and loading steam path.

1.0.2.1

* Start with windows setting.

1.0.2.0

* Optional description profile entry.
* Confirmation window when deleting entries.

1.0.1.0

* Window resize animations
* Fix settings window to be less annoying

1.0.0.1

* 1.0 release (completely usable with all origionally planned features)
* Edit entry
* Bug fixes

0.1.4.1

* Bundle new autoupdater
* Fix window refresh bugs
* Lighten background color
* Display version number in help menu or if there is an update

0.1.4.0

* Finally fixed obnoxious button glow effect.

0.1.3.1

* Fixed all spacing weirdness/issues.

0.1.3

* Display steam avatar on button if user inputs a profile url.
* Password entry masking.
* Switched to type List<T> instead of HashTable to store information.
- Old info.dat will be deleted

0.1.2

* Right click on any account for an option to delete it.
* File menu.
- Settings window.
* New row after user specified amount of accounts in settings. Defaults to 5.

0.1.1

* Release
13 changes: 7 additions & 6 deletions SAM/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
@@ -56,12 +56,13 @@ public partial class MainWindow : Window
private static List<Thread> loginThreads;
private static List<System.Timers.Timer> timeoutTimers;

private static string updateCheckUrl = "https://raw.githubusercontent.com/rex706/SAM/master/latest.txt";
private static readonly string updateCheckUrl = "https://raw.githubusercontent.com/rex706/SAM/master/latest.txt";
private static readonly string repositoryUrl = "https://github.com/rex706/SAM";

private static bool isLoadingSettings = false;

// Keys are changed before releases/updates
private static string eKey = "PRIVATE_KEY";
private static readonly string eKey = "PRIVATE_KEY";
private static string ePassword = "";

private static string account;
@@ -132,7 +133,7 @@ private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
newExistMenuItem.Items.Add(ver);

// Check for a new version.
if (await UpdateCheck.CheckForUpdate(updateCheckUrl) == 1)
if (await UpdateCheck.CheckForUpdate(updateCheckUrl, repositoryUrl) == 1)
{
// An update is available, but user has chosen not to update.
ver.Header = "Update Available!";
@@ -1208,7 +1209,7 @@ private void TypeCredentials(int index, int tryCount)
Thread.Sleep(sleepTime);

SetForegroundWindow(steamLoginWindow.RawPtr);

Thread.Sleep(100);
System.Windows.Forms.SendKeys.SendWait(decryptedAccounts[index].Name);
Thread.Sleep(100);
@@ -1669,12 +1670,12 @@ private void SettingsButton_Click(object sender, RoutedEventArgs e)

private void GitMenuItem_Click(object sender, RoutedEventArgs e)
{
Process.Start("https://github.com/rex706/SAM");
Process.Start(repositoryUrl);
}

private async void Ver_Click(object sender, RoutedEventArgs e)
{
if (await UpdateCheck.CheckForUpdate(updateCheckUrl) < 1)
if (await UpdateCheck.CheckForUpdate(updateCheckUrl, repositoryUrl) < 1)
{
MessageBox.Show(Process.GetCurrentProcess().ProcessName + " is up to date!");
}
4 changes: 2 additions & 2 deletions SAM/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -49,5 +49,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.3.0.1")]
[assembly: AssemblyFileVersion("1.3.0.1")]
[assembly: AssemblyVersion("1.3.0.2")]
[assembly: AssemblyFileVersion("1.3.0.2")]
6 changes: 3 additions & 3 deletions SAM/SettingsWindow.xaml
Original file line number Diff line number Diff line change
@@ -52,10 +52,10 @@
<CheckBox x:Name="ConsoleCheckBox" Content="-console" HorizontalAlignment="Left" Margin="33,47,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Enables the Steam debug console tab."/>
<CheckBox x:Name="DeveloperCheckBox" Content="-developer" HorizontalAlignment="Left" Margin="33,67,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Sets the 'developer' variable to 1. Can be used to open the VGUI editor by pressing F6 or VGUI zoo by pressing F7. Intended for skin development."/>
<CheckBox x:Name="ForceServiceCheckBox" Content="-forceservice" HorizontalAlignment="Left" Margin="33,87,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Run Steam Client Service even if Steam has admin rights."/>
<CheckBox x:Name="LoginCheckBox" Content="-login" HorizontalAlignment="Left" Margin="33,107,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Logs into Steam with the specified Username and Password combination. Note: Steam must be off for this to work."/>
<CheckBox x:Name="NoCacheCheckBox" Content="-nocache" HorizontalAlignment="Left" Margin="189,7,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Starts steam with no cache (Steam must be off for this to work properly)."/>
<CheckBox x:Name="LoginCheckBox" Content="-login" HorizontalAlignment="Left" Margin="33,107,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Logs into Steam with the specified Username and Password combination."/>
<CheckBox x:Name="NoCacheCheckBox" Content="-nocache" HorizontalAlignment="Left" Margin="189,7,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Starts steam with no cache."/>
<CheckBox x:Name="NoVerifyFilesCheckBox" Content="-noverifyfiles" HorizontalAlignment="Left" Margin="189,27,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Prevents from the client from checking files integrity, especially useful when testing localization."/>
<CheckBox x:Name="SilentCheckBox" Content="-silent" HorizontalAlignment="Left" Margin="189,47,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Suppresses the dialog box that opens when you start steam. It is used when you have Steam set to auto-start when your computer turns on. (Steam must be off for this to work)."/>
<CheckBox x:Name="SilentCheckBox" Content="-silent" HorizontalAlignment="Left" Margin="189,47,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Suppresses the dialog box that opens when you start steam. It is used when you have Steam set to auto-start when your computer turns on."/>
<CheckBox x:Name="SingleCoreCheckBox" Content="-single__core" HorizontalAlignment="Left" Margin="189,67,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Force Steam to run on your primary CPU only."/>
<CheckBox x:Name="TcpCheckBox" Content="-tcp" HorizontalAlignment="Left" Margin="189,87,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Forces connection to Steam backend to be via TCP."/>
<CheckBox x:Name="TenFootCheckBox" Content="-tenfoot" HorizontalAlignment="Left" Margin="189,107,0,0" VerticalAlignment="Top" Foreground="#FFD1D1D1" ToolTip="Start Steam in Big Picture Mode."/>
34 changes: 21 additions & 13 deletions SAM/UpdateCheck.cs
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ class UpdateCheck
/// Check program for updates with the given text url.
/// Returns 1 if the user chose not to update or 0 if there is no update available.
/// </summary>
public static async Task<int> CheckForUpdate(string url)
public static async Task<int> CheckForUpdate(string updateUrl, string repoUrl)
{
// Nkosi Note: Always use asynchronous versions of network and IO methods.

@@ -74,7 +74,7 @@ public static async Task<int> CheckForUpdate(string url)
try
{
// Open the text file using a stream reader.
using (Stream stream = await client.GetStreamAsync(url))
using (Stream stream = await client.GetStreamAsync(updateUrl))
{
StreamReader reader = new StreamReader(stream);

@@ -98,17 +98,25 @@ public static async Task<int> CheckForUpdate(string url)
// Update is available, and user wants to update. Requires app to close.
if (answer == MessageBoxResult.Yes)
{
// Setup update process information.
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = true;
startInfo.FileName = "Updater.exe";
startInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = url;

// Launch updater and exit.
Process.Start(startInfo);
if (File.Exists("Updater.exe"))
{
// Setup update process information.
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = true;
startInfo.FileName = "Updater.exe";
startInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = updateUrl;

// Launch updater and exit.
Process.Start(startInfo);
}
else
{
Process.Start(repoUrl);
}

Environment.Exit(0);

return 2;
2 changes: 1 addition & 1 deletion latest.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
1.3.0.1
1.3.0.2
SAM.exe
https://drive.google.com/uc?export=download&id=0B2byNRcR0k4vblQxNWNEakNISFU
SAM.exe

0 comments on commit 24d8264

Please sign in to comment.