Introducing DraggieTools: a collection of useful tools combined into one Windows application!

I'm happy to annouce that, after 60 updates, additions and fixes, my new desktop command-line application, DraggieTools, is ready to be downloaded by anyone!


DraggieTools: a comprehensive Windows app featuring numerous tools including game settings optimisation, archive extracting, and much more!

DraggieTools is written in Python and compiled into an executable format using PyInstaller. The application has numerous features and safeguards in place to keep it hassle-free and up-to-date. For example, it features a friendly and descriptive download bar for satisfaction and information. It also includes an automatic update system to ensure that the file is always the newest version, with bug fixes and new features available at any time. 


Screenshot of the interface from update #59.


At present, when the application is launched, you have over 15 different options to choose from. Here is a list of them all, along with a detailed explanation of what they do:
  • Install to Desktop or custom directory: option 1/2
If you want to keep the application in a useful location, you can choose to quickly install it to your desktop by using option 1. The code will automatically determine the user's current working profile, and copy the executable to that location. Alternatively, Option 2 will allow for an input of a directory that the user defines. 

Both of these options are the recommended way to install the file to another location. This is because the program's AutoUpdate function keeps track of where the current file is, and therefore allows new versions to overwrite older, outdated versions. Therefore, copying or moving it manually may not work correctly when there is an update.
  • Refresh updates: option 3
If you want to make sure you're always up-to-date, you can use the Refresh updates option to check for any available updates. The application already does this on startup, so there's no need to do this often, unless an update is released while using the app. This is option 3.
  • Change language: option 4
You can also change the language of the application with this option. Currently, the app supports French and English, and can swap between these languages quickly. Your language is stored in a preference file, so specifying your preferred language is only required once when it's first installed
  • View source code: option 5
For those who are more interested in the programming aspect, you can view the latest source code of DraggieTools with just one click. This is an alternative from GitHub and the file downloaded conveniently contains the current build, version and 
  • Modify Fortnite Settings: option 6
This option allows you to tweak your game settings for optimal performance. Currently, this option allows for the modification of in-game settings, resolutions and framerates, both in-game and in the lobby.

It is also more customisable than the ingame menu: lobby and ingame framerates are decoupled and uncapped, allowing you to choose the exact framerate that you desire, even if it is not available ingame, allowing for better V-Sync and G-Sync compatibility, by specifying a framerate of 237 or 141fps, for example. This can prevent the G-Sync monitor from automatically switching to a fallback sync technology when the frame rate goes above refresh rate, thereby creating lag if using V-Sync, or create tearing, if not using V-Sync.

By modifying the configuration file, you can achieve a lobby framerate higher than the standard cap of 120fps for added smoothness and clarity, at the expense of higher energy use.
  • AWTD (Advanced Water Tech Demo): option 7
This allows you to use iBaguette's API to download a build of my Unity game, Advanced Water Tech Demo, from an access key.
  • Torrent Downloader: option 8
Allows you to easily download and manage torrent files and magnet links. 
  • AutoBrawlExtractor: option 9
The AutoBrawlExtractor option is a tool that helps extract resources from various mobile games, starting out with Brawl Stars. This is one of the more complex parts of code that I have ever written.

When executed, AutoBrawlExtractor (ABS) will ask for more options: to download existing builds of your app, to select detected apps, or decode files that have been encoded with LZMA compression. 

When a valid app archive has been selected, many new in-depth options are availabe to select. The application will attempt to read its fingerprint JSON file to get the current version of the archive, in addition to detecting what application is inside the archive. This portion is multithreaded, so you will get a prompt asking for an input for the amount of threads to download content from the servers with. The options available after this are:
    • See basic info and fingerprint hash
  • This will output the archive's SHA hash, used for downloading content, the current archive's version and the amount of files contained within it, if applicable.
    • Compare music to old version and extract additions
  • Useful for content creators, this version will just extract and download the latest music added in the current archive compared to the previous archive. 
    • Compare files to another version
  • Similar to the previous option, but for all files in the archive, rather than exclusively music files.
    • Download all background music files
  • Downloads all files that are not already in the archive, but instead are scheduled to be downloaded later on to save disk space.
    • Download all files containing a string
  • The most utilised option. This requires the input of a regex expression or a string, and all files within the archive will be downloaded, if they match the string expression in the filename.
  • This can search through either every valid archive in the stored directory, or just the current archive.
    • Open this archive's downloaded files folder
  • Opens all downloaded files for this specific archive in Windows Explorer.
    • Go back
  • Goes back to the start of the function.
AutoBrawlExtractor used to be its own standalone application, but was merged with DraggieTools due to how useful it was. 

In update release notes, AutoBrawlExtractor changes are specifically defined.

  • CleanUpFiles: option 10
If you need to free up some space on your computer, the Clean Up Files option can help you find and delete unnecessary files created by DraggieTools. This includes DownloadedBuilds from AutoBrawlExtractor, downloaded source code files, previous DraggieTools versions, cached executables, log files and other temporary files.

This can be configured, with its own config file. If appropriate permission is given, it can even help to clean out system files like the temp folder or the Recycle Bin.
  • Parse Discord StoreChannel: option 11
Allows you to easily extract all the data in a Discord StoreChannel file. This can be used to see the date of the previous message sent, dates of pinned messages, description of channels, even hidden channel names and their respective data, but not message content. 

Use this with caution as this is a powerful 

  • Refresh Discord RPC: 12
DraggieTools has Discord Rich Presence enabled, thanks to a library called PyPresence. If it is broken, you can also use this option to restart the program's feature, if it has broken or just not working correctly.
  • Install DraggieClient: 13
DraggieClient is a daemon process that runs in the background, without any interface. It ensures all the relevant programs created by iBaguette and Draggie, including DraggieTools, Advanced Water Tech Demo and Project Saturnian are up-to-date, even if they have not had a chance to update themselves. It is a closed-source application for the time being whilst it is in alpha, but functions similarly to DraggieTools. 

This is in alpha, so it does send large amounts of logs to an iBaguette webserver, using iBaguette's API. Although its source code can be obtained with enough know-how, I don't recommend installing this yet, and it will be public and ready to be more widely installed in the future.
  •  YouTube Downloader: 14
Allows you to easily download YouTube videos. 
  • Bank Files Extractor: 15
Finally, the Bank Files Extractor option allows you to extract data from bank files in a format that can be easily read by other applications.
  • [dev]
If you're a developer or would like to tinker with DraggieTools' inner workings whilst it is running, you can access the Developer Menu to access advanced options and settings. 
  • [log]
If you encounter any issues with the application, you can use the Upload Logs option to send logs to iBaguette's servers for analysis. This is automatically run whenever it encounters a critical error, but can be manually sent by inputting 'log'.

  • Quit: 0
Simply allows you to close the application when you're done using it. You could also just close the Command Prompt window.





Download it today and see for yourself what it can do for you!


The source code is available at github.com/Draggie306/DraggieTools.



More detailed technical explanations will be available on iBaguette's tech blog soon.





Last update: 10/04/2023



1 Comments

Drop a comment here to let your opinion be known!

We're partnered with Google, so you can use your Google Account to give yourself a profile picture, name, and shiny verification icon; alternatively, feel free to comment anonymously.

If you have any extra insights, experience or things you would like to add to the article, write them here for the author and other viewers to see!

Previous Post Next Post