PHPackages                             chipslays/steam-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. chipslays/steam-client

ActiveLibrary

chipslays/steam-client
======================

Steam Client library for PHP.

0.0.7(5y ago)112MITPHP

Since Nov 13Pushed 5y ago1 watchersCompare

[ Source](https://github.com/chipslays/steam-client)[ Packagist](https://packagist.org/packages/chipslays/steam-client)[ RSS](/packages/chipslays-steam-client/feed)WikiDiscussions main Synced 5d ago

READMEChangelog (7)Dependencies (7)Versions (8)Used By (0)

WIP: PHP Steam Client
=====================

[](#wip-php-steam-client)

Work in progress

Installation
------------

[](#installation)

```
$ composer require chipslays/steam-client
```

Example
-------

[](#example)

Simple auth in CLI:

```
// steam.php

use Steam\Auth;
use Steam\Client;

require 'vendor/autoload.php';

$client = new Client([
    'username' => 'gaben',
    'password' => 'hackmedaddy',
    'sessionDir' => __DIR__ . '/storage/sessions',
]);

$tryAuthCount = 0;

if (!$client->isLoggedIn()) {
    $auth = $client->auth();
    while ($auth['code'] !== Auth::SUCCESS) {
         if (++$tryAuthCount >= 5) {
            throw new Exception('To many auth fails. For this you can get banned by IP if you continue.');
        }

        switch ($auth['code']) {
            case Auth::CAPTCHA:
                cli()->yellow()->out($auth['response']->get('message'));
                $captchaLink = $client->getCaptchaLink();
                cli()->yellow()->out($captchaLink);
                $input = cli()->input('>>> Enter captcha code:');
                $captchaResolveText = $input->prompt();
                $client->setCaptchaText($captchaResolveText);
                $auth = $client->auth();
                break;

            case Auth::EMAIL:
                $input = cli()->input('>>> Enter e-mail code:');
                $emailCode = $input->prompt();
                $client->setEmailCode($emailCode);
                $auth = $client->auth();
                break;

            case Auth::TWO_FACTOR:
                cli()->yellow()->out($auth['response']->get('message'));
                $input = cli()->input('>>> Enter 2FA code:');
                $twoFactorCode = $input->prompt();
                $client->setTwoFactorCode($twoFactorCode);
                $auth = $client->auth();

            case Auth::FAIL:
                print_r($auth);
                throw new Exception('Fail auth.');
                break;

            case Auth::BAD_RSA:
                throw new Exception('Fail RSA');
                break;

            case Auth::THROTTLE:
                throw new Exception($auth['response']->get('message'));
                break;

            case Auth::UNEXPECTED:
                print_r($auth);
                throw new Exception('Unexpected error 1');
                break;

            case Auth::BAD_CREDENTIALS:
                cli()->lightRed()->out($auth['response']->get('message'));
                $input = cli()->confirm('Want to enter new credentials?');

                if (!$input->confirmed()) {
                    cli()->lightRed()->out('Client has been stopped.');
                    exit;
                }

                $username = cli()->input('>>> Enter username:')->prompt();
                $password = cli()->password('>>> Enter password:')->prompt();

                $client->setUsername($username);
                $client->setPassword($password);
                $auth = $client->auth();
                break;

            default:
                throw new Exception("Unexpected error 2");
                break;
        }
    }
}

/** We are now logged in */
$balance = $client->market()->getBalance();
print_r($balance);

/** Output */
Array
(
    [raw] => 13,37 pуб.
    [clean] => 13.37
)
```

```
php steam.php
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Total

7

Last Release

1926d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19103498?v=4)[chipslays](/maintainers/chipslays)[@chipslays](https://github.com/chipslays)

---

Top Contributors

[![chipslays](https://avatars.githubusercontent.com/u/19103498?v=4)](https://github.com/chipslays "chipslays (24 commits)")

---

Tags

clientlibrarysteamsteam-api

### Embed Badge

![Health badge](/badges/chipslays-steam-client/health.svg)

```
[![Health](https://phpackages.com/badges/chipslays-steam-client/health.svg)](https://phpackages.com/packages/chipslays-steam-client)
```

###  Alternatives

[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k96.9M674](/packages/laravel-socialite)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[danog/madelineproto

Async PHP client API for the telegram MTProto protocol.

3.4k855.0k18](/packages/danog-madelineproto)[aporat/store-receipt-validator

PHP receipt validator for Apple App Store and Amazon Appstore

6503.9M9](/packages/aporat-store-receipt-validator)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
