Giter VIP home page Giter VIP logo

aoe2hdlobbycompanion's Introduction

Age of Empires 2 Lobby Companion

Lobby Companion is a desktop app that works with Age of Empires 2 HD and provides additional info for players who join your lobby. It works for both lobby hosting and lobby joining scenarios. Additional info that is being displayed is Location, Total Games, Win Ratio, and Drop Ratio, so you can make a more educated guess whom you would like to play with. To keep the track of players who you don't want to play with in the future, or who you would like to, you can use a reputation system. Reputation system allows to assign negative or positive reputation for players who you played the game with, so the next time when the same player joins your lobby you can check player's reputation history and decide whether to let that person stay or not. Players are tracked by SteamID, so evasion is not possible by changing a name. To increase the user experience Lobby Companion is capable of projecting an in-game overlay with all the information you need to make a decision about the player, without having to alt-tab into the actual Lobby Companion app. Optionally (which is enabled by default) overlay is also shown when the game is not active, so you can do other stuff while waiting for your lobby to get full, and still keep an eye on the lobby progress without constantly alt-tabbing to check if the lobby is full. Additional features include balanced team calculation either based on Rank (ELO), Total Games or Win Ratio. This tool does not require logging into Steam account or ask any other credentials, it works side by side with your running Steam instance.

Short link for sharing: aoe2lc.net

Screenshots

Download

Download v1.4.0

Minimum Requirements: Windows 7 SP1 or newer

Prerequisites

How to use it

Just download the ZIP, extract it and launch AoE2HDLobbyCompanion.exe while your Steam Client is also running. When you are planning to play click on "Start Session". When you join a lobby or host a lobby you should see a lobby state being reflected in Lobby Companion app. When the game starts Lobby Companion should automatically mark the lobby as started and close the overlay in 1 minute into the game. To do it sooner you can click on "Start the lobby manually". When the game has finished you must seal the lobby before starting a new session. Befor sealing the lobby make sure you have assigned reputations. You can start assigning reputations even before the lobby has started. Lobby Companion tries to be as flexible as possible in terms of workflow. It's main purpose is to be your personal notepad when it comes to reputations and it makes no attempt to restrict you, therefor you can perform invalid actions without Lobby Companion stopping you, for example starting the lobby manually without the actual game being started. First time users have to go through a setup process where among other things most common problems are being explained and how to solve them. It is strongly recommended to go through the setup process with attention and not to skip anything.

How it works

Lobby Companion injects a NetHook2 DLL into Steam process to tap into Steam Client's network stream. That's how it is capable of knowing who the players are. There are 3 distinct components that work together: AoE2HDLobbyCompanion.exe, Backend.exe and NetHook2.dll:

  • AoE2HDLobbyCompanion.exe is a main process and a UI layer that is built with Electron. It also spawns Backend.exe and NetHook2.dll processes, because it is not powerful enough to peform all the tasks on its own. Because it is spawning additional processes some Anti-Viruses may flag those processes as malicious activities and therefor block them. To avoid Anti-Virus interruptions you have to add exclusions for those files. If you scan those files separately you should see that there is nothing malicious about them.
  • Backend.exe is a Kestrel web server built with .NET Core running on port 5000. It is a web server so the AoE2HDLobbyCompanion.exe could communicate with it. It's main purpose is to read NetHook2's network dump, deal with all the database related operations, and project an overlay.
  • NetHook2.dll purpose is to be injected into Steam Client's address space so the network traffic could be dumped for further inspection.

Database is stored separately from the installation folder to make the sure the database is not lost while upgrading. To make a backup of your database make a copy of C:\Users\[user]\AppData\Roaming\AoE2HDLobbyCompanion (AppData is hidden folder).

Known Issues

  • Some Anti-Viruses might block NetHook2 DLL when session is started. If it happens your Steam client along with the game will crash. To prevent it happening again you have to add an exclusion to your Anti-Virtus to prevent it from scanning NetHook2 process in the future.

Wiki

Building and Development

aoe2hdlobbycompanion's People

Contributors

erkoknoll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

aoe2hdlobbycompanion's Issues

Not working any more!

I tried it last night and it is unable to pull any info and crashes steam it self upon exit. Any chance you can have a look?

Regards,
Zik

No Information Displayed

Recently installed as I love the idea of this mod.

While the overlay appears as expected, no player names or information is included.

Console (Valve.Steam.Client) is printing:
CCrypto::SymmetricEnrptChosenIV + xxxx
Unable to find GetMessageList
Detorued Symmeteri Encrpt ChosenIV!
CWebSockeConnection::BBuildAndAsyncSendFrame = xxxx
CCMInterface:: RecPkt = 0x0
Detoured CWebSocketConnection::BBuildAndAsyncSendFrame!
Unable to hook CCMInterface:: RecvPkt: func scan failed
Wrote 28 bytes to 001_out of_703_(null)
Wrote 28 bytes to 001_out of_703_(null)
Wrote 28 bytes to 001_out of_703_(null)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.