bd

command module
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2023 License: MIT Imports: 17 Imported by: 0

README

Bot Detector

Automatically detect and kick bots & cheaters in TF2.

Warning

This is very early in development, expect bugs.

What about TF2 Bot Detector?

If it works for you, feel free to keep using it, active development however has stopped. bd supports importing and exporting TF2BD player and rule lists to help ease adoption to this new tool. His tool is quite difficult to hack on, so one of the goals of this project was to simplify that to encourage more outside contributions.

Current & Planned Features

  • Automatically download updated remote TF2BD lists
    • Rules
    • Players
  • Cool logo
  • Custom 3rd party links
  • Discord rich presence
  • Fetch profile summary and ban info from steam web api
  • Detection Methods
    • Steam ID
    • Name Pattern
    • Avatar Pattern
    • Multi match
  • Translations
    • English
    • Russian
  • GUI
    • Player status display list
    • Current game chat dialogue
      • Send in=game chat messages
    • Player profile panel
      • Show highest level of UGC/ETF2L/RGL league history achieved
      • Logs.tf count
    • Player all-time chat history dialogue
    • Player all-time name history dialogue
    • Track all-time k:d against players
    • External link configuration dialogue
    • List configuration dialogue
    • Settings dialogue
    • Rule creator & tester
    • Auto start TF2 on launch & auto quit on game close.

Installation

Check the releases page for latest binaries. There is currently no installers so just extract anywhere and run. All data will be stored in the same location.

Development

  • Windows

    • golang 1.19+
    • msys2
    • Open "MSYS2 MinGW 64-bit" and run: pacman -Syu && pacman -S git mingw-w64-x86_64-toolchain make
  • Linux (debian/ubuntu)

    • sudo apt-get install git golang gcc libgl1-mesa-dev xorg-dev make

Checkout source

# New checkout
git clone --recurse-submodules -j8 git://github.com/leighmacdonald/bd.git && cd bd

# (or) Existing repo and/or Old git version
git clone git://github.com/leighmacdonald/bd.git
cd bd && git submodule update --init --recursive

Linkers and static analysers

make check

Run tests

make test

Or, Build it and run it.

go build && ./bd

Releasing with cgo + windows is a bit annoying so we just use wsl for now. Feel free to improve via pr.

(wsl) $ goreleaser release --clean --split
(win) $ goreleaser release --clean --split
(wsl) $ cp -rv /mnt/c/projects/bd/dist/windows dist/
(wsl) $ goreleaser continue --merge
Editing Translations
New Language
  1. Make an empty translation file. e.g. for french: internal/tr/translate.fr.yaml
  2. Generate translation file: goi18n merge .\internal\tr\active.en.yaml .\internal\tr\translate.fr.yaml
  3. Edit .\internal\tr\translate.fr.yaml with translations
  4. Rename .\internal\tr\translate.fr.yaml to .\internal\tr\active.fr.yaml
  5. Merge changes: make tr_merge
Updated Messages
  1. make tr_extract
  2. make tr_gen_translate
  3. Edit updated interlal/tr/translate.*.yaml files
  4. make tr_merge

See go-i18n for more detailed instructions.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
tr
ui
Package ui provides a simple, cross-platform interface to the bot detector tool
Package ui provides a simple, cross-platform interface to the bot detector tool
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL