Skip to content

pilot2254/steam-playtime-farmer

Repository files navigation

Steam Playtime Farmer

A simple command-line tool that automatically farms playtime for your Steam games. This application lets you run multiple games simultaneously in the background to accumulate playtime hours without actually playing them.

Table of Contents

What is This?

Steam Playtime Farmer is a tool that lets you "farm" hours on your Steam games without actually playing them. This can be useful for:

  • Increasing your playtime stats
  • Earning Steam trading cards
  • Making your profile look more active
  • Testing Steam's family sharing features

The application runs in the background and doesn't require your games to be installed - it simply tells Steam that you're playing the games.

Warning

Using this tool might violate Steam's terms of service. Use at your own risk.

Features

  • Farm multiple games simultaneously
  • Secure login with Steam Guard support
  • Automatic reconnection if disconnected
  • Optional 2FA integration with shared secret
  • Optional password saving
  • Simple configuration file management

Installation for Regular Users

Step 1: Install Node.js

This application runs on Node.js, which you'll need to install first:

  1. Go to nodejs.org
  2. Download the "LTS" (Long Term Support) version
  3. Run the installer and follow the instructions
  4. When asked about additional tools, check "Automatically install the necessary tools"

Step 2: Download Steam Playtime Farmer

  1. Download the latest release from the releases page
  2. Extract the ZIP file to a folder on your computer

Step 3: Install Dependencies

  1. Open Command Prompt (Windows) or Terminal (Mac/Linux)
  2. Navigate to the folder where you extracted the files:
cd path/to/steam-playtime-farmer
  1. Install the required packages:
npm install

Note

If you encounter any errors during installation, make sure you have the latest version of Node.js installed.

How to Use

Starting the Application

  1. Open Command Prompt (Windows) or Terminal (Mac/Linux)
  2. Navigate to the application folder:
cd path/to/steam-playtime-farmer
  1. Start the application:
npm start

First-Time Setup

When you first run the application, it will create a default configuration file called user-config.json. You'll need to edit this file with your Steam account details before you can start farming.

Logging In

  1. Select "Start Farming" from the main menu
  2. If you have a password configured in the config file, it will be used automatically
  3. If no password is configured, you'll be prompted to enter it
  4. If you have Steam Guard enabled, you'll be asked for your code

Tip

If you have a shared secret configured, the application will automatically generate 2FA codes for you.

Commands While Farming

Once farming has started, you can use these commands:

  • status - Check your current farming status
  • stop - Stop farming and return to the main menu
  • help - Show available commands

Configuration

The application uses a user-config.json file to store your settings. When you first run the application, it will create a template file that looks like this:

{
  "accountName": "YOUR_ACCOUNT_NAME_HERE",
  "sharedSecret": "THIS_IS_OPTIONAL",
  "games": [
    {
      "appId": 221410,
      "name": "Steam for Linux"
    },
    {
      "appId": 730,
      "name": "CS2"
    }
  ],
  "password": "YOUR_PASSWORD_HERE"
}

Configuration Options

  • sharedSecret: Your Steam Guard shared secret (optional, for automatic 2FA)
  • games: Array of games to farm (AppID and name)
  • password: Your Steam password (optional, will prompt if not provided)

Important

Replace the placeholder values with your actual Steam account details. The application will not work with the default placeholder values.

Finding Game AppIDs

You can find Steam AppIDs by:

  1. Going to the game's Steam store page
  2. Looking at the URL - the number after /app/ is the AppID
  3. Using websites like SteamDB to search for games

Steam Guard Authentication

Using Steam Guard Codes

If you have Steam Guard enabled on your account, you'll be prompted for your authentication code when logging in. Simply enter the code from your Steam Guard app or email.

Using 2FA Shared Secret (Advanced)

For automatic 2FA code generation, you can configure your shared secret:

  1. Obtain your shared secret (this requires access to your Steam Guard setup)
  2. Add it to your configuration file
  3. The application will generate codes automatically

Warning

Your shared secret is sensitive information. Keep it secure and don't share it with anyone.

For Developers

Project Structure

