PHPackages                             gameye/gameye-sdk-php - 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. [API Development](/categories/api)
4. /
5. gameye/gameye-sdk-php

AbandonedArchivedLibrary[API Development](/categories/api)

gameye/gameye-sdk-php
=====================

Gameye SDK for PHP.

v2.2.3(6y ago)34023[3 issues](https://github.com/Gameye/gameye-sdk-php/issues)BSD-2-ClausePHPPHP &gt;=5.6.4

Since Sep 9Pushed 6y agoCompare

[ Source](https://github.com/Gameye/gameye-sdk-php)[ Packagist](https://packagist.org/packages/gameye/gameye-sdk-php)[ Docs](https://github.com/gameye/gameye-sdk-php)[ RSS](/packages/gameye-gameye-sdk-php/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (8)Dependencies (6)Versions (9)Used By (0)

Gameye SDK for PHP
==================

[](#gameye-sdk-for-php)

[![Latest Stable Version](https://camo.githubusercontent.com/9e6e5d8573708339d1c4015bd7bb942893e2d08bc5966364b2444b5f9a92a33f/68747470733a2f2f706f7365722e707567782e6f72672f47616d6579652f67616d6579652d73646b2d7068702f762f737461626c65)](https://packagist.org/packages/gameye/gameye-sdk-php)[![Total Downloads](https://camo.githubusercontent.com/759b2e0ad9740dabcb03ce67e67e26296cef4b4a3b0ec9463ccb49c164a9bc92/68747470733a2f2f706f7365722e707567782e6f72672f47616d6579652f67616d6579652d73646b2d7068702f646f776e6c6f616473)](https://packagist.org/packages/gameye/gameye-sdk-php)[![License](https://camo.githubusercontent.com/76ee4f94259c427a23a212723603f345566f6e717a824682253460c83b50040d/68747470733a2f2f706f7365722e707567782e6f72672f67616d6579652f67616d6579652d73646b2d7068702f6c6963656e7365)](https://packagist.org/packages/gameye/gameye-sdk-php)

Create eSport and competitive matches for Counter-Strike: Global Offensive, Team Fortress 2, Left 4 Dead 2, Killing Floor 2, Insurgency and Day of Infamy for your platform without fixed monthly costs or any need for your own server infrastructure. Simply implement the Gameye API to kick off online matches when you need the, - you will even be able to implement the scores/statistics directly on your website. How cool is that!

Requirements
------------

[](#requirements)

To use the Gameye SDK, the following prerequisites need to be fulfilled:

- Obtain a free Gameye API key, please send us [an email](mailto:support@gameye.com)
- Composer
- PHP 5.6.4+ or newer
- PHP cURL extension

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

[](#installation)

The easiest way to install the Gameye SDK is to require it with [Composer](http://getcomposer.org/doc/00-intro.md).

```
$ composer require gameye/gameye-sdk-php

{
    "require": {
        "gameye/gameye-sdk-php": "2.*"
    }
}

```

You may also git checkout or [download all the files](https://github.com/Gameye/gameye-sdk-php/archive/master.zip), and include the Gameye SDK client manually.

Getting started
---------------

[](#getting-started)

1. Use the Gameye SDK to create a match with your desired game-specific options. It's important to specify an unique ID in order to be able to retrieve the details when the match has been created.
2. After the match has ended we will fire a GET request to your webhook to let you know the match is done.

Initialize the Gameye API client and set your API key.

```
$gameye = new \Gameye\SDK\GameyeClient([
            'AccessToken' => 'yourgameyeapitoken',
            'ApiEndpoint' => 'https://api.gameye.com',
        ]);
```

Create a match.

```
$gameye->commandStartMatch([
    'matchKey'     => 'yourmatchid',
    'locationKeys' => ['amsterdam'],
    'gameKey'      => 'csgo',
    'templateKey'  => 'esl1on1',
    'config'       => [
        'steamToken'  => 'yoursteamgameservertoken',
        'maxPlayers'  => 12,
        'maxRounds'   => 15,
        'tickRate'    => 128,
        'map'         => 'de_dust2',
        'mapgroup'     => 'mg_active',
        'teamNameOne' => 'Counter Terrorists',
        'teamNameTwo' => 'Terrorists'
    ],
    'endCallbackUrl' => 'https://platform.com/match?id=yourmatchid'
]);
```

*After creating the match, the server details will be available via the `queryMatch` function.**When the match has been ended we will make a GET request to your callback url so you can fetch the match results.*

Create a match with a custom (Steam Workshop) map.
Remove the map parameter from the config array and add the following two parameters.

```
'config' => [
    'workshopMap' => 'workshopid',
    'authkey'     => 'yoursteamwebapikey'
],
```

You can find the id of a custom map at the end of a [Steam Workshop URL](https://steamcommunity.com/workshop/browse/?appid=730).

Get a detailed list of all your active matches.

```
$gameye->queryMatch();
```

Stop a match.

```
$gameye->commandStopMatch([
    'matchKey' => $matchKey,
]);
```

Match results
-------------

[](#match-results)

When the match has been ended you can fetch the game scores and other statistics. You can pass a webhook URL when to create a match to get a notification when a match is done.

The following statistics are currently available for CS:GO

Match statistics:

- time started
- time ended
- rounds played

Team statistics:

- name
- score
- players

Player statistics:

- nickname
- steam id
- kills
- assists
- deaths

First, import the Gameye Selector class.

```
use \Gameye\SDK\GameyeSelector;
```

Get the statistic state of a match.

```
$match = $gameye->queryStatistic($matchKey);
```

Get the teams that participated in a match.

```
GameyeSelector::selectTeamList($match);
```

Get a single team.

```
GameyeSelector::selectTeamItem($match, $teamKey);
```

Get all the players that participated in a match.

```
GameyeSelector::selectPlayerList($match);
```

Note: we only show players that were connected to the match when it ended. For example if a player leaves in the last round of a match, he won't included in the statistics.

Get all players from a team.

```
GameyeSelector::selectPlayerListForTeam($match, $teamKey);
```

Create a Steam Server Login Token
---------------------------------

[](#create-a-steam-server-login-token)

We made a helper function to make it easier for you to create a GSLT (Game Server Login Token) via the Steam WEB API. It is strongly recommended to create a fresh token for every match and delete the token after the match has ended. This is advisable because every Steam account is limited to a maximum of 1000 tokens. Passing a GSLT when starting a match is currently only required for CS:GO. For more information see the [Steam website](https://steamcommunity.com/dev/managegameservers).

```
$steam = new \Gameye\SDK\SteamClient([
            'WebToken' => 'webtoken',
        ]);

$steam->GameServersService->CreateAccountV1($appid, $memo);
```

You can create a Steam Web API key on the [Steam website](https://steamcommunity.com/dev/apikey).

The APP id that you should include for CS:GO is 730

Contributing
------------

[](#contributing)

We encourage everyone to help us improve our public packages. If you want to contribute please submit a [pull request](https://github.com/Gameye/gameye-sdk-php/pulls).

License
-------

[](#license)

[BSD (Berkeley Software Distribution) License](https://opensource.org/licenses/bsd-license.php). 2017 Gameye B.V.

Support
-------

[](#support)

Contact: [gameye.com](https://gameye.com) —

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% 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 ~108 days

Recently: every ~139 days

Total

8

Last Release

2457d ago

Major Versions

v1.0.0 → v2.0.02018-02-13

### Community

Maintainers

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

---

Top Contributors

[![Smashmint](https://avatars.githubusercontent.com/u/3205573?v=4)](https://github.com/Smashmint "Smashmint (6 commits)")[![elmerbulthuis](https://avatars.githubusercontent.com/u/108056?v=4)](https://github.com/elmerbulthuis "elmerbulthuis (2 commits)")[![koenfaro90](https://avatars.githubusercontent.com/u/14921693?v=4)](https://github.com/koenfaro90 "koenfaro90 (1 commits)")

---

Tags

apicsgodockerebotesportsgamegamesgameyekf2l4d2statisticssteam-workshoptf2apidockeresportcsgotournamentsgamingtf2gameyecounterstrikel4d2kf2gotv

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/gameye-gameye-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/gameye-gameye-sdk-php/health.svg)](https://phpackages.com/packages/gameye-gameye-sdk-php)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k371.6k6](/packages/theodo-group-llphant)[files.com/files-php-sdk

Files.com PHP SDK

2478.1k](/packages/filescom-files-php-sdk)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.5M10](/packages/checkout-checkout-sdk-php)[clicksend/clicksend-php

301.6M11](/packages/clicksend-clicksend-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

252.5k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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