d2jsp
Log InRegister
d2jsp Forums > Diablo II > Diablo 2 Discussion > All* The (public) Softcore Hell Baals On East/west > Prototype Baal/chaos Tracker
Closed New Topic New Poll
Member
Posts: 2,086
Joined: Oct 28 2013
Gold: 3,961.00
Nov 4 2016 09:33pm
So, I've built a vertical prototype of a baal/chaos/cbaal tracking channel bot. This bot finds runs based on heuristic run prediction and confirms with the server when games are up before announcing. Most people probably don't care how it works internally; I digress. In any case it's running most of the time on USEast in Op Kaylin and USWest in Op NL-Runs. [originally I had split into multiple channels there; that bot announces ladder too]. The bots will list average players using median of the last 5 games seen in the sequence, estimated as low/medium/high and run time as the mean of time between game creates as reported by the server for the last 5 games.

Bugs, limitations, and known issues:

  • If *many* games are created at the same time currently chat will throttle back and announcing games may be slow though this is mostly evident on east ladder. The record was up to a minute slow but that's quite unusual. A few seconds is normal. This is intentional as I'm not interested in making this prototype distributed in a way to handle the burst game creation load when I will be making a more robust version anyway (and who has time). This could allow for a little burst chat but it doesn't because I was lazy.
  • Bots may sometimes miss tracking game statistics. You may see "Unknown" for average time and player estimations even for games not out of sequence. This is a result of how the information is stored in this prototype and will be fixed in a future more robust version. Currently this happens somewhere around 5% of the time but that factors in runs being created with no history as well so the real percentage is less than that.
  • Bots don't auto-reconnect. This is currently intentional and is a result of me both wanting a core dump on failure [currently the reconnect feature is assert(false); instead of actually reconnecting] and being incredibly lazy. That being said they don't go down very often and I'll be quick to bring them up when they do. I think I've fixed most of the stability and flooding out issues.
  • There are no chat commands implemented. Players have no way of searching existing games, tracking statistics, etc. If you want to find a game sit and wait. This is out of scope of the prototype I built. I however can search logs so if you want to know something about game statistics etc I might be able to answer you.
  • There's no way to get the bots to track private games without making at least one public game. That being said if you take your run private after it was previously public bots can still track it and will announce them until they lose the sequence due to prediction failure (this is uncommon).
  • Player count is sometimes reported to be much lower than it is in reality. This is probably due to a quirk in how the server replies to MCP_GAMEINFO requests on full games but I haven't actually looked into it much. This may be related to the Unknown issue in predicted sequences.
  • Bot currently has no way to detect fail to join and the current prediction heuristic has no mechanism to handle this. This means that a fail to join a game will occasionally result in the bot losing the sequence for a game or two.
  • Same as above for game sequences that jump around i.e. are not made in order.
  • There is an internal limit to how many games it's going to track at once and it'll ignore games past that limit. It's never been hit but if it happens the bot won't track games correctly.


*Disclaimers:
There is no chat moderation in these channels. There is no handling of chat messages at all by the bots they simply discard chat messages received. I am not affiliated with any of the game runners and I don't keep track of who I even think is running a game let alone who actually is. Due to missing a run when game numbers pause/jump around or because of server errors, level restrictions etc this may not track quite all the public games but it's close. I suck at proofreading.
Go Back To Diablo 2 Discussion Topic List
Closed New Topic New Poll