Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.
/ Titan Public archive

A free, advanced CS:GO report and commendation bot built with performance and ease-of-use in mind

License

Notifications You must be signed in to change notification settings

mellowagain/Titan

Repository files navigation

Titan

Titan /ˈtaɪtən/ is a modern report & commendation bot for the Source engine. It has been built from the ground up with performance and easy-of-use in mind using modern technologies like SteamKit.

Please note that this project is unmaintained and provided as-is. Thank you for your interest in the project.

Features

  • Support for a graphical user interface (GUI) and command line.
  • High performance due to multi-threaded reporting and commending.
  • Ban checking for both target and bot accounts. (Requires a generated Steam Web API key)
  • Integrated Sharecode parser that automatically parses the Match ID from a CS:GO Demo Share URL.
  • Support for all Steam ID's known to man (SteamID, SteamID3, SteamID64) as well as Steam profile urls.
  • Integrated Match ID resolver that automatically resolves the Match ID from the targets current match.
  • Automatic index timer which outputs when an account has finished its 12 hours cooldown.
  • Cross-platform compatibility, supports both Windows and Linux. Darwin support is coming soon.
  • No installation necessary, every release is provided as binary archive.
  • Tracking of botted victims with automatic notification when a ban occurs.
  • Automatic Steam Guard code generation from Shared Secrets.
  • Steam Guard support.

Installation

Every version of Titan is provided as binary archive so installation is not required.

Dependencies

Windows: .NET Framework ≥4.6.1 (and for building Git, Visual Studio 2017 with .NET Desktop Development tools and Visual Studio 2017 Build Tools).
Linux: Mono ≥5.4, Gtk 3, libNotify and libAppindicator 3 (and for building Git and MsBuild ≥15.0).

Option 1: Binary

Download the latest binary from the releases tab. Download the package for the appropriate operating system, unpack it and run the Titan.exe file.

Option 2: From Source

$ git clone https://github.com/Marc3842h/Titan.git
$ cd Titan

# Run this in a PowerShell terminal on Windows
PS> Set-ExecutionPolicy Unrestricted
PS> .\build.ps1

# Run this in a terminal on Linux
$ chmod +x build.sh
$ ./build.sh

Option 3: Distro-provided packages

Arch Linux: titan-bot-git

Usage

Start

Run Titan on Windows by simple double clicking the Titan.exe executable.

On Linux, run Titan from the command line using the following syntax:

$ mono Titan.exe [Verb] [Arguments ...]

A list of command line arguments can be found here.
If the required arguments have not been supplied, Titan will open the GUI:

GUI

If a recently botted players has been banned, a notification will appear:

Notification

NOTE

By default, Titan will run in the background as a service. To close Titan completely, click File > Exit in the menu bar.

About

All screenshots have been taken on Arch Linux using Gnome with the Ark-Dark theme.

Converting existing accounts file

Titan brings a Python3 script that can convert an existing accounts.txt file (in the format of username:password, from for example Askwrite's report bot) to a Titan-compatible accounts.json file that can be used with the Titan report & commend bot.

Use it like this:

python convert.py <original accounts file>

After it runs successfully a accounts.json file can be found in the current directory.

i3wm

If i3 window manager is being used, it is recommended to enable floating for Titan in the .config/i3/config:

for_window [class="Titan"] floating enable

Accounts file

Here is the syntax of the accounts.json. More information about the syntax can be found on the wiki.

{
    // A maximum of 11 accounts are allowed per index. Begin a new index when a new account is required.
    "indexes": [
        {
            "accounts": [
                {
                    "username": "username1",
                    "password": "password1",
                    "enabled": true, // May be omitted in order to set it to default value (true)
                    "sentry": false, // May be omitted in order to set it to default value (false)
                    "secret": "Shared Secret for SteamGuard" // May be omitted if usage of the shared secret generator is not needed
                },
                {
                    "username": "username11",
                    "password": "password11",
                    "enabled": false, // May be omitted in order to set it to default value (true)
                    "sentry": false, // May be omitted in order to set it to default value (false)
                    "secret": "Shared Secret for SteamGuard" // May be omitted if usage of the shared secret generator is not needed
                }
            ]
        },
        {
            "accounts": [
                {
                    "username": "username12",
                    "password": "password12",
                    "enabled": true, // May be omitted in order to set it to default value (true)
                    "sentry": false, // May be omitted in order to set it to default value (false)
                    "secret": "Shared Secret for SteamGuard" // May be omitted if usage of the shared secret generator is not needed
                },
                {
                    "username": "username22",
                    "password": "password22",
                    "enabled": true, // May be omitted in order to set it to default value (true)
                    "sentry": false, // May be omitted in order to set it to default value (false)
                    "secret": "Shared Secret for SteamGuard" // May be omitted if usage of the shared secret generator is not needed
                }
            ]
        }
    ]
}

Contributing

All contributions are welcomed and appreciated.

Bug Reports

Please use the issue tracker to report any bugs or file feature requests.

Developing

Pull Requests are welcome. Restore the NuGet packages (nuget restore) before loading the .sln project into an IDE.

Donations

Donations are appreciated.

  • Feel free to donate once in a lifetime to my PayPal accounts \< at \> marcsteiner.me.
  • Feel free to become a monthly pledger on my Patreon.

License

Titan is licensed under the MIT License. Please visit the LICENSE.txt file in the root directory tree for more informations. All external resources that do not fall unter the MIT license (Images etc.) have been credited in the CREDIT.txt under the Resources directory.