AutoSaliens
AutoSaliens copied to clipboard
Automating the Steam Summer Sale 2018 mini game
AutoSaliens
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.
Why another automation tool?
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.
Features
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 (bot) and supports updating Discord Rich Presence (they can work independently from each other)
- Bot:
- 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 (can be turned off if wanted)
- Discord:
- Supports Discord Rich Presence
Strategy
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.
How to use
Windows
- 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
Other operating systems
- 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
Commands
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
planet <id> - Shows information about a planet
planets [option] - Shows the list of all planets
playerinfo - Shows the player information
zone <planet_id> <zone_pos> - Shows information about a zone
zones <planet_id> - Shows the list of the zones of a planet
Bot commands:
bossdamagemax [damage] - Shows or sets the maximum damage dealt to bosses
bossdamagemin [damage] - Shows or sets the minimum damage dealt to bosses
bot [toggle] - Shows or sets whether the bot is enabled or not
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)
strategy [strategy] - Shows or sets the current active strategy (to reset to default, use: 0)
Discord presence commands:
presence [toggle] - Shows or sets whether Discord presence is enabled or not
presencetype [option] - Shows or sets the Discord presence type
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 application after it finishes pending tasks
resume - Starts/resumes the application
token [token] - Shows or sets the token
Compiling
This project uses Visual Studio 2017 and .NET Framework 4.5.1 or .NET Core 2.0. There are no specific build instructions.