steam-playtime-farmer/
├── src/
│   ├── config/
│   │   └── app.config.ts
│   ├── modules/
│   │   ├── config-manager.ts
│   │   ├── connection-manager.ts
│   │   ├── event-manager.ts
│   │   ├── steam-client.ts
│   │   └── user-interface.ts
│   ├── types/
│   │   ├── config.ts
│   │   ├── connection.ts
│   │   ├── events.ts
│   │   └── steam.ts
│   └── main.ts
├── dist/
├── package.json
├── tsconfig.json
├── user-config.json
├── LICENSE
└── README.md

Key Components

  • Steam Client: Handles authentication and game farming
  • Config Manager: Manages user configuration
  • User Interface: Provides the command-line interface
  • Connection Manager: Manages reconnection logic
  • Event Manager: Provides an event system for communication

Adding New Features

  1. Fork the repository
  2. Install dependencies with npm install
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Building from Source

# Clone the repository
git clone https://github.com/pilot2254/steam-playtime-farmer.git

# Navigate to the directory
cd steam-playtime-farmer

# Install dependencies
npm install

# Build the project
npm run build

# Run the application
npm start

Development Commands

# Build the project
npm run build

# Start the application
npm start

# Watch for changes during development
npm run dev

# Clean build directory
npm run clean

Note

The project is written in TypeScript and needs to be compiled before running. The npm start command automatically builds the project before starting it.

Troubleshooting

Common Issues

"Error: Incorrect password or invalid credentials"

  • Double-check your Steam username and password in the config file
  • Make sure you're entering the correct Steam Guard code
  • Try logging in through the Steam client to verify your credentials

"Failed to reconnect after multiple attempts"

  • Check your internet connection
  • Steam servers might be down - try again later
  • Restart the application and try again

"Steam Guard required but no handler registered"

  • This usually happens when the application loses focus during login
  • Restart the application and try again

"Configuration is not ready for farming"

  • Make sure you've edited the user-config.json file with your actual Steam account details
  • Replace all placeholder values like "YOUR_ACCOUNT_NAME_HERE" with real values
  • Ensure you have at least one game configured in the games array

"Command not found: tsc"

  • Make sure all dependencies are installed: npm install
  • Try rebuilding the project: npm run build

Tip

Most connection issues can be resolved by restarting the application and trying again.

Logs

The application logs important information to the console. If you're experiencing issues, check the console output for error messages that might help identify the problem.

FAQ

Is this against Steam's terms of service?

Using this tool might violate Steam's terms of service. The tool doesn't modify game files or use any exploits, but it does simulate playing games without actually running them. Use at your own risk and discretion.

Will this get me VAC banned?

No, this tool doesn't modify any game files or interact with VAC-protected games in any way that would trigger a VAC ban. It only tells Steam that you're playing certain games without actually launching them.

Do I need to have the games installed?

No, the application only tells Steam you're playing the games - it doesn't actually run them. You don't need to have the games installed on your computer.

Can I use this with multiple Steam accounts?

You can use this with multiple accounts by creating different configuration files or manually editing the config file each time you want to switch accounts.

Is my Steam password stored securely?

Your password is stored locally on your computer in plain text if you choose to include it in the config file. Only include your password in the config if your computer is secure and you trust the environment. If you don't include it, you'll be prompted to enter it each time you start farming.

How many games can I farm at once?

Steam typically allows farming multiple games simultaneously. The exact limit isn't officially documented, but most users can farm 10-30 games at once without issues. Your account status and Steam's current policies may affect this limit.

Will this affect my Steam level or badges?

Farming playtime can help you earn trading cards for eligible games, which can be used to craft badges and increase your Steam level. However, not all games drop cards, and there are daily limits on card drops.

Can I still use Steam normally while farming?

Yes, you can still use Steam normally while the farmer is running. However, your status will show that you're playing the games being farmed.

How do I add or remove games from farming?

Edit the user-config.json file and modify the "games" array. Add or remove game objects with "appId" and "name" properties. You'll need to restart the application for changes to take effect.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Important

This tool is for educational purposes only. The developers are not responsible for any consequences resulting from the use of this software. Always respect the terms of service of the platforms you use.

About

A simple Node.js application for farming playtime across multiple Steam games simultaneously.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •