Skip to content

SpeedrunTooling/SRTPluginManager

Repository files navigation

SRTPluginManager

TestDevBranch Release Date Downloads

Join Me Live On Twitch

Twitch

Table of Contents

How to Install

Install Guide Video on YouTube

or

  • Download latest release at Latest Release
  • Extract contents of zip to any desired folder ex. "C:/SRTHost"
  • Run SRTPluginManager.exe
  • Navigate to SRTHost tab
  • In Host Version Info Panel click Install to install latest SRT Host or alternatively Update to update it when available (Be careful this is a big download so its delayed click only once and let it do its thing you'll know when its done and install button disappears if you click twice it will crash the program)
  • Select Game you want to install from Supported Games List
  • In Current Plugin Panel click Install to install latest PluginProvider or alternatively Update to update it when available
  • Navigate to Extension tab
  • Install UI JSON
  • Install UI Websocket (Optional; only required if you have 2 pc stream setup, are outputting UI to tourney, or want to view the SRT HUD from a phone, tablet, or another device's browser)
  • Navigate to User Interfaces tab
  • Install any desired User Interfaces for each game supported more info below.
  • Navigate to Widgets tab
  • Select options for Web UI (Note some options are game specific not all work for all games at this time)
  • IF WEBSOCKET INSTALLED. Make sure you uncheck "Enable Local Host Server"
  • IF WEBSOCKET INSTALLED. Make sure to generate User Token by clicking the refresh button beside the User Token box or manually typing one in from tourney provider and clicking save button.
  • Copy links for stats or inventory url and paste into web browser or OBS.

How to Use

Start SRT

  • Navigate to SRTHost tab
  • Choose Game from Supported Game List
  • Click Start SRT

Stop SRT

  • Navigate to SRTHost tab
  • Choose Game from Supported Game List
  • Click Stop SRT

SRT Host

screenshot

Extensions

screenshot

UI JSON

Initiallizes local JSON Server for communications between game and local web servers for web HUD's.
Local Host API

Example
{
    GameName: "Example API RE2R",
    VersionInfo: "9.9.9.9",
    Timer: {
        IGTRunningTimer: 6028998549,
        IGTCutsceneTimer: 189283718,
        IGTMenuTimer: 1272932590,
        IGTPausedTimer: 1967921896
    },
    PlayerCharacter: 1,
    Player: {
        CurrentHP: 1200,
        MaxHP: 1200,
        Percentage: 1,
        IsAlive: true,
        HealthState: 1
    },
    PlayerName: "Claire: ",
    IsPoisoned: false,
    RankManager: {
        Rank: 6,
        RankScore: 6690.906
    },
    PlayerInventoryCount: 12,
    PlayerInventory: [
        {
            _DebuggerDisplay: "[#2] Item WoodenBoard Quantity 5",
            SlotPosition: 2,
            ItemID: 33,
            WeaponID: -1,
            Attachments: 0,
            Quantity: 5,
            IsItem: true,
            IsWeapon: false,
            IsEmptySlot: false
        },
        {
            _DebuggerDisplay: "[#5] Empty Slot",
            SlotPosition: 5,
            ItemID: 0,
            WeaponID: -1,
            Attachments: 0,
            Quantity: -1,
            IsItem: false,
            IsWeapon: false,
            IsEmptySlot: true
        }
    ],
    EnemyHealth: [
        {
            _DebuggerDisplay: "1500 / 1500 (100.0%)",
            MaximumHP: 1500,
            CurrentHP: 1500,
            IsTrigger: false,
            IsAlive: true,
            IsDamaged: false,
            Percentage: 1
        },
        {
            _DebuggerDisplay: "44 / 890 (4.9%)",
            MaximumHP: 890,
            CurrentHP: 44,
            IsTrigger: false,
            IsAlive: true,
            IsDamaged: true,
            Percentage: 0.0494382
        }
    ],
    IGTCalculated: 3871792935,
    IGTCalculatedTicks: 38717929350,
    IGTTimeSpan: {
        Ticks: 38717929350,
        Days: 0,
        Hours: 1,
        Milliseconds: 792,
        Minutes: 4,
        Seconds: 31,
        TotalDays: 0.044812418229166665,
        TotalHours: 1.0754980375,
        TotalMilliseconds: 3871792.935,
        TotalMinutes: 64.52988225,
        TotalSeconds: 3871.792935
    },
    IGTFormattedString: "01:04:31"
}

UI Websocket

Initiallizes Websocket Server for communications between game and online web servers for web HUD's.

User Interfaces

screenshot

Direct X

Initiallizes in-game overlay using SharpDX.
screenshot

WPF (Windows Presentation Foundation)

Initiallizes External HUD Application using WPF.
screenshot

Widgets

screenshot

Stats HUD

Stats HUD
screenshot

Inventory HUD

Inventory HUD
screenshot