Automating the Steam Summer Sale 2018 game with overkill.
Note: This is a hobby project, so expect bugs. Want to have them fixed? Please report an issue or submit a pull request.
This tool is simply way too overkill for such a small mini game. However, I thought it would be a nice experience for me to get back into C# again. So here it is, another one.
This application automates the mini game, just like most other tools do. But let's list all the features:
- Interactive console with various commands that can show the game status or change the settings
- Can automate the mini game and supports updating Discord Rich Presence
- Automation:
- Automatically joins planets and zones based on a configurable strategy
- Supports overriding the joining planet, in case you want to spend as much time as possible there
- Configurable game time, which is by default 110 seconds (keep in mind that setting this too low might cause failures)
- Adjusts the game time slightly based on network latency
- Discord:
- Supports Discord Rich Presence (automation is not required)
There's a couple of strategies that you can use. You can manipulate the strategy with the strategy command. Without parameters, this command will return the current used strategy. In order to set the strategy, use the names below (it's case sensitive!). You can use multiple names, just be sure to separate them with a comma or a space.
Some strategies are incompatible with each other, in that case, the top-most one will take priority.
- FocusCurrentPlanet
- FocusRandomPlanet
- MostDifficultPlanetsFirst
- LeastDifficultPlanetsFirst
- MostCompletedPlanetsFirst
- LeastCompletedPlanetsFirst
- MostDifficultZonesFirst
- LeastDifficultZonesFirst
- MostCompletedZonesFirst
- LeastCompletedZonesFirst
- TopDown
- BottomUp
The default strategy is: MostDifficultPlanetsFirst, MostCompletedPlanetsFirst, MostDifficultZonesFirst, MostCompletedZonesFirst, TopDown.
- Download and install .NET Framework if you don't have it already (4.5.1 is required)
- Download the latest
winbuild from AppVeyor - Extract the archive to a separate folder
- Run AutoSaliens.exe
- Follow instructions in the console
- Download and install .NET Core Runtime if you don't have it already (2.0 is required): Linux, macOS
- Download the latest
portablebuild from AppVeyor - Extract the archive to a separate folder
- Run
dotnet AutoSaliens.dll - Follow instructions in the console
The list below might not be up-to-date. You can find the up-to-date command list of your version by executing the help command.
Salien commands:
joinedplanet - Shows the current joined planet
joinedzone - Shows the current joined zone
overrideplanetid [id] - Shows or sets the current overridden planet id;
Overridden planets will always be joined, unless it's fully captured
networktolerance [toggle] - Shows or sets whether the network tolerance is enabled or not;
Enabling this will cause the application to try to send certain API
calls earlier to account for network latency (default: enable)
planet <id> - Shows information about a planet
planets [option] - Shows the list of all planets
playerinfo - Shows the player information
strategy [strategy] - Shows or sets the current active strategy (to reset to default, use: 0)
zone <planet_id> <zone_pos> - Shows information about a zone
zones <planet_id> - Shows the list of the zones of a planet
Informative commands:
getstarted - Shows information about how and where to start
gettoken - Shows information about where you can get your Saliens token
help - Shows this help message
homepage - Shows the homepage URL of this application
Application commands:
checkupdate - Checks if an update was available during the last check
exit - Exits the program
gametime [seconds] - Shows or sets the game time in seconds (default: 110)
pause - Pauses the automation after completing one loop cycle
presence [toggle] - Shows or sets whether Discord presence is enabled or not
presencetime [option] - Shows or sets the Discord presence time type
resume - Starts/Resumes the automation
token [token] - Shows or sets the token
This project uses Visual Studio 2017 and .NET Framework 4.5.1 or .NET Core 2.0. There are no specific build instructions.