HD2Runtime requires BingusSharedLoader 18 or later
https://ayakamods.com/mods/bingus-shared-loader.3861/
A modding runtime that maps many Helldivers 2 values into an easier and safer API for creating mods with much less manual reverse engineering and guesswork.
Join the HD2Runtime Discord
For support, development discussion, modding help, updates, and community projects
Always Give Bingus Shared Loader Higher Load Priority Than HD2Runtime
Support Development
Enjoying HD2Runtime or ModBuilder? If you'd like to support continued development, you can support me on Ko-fi
Making a Mod with HD2Runtime
HD2Runtime is installed once and shared by mods that use it.
Creating a mod
Recommended Tool:
https://github.com/SkyeShade/HD2Runtime-ModBuilder/releases
Runtime Modbuilder is a tool i made specifically to lower the barrier of entry to modding this game.
Warning: Some features are still experimental, and a few values may not map perfectly yet.
Manual Option:
1. Download and extract HD2Runtime-ModTemplate-<version>.zip from the github release page
2. Open the extracted folder in Rider or another code editor
3. Edit hd2runtime.json
- Change the mod name
- Change the resource ID to something unique, for example:
mods/yourname/my_mod
- Set the required HD2Runtime version for the features you use
4. Edit src/addon.lua
5. Run build.cmd
6. Import the ZIP created in the build folder into Arsenal or your mod manager
7. Enable Bingus Shared Loader, HD2Runtime, and your mod, then deploy and restart the game
Very Basic example
expect is the vanilla value Runtime expects before writing. Copy it from the SDK capability metadata; don’t guess it.
This changes the Liberator Concussive fire rate from its expected vanilla value of 400 RPM to 1100 RPM.
How do I know what values I can edit?
Download the HD2Runtime SDK from the github release and look inside its capability files.
Useful files include:
PlayerWeaponAuthoringCapabilities.json -> primary and secondary weapons
SupportWeaponAuthoringCapabilities.json ->support weapons
StratagemAuthoringCapabilities.json -> stratagems and deployed entities
VehicleAuthoringCapabilities.json -> vehicles
BackpackAuthoringCapabilities.json -> backpacks
MagazineAttachmentCapabilities.json -> magazine attachments
These files tell you:
- supported object names
- editable fields
- vanilla/default values
- whether a field is writable
- whether the edit affects shared data
- whether special safety acknowledgement flags are required
The expect value should normally come from the published baseline in these files. Do not guess it.
HD2Runtime checks the expected value before writing. If the game updated, another mod changed the value, or the target no longer matches what Runtime expects, the write is rejected instead of blindly modifying memory.
Useful operations
hd2.patch(...) -> applies one guarded change.
hd2.ensure(...) -> keeps a change applied if the game later resets it.
hd2.transaction(...) -> changes several fields on the same object together.
hd2.plan(...) -> coordinates changes across multiple objects.
Logs
If your mod does not work, check:
%LOCALAPPDATA%\CowboyBingus\Helldivers2\Logs\
Useful files:
BingusSharedLoader.log
HD2Runtime.log
APPLIED means Runtime successfully changed the value.
ALREADY_DESIRED means the value was already what your mod requested.
Full developer guide
See the HD2Runtime GitHub documentation for target navigation, safety flags, vehicles, backpacks, magazine attachments, plans, transactions and troubleshooting.
Github Link: https://github.com/SkyeShade/HD2Runtime
Found a bug?
Bugs are inevitable in a project as large as HD2Runtime, especially while it is still in early development.
If you find a bug or incompatibility, please reach out to me or submit an issue report on GitHub so I can investigate it and, if possible, implement a fix.
Missing feature?
If you think HD2Runtime is missing a feature or you have an idea for a new addition, feel free to reach out to me here. Please avoid opening GitHub issues for feature requests unless the request is specifically related to an existing issue.
[Disclaimers]
HD2Runtime does not support public matchmaking.
HD2Runtime is intended for private, friends only, invite only, and other controlled modded sessions where all participants have chosen to use mods.
Running HD2Runtime with gameplay modifying mods while playing with people who are not running the same mod setup may cause crashes or other unpredictable behavior for you, other players, or both.
In future versions Runtime will prevent a game running HD2Runtime from hosting or entering public matchmaking.
The goal is to keep Runtime mods from silently affecting players who did not choose to participate in a modded session, and to keep HD2Runtime focused on experimentation, custom content, and private modded gameplay rather than becoming a public-lobby advantage framework.
Private/invite-only sessions remain supported.
LLMs were used during the development of this mod.
https://ayakamods.com/mods/bingus-shared-loader.3861/
A modding runtime that maps many Helldivers 2 values into an easier and safer API for creating mods with much less manual reverse engineering and guesswork.
Join the HD2Runtime Discord
For support, development discussion, modding help, updates, and community projects
Always Give Bingus Shared Loader Higher Load Priority Than HD2Runtime
Support Development
Enjoying HD2Runtime or ModBuilder? If you'd like to support continued development, you can support me on Ko-fi
Making a Mod with HD2Runtime
HD2Runtime is installed once and shared by mods that use it.
Creating a mod
Recommended Tool:
https://github.com/SkyeShade/HD2Runtime-ModBuilder/releases
Runtime Modbuilder is a tool i made specifically to lower the barrier of entry to modding this game.
Warning: Some features are still experimental, and a few values may not map perfectly yet.
Manual Option:
1. Download and extract HD2Runtime-ModTemplate-<version>.zip from the github release page
2. Open the extracted folder in Rider or another code editor
3. Edit hd2runtime.json
- Change the mod name
- Change the resource ID to something unique, for example:
mods/yourname/my_mod
- Set the required HD2Runtime version for the features you use
4. Edit src/addon.lua
5. Run build.cmd
6. Import the ZIP created in the build folder into Arsenal or your mod manager
7. Enable Bingus Shared Loader, HD2Runtime, and your mod, then deploy and restart the game
Very Basic example
expect is the vanilla value Runtime expects before writing. Copy it from the SDK capability metadata; don’t guess it.
This changes the Liberator Concussive fire rate from its expected vanilla value of 400 RPM to 1100 RPM.
How do I know what values I can edit?
Download the HD2Runtime SDK from the github release and look inside its capability files.
Useful files include:
PlayerWeaponAuthoringCapabilities.json -> primary and secondary weapons
SupportWeaponAuthoringCapabilities.json ->support weapons
StratagemAuthoringCapabilities.json -> stratagems and deployed entities
VehicleAuthoringCapabilities.json -> vehicles
BackpackAuthoringCapabilities.json -> backpacks
MagazineAttachmentCapabilities.json -> magazine attachments
These files tell you:
- supported object names
- editable fields
- vanilla/default values
- whether a field is writable
- whether the edit affects shared data
- whether special safety acknowledgement flags are required
The expect value should normally come from the published baseline in these files. Do not guess it.
HD2Runtime checks the expected value before writing. If the game updated, another mod changed the value, or the target no longer matches what Runtime expects, the write is rejected instead of blindly modifying memory.
Useful operations
hd2.patch(...) -> applies one guarded change.
hd2.ensure(...) -> keeps a change applied if the game later resets it.
hd2.transaction(...) -> changes several fields on the same object together.
hd2.plan(...) -> coordinates changes across multiple objects.
Logs
If your mod does not work, check:
%LOCALAPPDATA%\CowboyBingus\Helldivers2\Logs\
Useful files:
BingusSharedLoader.log
HD2Runtime.log
APPLIED means Runtime successfully changed the value.
ALREADY_DESIRED means the value was already what your mod requested.
Full developer guide
See the HD2Runtime GitHub documentation for target navigation, safety flags, vehicles, backpacks, magazine attachments, plans, transactions and troubleshooting.
Github Link: https://github.com/SkyeShade/HD2Runtime
Found a bug?
Bugs are inevitable in a project as large as HD2Runtime, especially while it is still in early development.
If you find a bug or incompatibility, please reach out to me or submit an issue report on GitHub so I can investigate it and, if possible, implement a fix.
Missing feature?
If you think HD2Runtime is missing a feature or you have an idea for a new addition, feel free to reach out to me here. Please avoid opening GitHub issues for feature requests unless the request is specifically related to an existing issue.
[Disclaimers]
HD2Runtime does not support public matchmaking.
HD2Runtime is intended for private, friends only, invite only, and other controlled modded sessions where all participants have chosen to use mods.
Running HD2Runtime with gameplay modifying mods while playing with people who are not running the same mod setup may cause crashes or other unpredictable behavior for you, other players, or both.
In future versions Runtime will prevent a game running HD2Runtime from hosting or entering public matchmaking.
The goal is to keep Runtime mods from silently affecting players who did not choose to participate in a modded session, and to keep HD2Runtime focused on experimentation, custom content, and private modded gameplay rather than becoming a public-lobby advantage framework.
Private/invite-only sessions remain supported.
LLMs were used during the development of this mod.