PHPackages                             elogank/lol-replay-observer - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. elogank/lol-replay-observer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

elogank/lol-replay-observer
===========================

A simple library to allow players to watch League of Legends replays on your server

1994[2 PRs](https://github.com/EloGank/lol-replay-observer/pulls)PHP

Since Feb 17Pushed 8y ago1 watchersCompare

[ Source](https://github.com/EloGank/lol-replay-observer)[ Packagist](https://packagist.org/packages/elogank/lol-replay-observer)[ RSS](/packages/elogank-lol-replay-observer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

League of Legends Replay Observer (player)
==========================================

[](#league-of-legends-replay-observer-player)

This project provides you a way to **watch your downloaded replays directly in the League of Legend official client** like replay.gg or op.gg feature.

**Please note that is the library only** : you need to connect it with your application *(controller)* and call all available services for each routes. Replays must be downloaded with the  library *(or the CLI built-in solution)*. See the documentation for more information.
**If you want a built-in solution of this library**, please see the repository : .

Features
--------

[](#features)

- **A fast way to download replays data** (a 40min replay length is downloaded in ~1 minute).
- Avoid a "Bug Slat" on the beginning of the game when the computer has poor performances.
- **Easily extendable**.
- Monolog ready.

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

[](#installation)

### Requirements

[](#requirements)

For now, **this library requires [Redis](http://redis.io/)**.
Maybe, in the future, this requirement will be optional.

### Composer

[](#composer)

In your project, in the folder where the `composer.json` file is located, run :

```
composer require elogank/lol-replay-observer
```

[What is Composer ?](https://getcomposer.org)

### Manually

[](#manually)

Clone this repository or [download the full zipped library](https://github.com/EloGank/lol-replay-downloader/archive/master.zip).

Configuration
-------------

[](#configuration)

Be sure to have a Virtual Host *(Apache, NGINX, or other web servers)* to handle clients requests.
All your routes must have the prefix `/observer-mode/rest/consumer`.

See usage part below for more informations about routes configuration.

Usage
-----

[](#usage)

See the [usage dedicated documentation](./docs/usage.md) for more information.

Client configuration
--------------------

[](#client-configuration)

To connect to your client to watch your replays, you have to retrieve some data :

- Your domain name or IP.
- The spectated region *(this is not the same as the game region)*.
- The game id.
- The game encryption key.

All are available in the `metas.json` in the downloaded replay data folder, for example :

```
/* metas.json */
{
    "gameKey": {
        "gameId": 1234567890,
        "platformId": "EUW1" /* region */
    },
    "gameServerAddress": "...",
    "port": ...,
    "encryptionKey": "zfBsWycQuDkkDNJhwSzdIYAmsAJu0n2s",
    ...
}
```

Then, run this command *(on Windows, run [![](https://camo.githubusercontent.com/e5b91240ea2fcd9da511a611d823fe9c279362e43fd86044fc9e18bcc1eff3be/687474703a2f2f726573312e77696e646f77732e6d6963726f736f66742e636f6d2f726573626f782f656e2f362e332f6d61696e2f61613932323833342d656434332d343066312d383833302d6435353037626164623536635f33392e6a7067)](https://camo.githubusercontent.com/e5b91240ea2fcd9da511a611d823fe9c279362e43fd86044fc9e18bcc1eff3be/687474703a2f2f726573312e77696e646f77732e6d6963726f736f66742e636f6d2f726573626f782f656e2f362e332f6d61696e2f61613932323833342d656434332d343066312d383833302d6435353037626164623536635f33392e6a7067) + R)* by replacing the 4 variables above and the location or your game directory :

```
"C:\Riot Games\RADS\solutions\lol_game_client_sln\releases\0.0.1.113\deploy\League of Legends.exe" "8394" "LoLLauncher.exe" "" "spectator [YOUR_DOMAIN_NAME]:80 [ENCRYPTION_KEY] [GAME_ID] [REGION]"

```

Example with my `metas.json` file data above :

```
"C:\Riot Games\RADS\solutions\lol_game_client_sln\releases\0.0.1.113\deploy\League of Legends.exe" "8394" "LoLLauncher.exe" "" "spectator www.foobar.com:80 zfBsWycQuDkkDNJhwSzdIYAmsAJu0n2s 1234567890 EUW1"

```

**Notes :**

- The `0.0.1.113` folder name can change when the game is updated. Be sure to update it for your users.
- The port (`:80`) is very important here, do not remove it. Of course, you can change it if your website is running on another port.
- You can found some batch files to automatically run the game on lolking.net, op.gg, or other websites that has that feature.

Important notes
---------------

[](#important-notes)

According to the new Riot Terms of Use *(1st October 2014)*, using data from another source of their official API is **not** allowed. So using data by parsing replays decoded files is not allowed.

Reporting an issue or a feature request
---------------------------------------

[](#reporting-an-issue-or-a-feature-request)

Feel free to open an issue, fork this project or suggest an awesome new feature in the [issue tracker](https://github.com/EloGank/lol-replay-observer/issues).

Known issues
------------

[](#known-issues)

- The first minute of the game can be unreachable on some replays.

Credit
------

[](#credit)

See the list of [contributors](https://github.com/EloGank/lol-replay-observer/graphs/contributors).

Related projects
----------------

[](#related-projects)

See the [EloGank organization](https://github.com/EloGank) to have the full list of related projects the League of Legend game.

Licence
-------

[](#licence)

[MIT, more information](./LICENSE)

*This repository isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends.
League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends (c) Riot Games, Inc.*

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1122160?v=4)[Sylvain Lorinet](/maintainers/Divi)[@Divi](https://github.com/Divi)

---

Top Contributors

[![Divi](https://avatars.githubusercontent.com/u/1122160?v=4)](https://github.com/Divi "Divi (22 commits)")

---

Tags

league-of-legendsphpreplayriot-games

### Embed Badge

![Health badge](/badges/elogank-lol-replay-observer/health.svg)

```
[![Health](https://phpackages.com/badges/elogank-lol-replay-observer/health.svg)](https://phpackages.com/packages/elogank-lol-replay-observer)
```

###  Alternatives

[kevincobain2000/laravel-erd

A tool to automatically generate interactive ERD relationships in Models for Laravel

155265.9k](/packages/kevincobain2000-laravel-erd)[novutec/whoisparser

Lookup domain names, IP addresses and AS numbers by WHOIS.

392.0M1](/packages/novutec-whoisparser)[fishpig/magento2-wordpress-integration

Securely integrate WordPress and Magento 2.

83352.3k5](/packages/fishpig-magento2-wordpress-integration)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[humanmade/asset-loader

Utilities to seamlessly consume Webpack-bundled assets in WordPress themes &amp; plugins.

28316.7k11](/packages/humanmade-asset-loader)[me-io/php-lodash

A full-on PHP manipulation utility-belt that provides support for the usual functional.

38100.0k](/packages/me-io-php-lodash)

PHPackages © 2026

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