Skip to content

Instantly share code, notes, and snippets.

@DrewKestell
Last active June 5, 2023 16:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DrewKestell/9bfceab90df7a99d9808ababae969ca1 to your computer and use it in GitHub Desktop.
Save DrewKestell/9bfceab90df7a99d9808ababae969ca1 to your computer and use it in GitHub Desktop.

FAQ

1. Is there a compiled version of BloogBot available for download?

No. You'll have to clone the repo and compile it yourself. Follow the instructions in the git repo README.

2. Does BloogBot work on retail/classic WoW?

No. Currently BloogBot is only tested on Vanilla/TBC/WotLK legacy clients. See the git repo README for more details.

3. Why does BloogBot depend on a database?

The bot uses the concept of "hotspots", which are a collection of positions in the game world, that the bot bounces between to grind mobs. You have to create a hotspot using the bot's UI, then select a hotspot, before starting the bot. Hotspots are stored in a database. The reason I decided to do this was so my friends and I could all share the same grinding hotspots by connecting to a cloud database. In theory, the bot could also work with a local database, or even a local .json or .xml file, but this would require some changes to Repository.cs and likely some other spots.

4. Can I use BlootBog with a local database (like SQLite) or a .json file?

Yes, but it'll require some code changes. See #3.

5. I cloned the repo and installed all required dependenies, but the application doesn't start correctly.

Make sure you have Bootstrapper.cs set as your startup project in Visual Studio. Make sure you're running Visual Studio as administrator. Make sure all projects have compiled successfully (sometimes the C++ projects don't compile when you compile the solution, make sure the C++ projects are compiled.). Make sure you have all required dependencies installed (VS2022, C++ build tools, .NET 4.6.1 runtime and SDK). If you still can't get it to work, ask in Discord.

6. I'm a programming noob, I want a bot, is BloogBot for me?

Probably not. Please go read the README in the git repo. The purpose of this project is to learn about reverse engineering and game development, not to get ahead in WoW. If you're looking for a community to ask questions and learn more about this kind of programming, you've come to the right place.

7. Is the author of BloogBot available for contract work?

Nope.

8. How can I proceed with the "Create required Azure Infrastructure" step in the git readme?

In its current state in the master branch, BloogBot depends on a SQL database to store data (hotspots, npcs, etc) that are required by the bot at runtime. A connection string to this database is configured in botSettings.json. Repository.cs connects to this database and queries to retrieve the required data at runtime. See https://github.com/DrewKestell/BloogBot/blob/main/SqlSchema.SQL for a script to create the required tables with the appropriate schemas. You can either use an Azure SQL database or host your own database on a local machine. Note that different versions of SQL have different schemas for connection string, and not all versions of SQL are supported by the Nuget package used in BloogBot to connect to SQL. This part of the project requires some programming experience - if you need help, ask in Discord.

9. Is BloogBot detectable by Warden?

The currently implentation hooks MemoryScan, PageScan, and ModuleScan. Based on my experience and observation, it seems to be undetectable via Warden on most private servers. However, I have not seen the anticheat code running on these servers, and based on rumors I've read, the bigger servers are using anticheat code that not only relies on Warden, but also relies on analytical / heuristic detection strategies that are very difficult (impossible?) to circumvent. TLDR: use this at your own risk, botting is NEVER safe. Never use this on an account you care about.

10. What should I do with the settings DiscordBotToken, DiscordGuildId, DiscordRoleId, DiscordChannelId?

BloogBot has Discord integration that does things like notify you when you level up, when your bot is stuck, when you find a blue item, etc. To learn how to build a simple Discord bot, you'll need to create a Discord account, and start reading the docs here. If you don't care about this, you can comment out all calls to the DiscordClientWrapper class. The bot doesn't depend on any of this to function properly.

11. How do I generate movemaps?

Start by reading this to learn how to do it yourself. If you're stuck, you can downloaded the pregenerated movemaps from my google drive here. These were generated using the WotLK client. Note that the movemap generator utility from Mangos that I used has a bunch of parameters to tweak how movemaps are generated, like the max walk angle, offmesh links, etc. So you may get better results by generating them yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment