Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

Latest commit

 

History

History
54 lines (32 loc) · 3.38 KB

README.md

File metadata and controls

54 lines (32 loc) · 3.38 KB

Logo Age of Empires 2 HD - Spectator Client

This is an unofficial companion app that streams AoE2 HD games live, with the help of the Relay Server

Note -- there is no release yet. This is because AoE2HD seems to cache however much you have of the recording when you start the game. As of right now, this solution cannot work until it's changed.

Overview

This server is broken into 2 parts: Websocket server backend that manages the actually streaming of recordings and Laravel for a web frontend to display available live games. Both parts are written on PHP 7.

How it works

Overview

This is essentially what Voobly does under the hood, just not as integrated since HD doesn't expose controls like UserPatch does.

UpStream

Age of Empires 2 saves the recording files as the game progresses. (This is why recording games on older computers/hard drives lags the game). The Client (this repo) take the recording file, as it's coming, and upload them to a Relay Server. Clients can then, after accessing the Server's webpage, can then download and watch the game.

DownStream

Planned

  • Streaming, coined "Upstreaming"
  • Spectating, coined "Downstreaming"
    • Core function - actually streaming the file
    • Web front - where people can find games to spectate
    • In-game spectating status, using a Direct3D Overlay
  • Live (sort of) stats
  • Spectator Chat

Requirements

At the moment, you'll need a fast hard drive to minimize load times. Other requirements:

  • Java 8

How to run & Settings

Once this is stable, native executables/installations will be available. For now, run the JAR as Administrator

The first time it runs, it won't know where your Age2HD savegame directory is. Right-click the icon, click Settings, and then close the App. You should have a config.txt open. Change the save_game_directory and the relay_server to what you'd like. Restart app.

DISCLAIMER

This is not only served AS-IS, but Microsoft, Ensemble Studios, Skybox, and whoever else you want to associate Age of Empires 2 with has nothing to do with these projects. Purely started by me, Kevin "echospot" Thorne.

License & Contributing

NOTICE.md includes all licenses, mostly for libraries included (such as PHP-Websockets, Java Websocket Libraries, etc). LICENSE.md licenses this under the Apache License 2.0. This means you can contribute freely! Just tell everyone what you did and include previous licenses!