- Joined
- Mar 4, 2025
- Messages
- 44
- Reaction score
- 0
- Points
- 6
UpdateBuddy
This mod was made to allow LSPDFR plugin developers and their players to easily add automated mod updates.
UpdateBuddy is a silent executable, designed to only act when requested, displaying a simple notice to the user if an update is available for an UpdateBuddy-compatible mod.
Please leave any suggestions in the comments, I'd love to make this tool the best that it can be!
UpdateBuddy is open source! You can find the public GitHub repo here: https://github.com/SteveOhByte/UpdateBuddy
For users:
Simply install UpdateBuddy as you would any other RPH plugin (note: must be loaded on startup), it will be inert unless called upon by a mod which supports it.
For developers:
A complete guide on using UpdateBuddy and how it works is available
UB is a tool that allows RagePluginHook plugin developers to easily integrate automatic updates into their addons.
UB is comprised of two parts. First is the launcher. This is a DLL RagePluginHook plugin placed in the GTAV\plugins directory. When loaded by RPH, the DLL launches UpdateBuddy.
UpdateBuddy is the main part of the software. It is a standalone exe file placed in the root GTAV directory. When opened by the RPH-driven launcher, it will follow these steps:
UpdateBuddy is designed to be very simple and easy to use. The first step is to obtain two persistent links. These are direct-download file links, which do not change over time. My recommendation is Dropbox, as it is both extremely reliable and free for our purposes.
Step 1:
Visit dropbox.com, and either sign-up or log-in to an account. Once there, make a new folder for your mod.
Step 2:
Make a .zip file containing your mod files. When UpdateBuddy downloads your zip, it is going to extract everything directly into the GTAV root directory. To that end, here is an example of the zip used for Armoury.
<aside>
Latest.zip
→ plugins
→ LSPDFR
→ Armoury.dll
</aside>
In this example, I only want the core Armoury dll file to be updated. To that end, in my UpdateBuddy zip I haven’t included any of the mod’s configuration files or other folders.
Pay close attention to the folder structure here. The end result I want it Grand Theft Auto V\\plugins\\LSPDFR\\Armoury.dll, when building your zip ensure that your Latest.zip is your main GTAV directory.
Step 3:
Make a txt file, name it something like version.txt, and keep it next to your zip. This file should simply contain the version of your mod that is in the zip. For example, if I had placed Armoury version 1.0.8 in the zip, then my version file would contain simply:
Step 4:
Upload your Latest.zip and version.txt to your dropbox folder.
Right-click on the uploaded Latest.zip file, and select “Copy link”.
The link will look something like this:
We need to make one quick and easy adjustment to this link before writing it down for later in something like notepad. The change you'll want to make is prefixing dropbox with dl. and postfixing it with usercontent. The result looks like this:
Repeat these steps with the version.txt file, and you now have two persistent links. You can test if this worked correctly, by pasting one of your new links into your browser's address bar. This should immediately start downloading the file.
The next step of UpdateBuddy integration is to add metadata to your plugin. Open your plugin project, and find your AssemblyInfo.cs file. At the bottom of this file, add four new lines, like so:
There you go! Your plugin has been configured to use UpdateBuddy. To finish packaging, all you need to do is make a new build with this metadata now added. Repack your Latest.zip file using the new DLL that has the metadata included, and upload to dropbox!
If you’d like, you are welcome to include UpdateBuddy in your mod upload, so that users do not have to navigate to the UpdateBuddy mod page separately.
IMPORTANT: The file you drag ‘n drop to the dropbox folder MUST be the exact same name as the pre-existing file. So if the one you used was originally called “Update.zip” then your next package must also be titled “Update.zip” as this is how the link stays persistent.
It’s very easy, as you’ve done it all before! You simply package your new Latest.zip file, and upload it to the dropbox. Then, you upload a new version.txt file, containing the higher version number, and you’re done!
I’ve never written a guide like this before, so there’s bound to be improvements that can be made. If something is confusing to you, or you just have an idea for how to make this guide better, please let me know.
Download
Login to get this link
This mod was made to allow LSPDFR plugin developers and their players to easily add automated mod updates.
UpdateBuddy is a silent executable, designed to only act when requested, displaying a simple notice to the user if an update is available for an UpdateBuddy-compatible mod.
Please leave any suggestions in the comments, I'd love to make this tool the best that it can be!
UpdateBuddy is open source! You can find the public GitHub repo here: https://github.com/SteveOhByte/UpdateBuddy
For users:
Simply install UpdateBuddy as you would any other RPH plugin (note: must be loaded on startup), it will be inert unless called upon by a mod which supports it.
For developers:
A complete guide on using UpdateBuddy and how it works is available
UpdateBuddy Integration Guide
What is
UB is a tool that allows RagePluginHook plugin developers to easily integrate automatic updates into their addons.
How does it work?
UB is comprised of two parts. First is the launcher. This is a DLL RagePluginHook plugin placed in the GTAV\plugins directory. When loaded by RPH, the DLL launches UpdateBuddy.
UpdateBuddy is the main part of the software. It is a standalone exe file placed in the root GTAV directory. When opened by the RPH-driven launcher, it will follow these steps:
- Fetch a list of all DLL files in the GTAV, plugins, and plugins\LSPDFR directories.
- Search each of these DLL files for UpdateBuddy metadata, this will be used to build a list of DLL files that are using UpdateBuddy.
- For each of the UB DLL files, UpdateBuddy will download its latest version, compare with the embedded version, and determine if an update is available.
- If an update is available, UpdateBuddy will prompt the user to install or skip it, before moving on to the next identified mod.
How do I integrate UpdateBuddy with my mod?
UpdateBuddy is designed to be very simple and easy to use. The first step is to obtain two persistent links. These are direct-download file links, which do not change over time. My recommendation is Dropbox, as it is both extremely reliable and free for our purposes.
Step 1:
Visit dropbox.com, and either sign-up or log-in to an account. Once there, make a new folder for your mod.
Step 2:
Make a .zip file containing your mod files. When UpdateBuddy downloads your zip, it is going to extract everything directly into the GTAV root directory. To that end, here is an example of the zip used for Armoury.
<aside>

