Coder Social home page Coder Social logo

d2moddinclient's Introduction

This is the public release of the D2Moddin client addon manager and launcher.

The Manager

The manager is responsible for connecting to D2Moddin, checking the SteamIDs of the active users on the machine, detecting the versions of downloaded addons and, when requested, downloading and decompressing new addons. It runs without admin privileges of any kind and is as small and ephemeral as possible.

Addons are downloaded to the dota directory / D2Moddin folder. When the user joins a lobby the "selected" mod files are copied into dota directory / addons / d2moddin. The process is non-invasive and easily uninstalled (delete both D2Moddin directories)

The manager is automatically told to shut down a minute after all open browser tabs with the user logged in are closed, or 30 seconds after connection is lost.

The taskbar icon allows the user to see all downloaded addons, uninstall the manager and all installed addons, or restart/exit the manager.

The Launcher (Installer)

The launcher simply downloads the latest version of the D2Moddin manager. It is a very light executable that targets all versions of Windows.

The executable is as simple as possible, and follows this task list:

  1. Compare the existing D2Moddin manager version with the latest version (found at the clientver page).
  2. If the latest version is already downloaded, simply launch it.
  3. If an update is required (or it has never been run before), download it and extract the latest version to %AppData%/D2MP/, a temporary directory.

Finally before exiting the executable attempts to delete itself.

Touched Directories

Here is a list of the only directories both executables touch through their entire lifetimes.

  • The manager directory (temporary directory): %AppData%/D2MP
  • The Dota 2 d2moddin directory: %DotaDir%/dota/d2moddin%
  • The Dota 2 addon directory: %DotaDir%/addons/d2moddin%

Please note that files are never deleted or modified in your regular Dota 2 installation. The Dota 2 client loads addons as if they were Frostivus or Nian style game modes.

d2moddinclient's People

Contributors

maksii avatar paralin avatar

Stargazers

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

Watchers

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

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.