ecd5b4a2c9
# Conflicts: # CHANGELOG.md # Wabbajack.App.Wpf/Wabbajack.App.Wpf.csproj # Wabbajack.CLI.Builder/Wabbajack.CLI.Builder.csproj # Wabbajack.CLI/Wabbajack.CLI.csproj # Wabbajack.Common/Wabbajack.Common.csproj # Wabbajack.Compiler.Test/Wabbajack.Compiler.Test.csproj # Wabbajack.Compiler/Wabbajack.Compiler.csproj # Wabbajack.Compression.BSA.Test/Wabbajack.Compression.BSA.Test.csproj # Wabbajack.Compression.BSA/Wabbajack.Compression.BSA.csproj # Wabbajack.Compression.Zip.Test/Wabbajack.Compression.Zip.Test.csproj # Wabbajack.Compression.Zip/Wabbajack.Compression.Zip.csproj # Wabbajack.Configuration/Wabbajack.Configuration.csproj # Wabbajack.DTOs.ConverterGenerators/Wabbajack.DTOs.ConverterGenerators.csproj # Wabbajack.DTOs.Test/Wabbajack.DTOs.Test.csproj # Wabbajack.DTOs/Wabbajack.DTOs.csproj # Wabbajack.Downloaders.Bethesda/Wabbajack.Downloaders.Bethesda.csproj # Wabbajack.Downloaders.Dispatcher.Test/Wabbajack.Downloaders.Dispatcher.Test.csproj # Wabbajack.Downloaders.Dispatcher/Wabbajack.Downloaders.Dispatcher.csproj # Wabbajack.Downloaders.GameFile/Wabbajack.Downloaders.GameFile.csproj # Wabbajack.Downloaders.GoogleDrive/Wabbajack.Downloaders.GoogleDrive.csproj # Wabbajack.Downloaders.Http/Wabbajack.Downloaders.Http.csproj # Wabbajack.Downloaders.IPS4OAuth2Downloader/Wabbajack.Downloaders.IPS4OAuth2Downloader.csproj # Wabbajack.Downloaders.Interfaces/Wabbajack.Downloaders.Interfaces.csproj # Wabbajack.Downloaders.Manual/Wabbajack.Downloaders.Manual.csproj # Wabbajack.Downloaders.MediaFire/Wabbajack.Downloaders.MediaFire.csproj # Wabbajack.Downloaders.Mega/Wabbajack.Downloaders.Mega.csproj # Wabbajack.Downloaders.ModDB/Wabbajack.Downloaders.ModDB.csproj # Wabbajack.Downloaders.Nexus/Wabbajack.Downloaders.Nexus.csproj # Wabbajack.Downloaders.VerificationCache/Wabbajack.Downloaders.VerificationCache.csproj # Wabbajack.Downloaders.WabbajackCDN/Wabbajack.Downloaders.WabbajackCDN.csproj # Wabbajack.FileExtractor.Test/Wabbajack.FileExtractor.Test.csproj # Wabbajack.FileExtractor/Wabbajack.FileExtractor.csproj # Wabbajack.Hashing.PHash.Test/Wabbajack.Hashing.PHash.Test.csproj # Wabbajack.Hashing.PHash/Wabbajack.Hashing.PHash.csproj # Wabbajack.Hashing.xxHash64.Benchmark/Wabbajack.Hashing.xxHash64.Benchmark.csproj # Wabbajack.Hashing.xxHash64.Test/Wabbajack.Hashing.xxHash64.Test.csproj # Wabbajack.Hashing.xxHash64/Wabbajack.Hashing.xxHash64.csproj # Wabbajack.IO.Async/Wabbajack.IO.Async.csproj # Wabbajack.Installer.Test/Wabbajack.Installer.Test.csproj # Wabbajack.Installer/Wabbajack.Installer.csproj # Wabbajack.Launcher/Wabbajack.Launcher.csproj # Wabbajack.Networking.BethesdaNet/Wabbajack.Networking.BethesdaNet.csproj # Wabbajack.Networking.Discord/Wabbajack.Networking.Discord.csproj # Wabbajack.Networking.GitHub/Wabbajack.Networking.GitHub.csproj # Wabbajack.Networking.Http.Interfaces/Wabbajack.Networking.Http.Interfaces.csproj # Wabbajack.Networking.Http.Test/Wabbajack.Networking.Http.Test.csproj # Wabbajack.Networking.Http/Wabbajack.Networking.Http.csproj # Wabbajack.Networking.NexusApi.Test/Wabbajack.Networking.NexusApi.Test.csproj # Wabbajack.Networking.NexusApi/Wabbajack.Networking.NexusApi.csproj # Wabbajack.Networking.Steam.Test/Wabbajack.Networking.Steam.Test.csproj # Wabbajack.Networking.Steam/Wabbajack.Networking.Steam.csproj # Wabbajack.Networking.WabbajackClientApi/Wabbajack.Networking.WabbajackClientApi.csproj # Wabbajack.Paths.IO.Test/Wabbajack.Paths.IO.Test.csproj # Wabbajack.Paths.IO/Wabbajack.Paths.IO.csproj # Wabbajack.Paths.Test/Wabbajack.Paths.Test.csproj # Wabbajack.Paths/Wabbajack.Paths.csproj # Wabbajack.RateLimiter.Test/Wabbajack.RateLimiter.Test.csproj # Wabbajack.RateLimiter/Wabbajack.RateLimiter.csproj # Wabbajack.Server.Lib/Wabbajack.Server.Lib.csproj # Wabbajack.Server/Wabbajack.Server.csproj # Wabbajack.Services.OSIntegrated/ServiceExtensions.cs # Wabbajack.Services.OSIntegrated/Wabbajack.Services.OSIntegrated.csproj # Wabbajack.VFS.Interfaces/Wabbajack.VFS.Interfaces.csproj # Wabbajack.VFS.Test/Wabbajack.VFS.Test.csproj # Wabbajack.VFS/Wabbajack.VFS.csproj |
||
---|---|---|
.github | ||
Branding | ||
docs | ||
scripts | ||
Wabbajack.App.Wpf | ||
Wabbajack.CLI | ||
Wabbajack.CLI.Builder | ||
Wabbajack.Common | ||
Wabbajack.Compiler | ||
Wabbajack.Compiler.Test | ||
Wabbajack.Compression.BSA | ||
Wabbajack.Compression.BSA.Test | ||
Wabbajack.Compression.Zip | ||
Wabbajack.Compression.Zip.Test | ||
Wabbajack.Configuration | ||
Wabbajack.Downloaders.Bethesda | ||
Wabbajack.Downloaders.Dispatcher | ||
Wabbajack.Downloaders.Dispatcher.Test | ||
Wabbajack.Downloaders.GameFile | ||
Wabbajack.Downloaders.GoogleDrive | ||
Wabbajack.Downloaders.Http | ||
Wabbajack.Downloaders.Interfaces | ||
Wabbajack.Downloaders.IPS4OAuth2Downloader | ||
Wabbajack.Downloaders.Manual | ||
Wabbajack.Downloaders.MediaFire | ||
Wabbajack.Downloaders.Mega | ||
Wabbajack.Downloaders.ModDB | ||
Wabbajack.Downloaders.Nexus | ||
Wabbajack.Downloaders.VerificationCache | ||
Wabbajack.Downloaders.WabbajackCDN | ||
Wabbajack.DTOs | ||
Wabbajack.DTOs.ConverterGenerators | ||
Wabbajack.DTOs.Test | ||
Wabbajack.FileExtractor | ||
Wabbajack.FileExtractor.Test | ||
Wabbajack.Hashing.PHash | ||
Wabbajack.Hashing.PHash.Test | ||
Wabbajack.Hashing.xxHash64 | ||
Wabbajack.Hashing.xxHash64.Benchmark | ||
Wabbajack.Hashing.xxHash64.Test | ||
Wabbajack.Installer | ||
Wabbajack.Installer.Test | ||
Wabbajack.IO.Async | ||
Wabbajack.Launcher | ||
Wabbajack.Networking.BethesdaNet | ||
Wabbajack.Networking.Discord | ||
Wabbajack.Networking.GitHub | ||
Wabbajack.Networking.Http | ||
Wabbajack.Networking.Http.Interfaces | ||
Wabbajack.Networking.Http.Test | ||
Wabbajack.Networking.NexusApi | ||
Wabbajack.Networking.NexusApi.Test | ||
Wabbajack.Networking.Steam | ||
Wabbajack.Networking.Steam.Test | ||
Wabbajack.Networking.WabbajackClientApi | ||
Wabbajack.Paths | ||
Wabbajack.Paths.IO | ||
Wabbajack.Paths.IO.Test | ||
Wabbajack.Paths.Test | ||
Wabbajack.RateLimiter | ||
Wabbajack.RateLimiter.Test | ||
Wabbajack.Server | ||
Wabbajack.Server.Lib | ||
Wabbajack.Services.OSIntegrated | ||
Wabbajack.VFS | ||
Wabbajack.VFS.Interfaces | ||
Wabbajack.VFS.Test | ||
.gitignore | ||
buildall.bat | ||
CHANGELOG.md | ||
global.json | ||
LICENSE.txt | ||
nuget.config | ||
README.md | ||
Wabbajack.sln | ||
Wabbajack.sln.DotSettings |
Wabbajack
Wabbajack is an automated Modlist Installer that can reproduce an entire modding setup on another machine without bundling any assets or re-distributing any mods.
Social Links
- wabbajack.org The official Wabbajack website with a Gallery, Status Dashboard and Archive Search for official Modlists.
- wiki.wabbajack.org The official Wabbajack documentation, wiki & FAQ
- Discord The official Wabbajack discord for instructions, support or friendly chatting with fellow modders.
- Patreon contains update posts and keeps the Code Signing Certificate as well as our supplementary build server alive.
Supported Games and Mod Manager
Installing a Modlist
Creating your own Modlist
Described in this Wiki section
FAQ
How does Wabbajack differ from Automaton?
I, halgari, used to be a developer working on Automaton. Sadly development was moving a bit too slowly for my liking, and I realized that a complete rewrite would allow the implementation of some really nice features (like BSA packing). As such I made the decision to strike out on my own and make an app that worked first, and then make it pretty. The end result is an app with a ton of features, and a less than professional UI. But that's my motto when coding "make it work, then make it pretty".
Can I charge for a Wabbajack Modlist I created?
No, as specified in the License, Wabbajack Modlists must be available for free. Any payment in exchange for access to a Wabbajack installer is strictly prohibited. This includes paywalling, "pay for beta access", "pay for current version, previous version is free", or any sort of other quid-pro-quo monetization structure. The Wabbajack team reserves the right to implement software that will prohibit the installation of any lists that are paywalled.
Can I accept donations for my installer?
Absolutely! As long as the act of donating does not entitle the donator to access to the installer. The installer must be free, donations must be a "thank you" - not a purchase of services or content.
For Mod Authors
How does Wabbajack download mods from the Nexus?
Wabbajack uses the official Nexus API to retrieve download links from the Nexus. Mod Managers such as MO2 or Vortex also use this API to download files. Downloading using the API is the same as downloading directly from the website, both will increase your download count and give you donation points.
How can I opt out of having my mod be included in a Modlist?
As explained before:
We use the official Nexus API to retrieve download links from the Nexus.
Everyone who has access to the Nexus can download your mod. The Nexus does not and can not lock out Wabbajack from using the API to download a specific mod based on author preferences.
Will the end user even know they use my mod?
Your mod is exposed in several layers of the user experience when installing a Modlist. Before the installation even starts, the user has access to the manifest of the Modlist. This contains a list of all mods to be installed as well as the authors, version, size, links and more meta data depending on origin.
Wabbajack will start a Slideshow during installation which features all mods to be installed in random order. The Slideshow displays the title, author, main image, description, version and a link to the Nexus page.
After installation the user most likely needs to check the instructions of the Modlist for recommended MCM options. If your mod has an MCM and needs a lot of configuring than your mod will likely be featured in the instructions.
Some Modlists also have an extensive README and we highly encourage new Modlist Authors to add a section about important mods to their README (see Post-Compilation).
What if my mod is not on the Nexus?
You can check all sites we can download from here and we can easily add support for other sites. As long as your mod is publicly accessible and available on the Internet, Wabbajack can probably download it. Even if the site requires a login and does not have an API, we can always just resort to our internal browser and download the mod as if a user would go to the website using Firefox/Chrome and click the download button.
License & Copyright
All original code in Wabbajack is given freely via the GPL3 license. Parts of Wabbajack use libraries that carry their own Open Sources licenses, those parts retain their original copyrights. Selling of Modlist files is strictly forbidden. As is hosting the files behind any sort of paywall. You received this tool free of charge, respect this by giving freely as you were given.
Contributing
Look at the CONTRIBUTING.md
file for detailed guidelines.
Thanks to
Our testers and Discord members who encourage development and help test the builds.