→ plugins
→ LSPDFR
→ Armoury.dll
</aside>
In this example, I only want the core Armoury dll file to be updated. To that end, in my UpdateBuddy zip I haven’t included any of the mod’s configuration files or other folders.
Pay close attention to the folder structure here. The end result I want it Grand Theft Auto V\\plugins\\LSPDFR\\Armoury.dll, when building your zip ensure that your Latest.zip is your main GTAV directory.
Step 3:
Make a txt file, name it something like version.txt, and keep it next to your zip. This file should simply contain the version of your mod that is in the zip. For example, if I had placed Armoury version 1.0.8 in the zip, then my version file would contain simply:
1.0.8
Step 4:
Upload your Latest.zip and version.txt to your dropbox folder.
Right-click on the uploaded Latest.zip file, and select “Copy link”.
The link will look something like this:
https://www.dropbox.com/scl/fi/<characters>/Latest.zip?rlkey=<characters>&dl=0
We need to make one quick and easy adjustment to this link before writing it down for later in something like notepad. The change you'll want to make is prefixing dropbox with dl. and postfixing it with usercontent. The result looks like this:
https://www.dl.dropboxusercontent.com/scl/fi/<characters>/Latest.zip?rlkey=<characters>&dl=0
Repeat these steps with the version.txt file, and you now have two persistent links. You can test if this worked correctly, by pasting one of your new links into your browser's address bar. This should immediately start downloading the file.
The next step of UpdateBuddy integration is to add metadata to your plugin. Open your plugin project, and find your AssemblyInfo.cs file. At the bottom of this file, add four new lines, like so:
Code:
[assembly: AssemblyMetadata("UpdateBuddy-ModName", "Armoury")] [assembly: AssemblyMetadata("UpdateBuddy-UpdateUrl", "<https://www.dl.dropboxusercontent.com/scl/fi/><characters>/Latest.zip?rlkey=<characters>&dl=0")] [assembly: AssemblyMetadata("UpdateBuddy-VersionUrl", "<https://www.dl.dropboxusercontent.com/scl/fi/><characters>/version.txt?rlkey=<characters>&dl=0")] [assembly: AssemblyMetadata("UpdateBuddy-Version", "1.0.8")]
There you go! Your plugin has been configured to use UpdateBuddy. To finish packaging, all you need to do is make a new build with this metadata now added. Repack your Latest.zip file using the new DLL that has the metadata included, and upload to dropbox!
If you’d like, you are welcome to include UpdateBuddy in your mod upload, so that users do not have to navigate to the UpdateBuddy mod page separately.
IMPORTANT: The file you drag ‘n drop to the dropbox folder MUST be the exact same name as the pre-existing file. So if the one you used was originally called “Update.zip” then your next package must also be titled “Update.zip” as this is how the link stays persistent.
How do I publish an update?
It’s very easy, as you’ve done it all before! You simply package your new Latest.zip file, and upload it to the dropbox. Then, you upload a new version.txt file, containing the higher version number, and you’re done!
Guide Suggestions
I’ve never written a guide like this before, so there’s bound to be improvements that can be made. If something is confusing to you, or you just have an idea for how to make this guide better, please let me know.
Download
Login to get this link