Skip to content
This repository was archived by the owner on May 15, 2022. It is now read-only.

incontestableness/GLaDOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GLaDOS

Who are you?

Deprecation Notice

GLaDOS has been deprecated as it is no longer possible to directly query Valve-hosted TF2 servers. If you are interested in the unpublished WIP multiprocessing code for some reason, or if you have other inquiries, email me at [email protected].

What is GLaDOS?

GLaDOS is an application for:

  • automatic, continuous scanning of Valve TF2 servers to detect malicious bots
  • providing an API for aggregated player/bot statistics and automatic TF2BD player/rules list generation
  • directing hathook anti-bot map queueing to more efficiently target malicious bots
  • receiving hathook bot events via portalgun

GLaDOS also enables users running hathook to automatically abandon matches with malicious bots in them without having to join the server first. Similarly, hathook bots also take advantage of this functionality to avoid joining matches that don't have malicious bots to kick.

It is intended to be run on a centralized server as a WSGI application for optimal performance. GLaDOS is experimental software still in alpha.

How do I use this?

You don't need to run your own instance of GLaDOS. A server is already hosted and configured as the default in portalgun.

Simply run a local instance of portalgun and your hathook installation should work as intended.

It is strongly recommended that you use the default central server as GLaDOS takes up considerable resources when scanning TF2 servers.

Is the GLaDOS API publicly available?

Yes! You can access the API at https://milenko.ml/api/something where "/something" is the relevant API call.

All responses are returned in JSON format, unless an error is encountered. Most calls are cached for about 5 seconds.

Here are the publicly available API calls:

  • /popmaps/<region_id> - A list of the most popular maps for malicious bots in the provided region. See mappings.json for available region IDs.
  • /botnames - A list of potential bot names, based on multiple players using the same name over time. This endpoint provides every name that has been seen with an (N) prefix in the past 24 hours. Use the namerules endpoint if you want times_seen limits applied and dynamically created rules that cover variants of names.
  • /namerules - An automatically generated TF2BD-compatible rules list for current bot names based on scanning Valve's TF2 servers for patterns in names.
  • /check/<server_address> - The number of bots on the server and a list of bot names that might not have been otherwise detected (namestealers and char-injected names).
  • /stats - Cumulative statistics.

Why did you do this?

  1. In order to enable hosting anti-bots in multiple regions while still gathering aggregated statistics easily
  2. Much more efficient targeting of matches with malicious bots
  3. Provide for a better hathook user experience
  4. Create an API that enables displaying statistics on the website
  5. Science is fun

Why the name?

"It's funny, actually, when you think about it." - Potato GLaDOS

About

GLaDOS and utilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published