Customizable Arma 3 Launcher preset files generated client side from a list of steam workshop IDs.
- preset sharing made effortless 💚
- optional mods can be customized on a simple UI on the fly
- outputs standard Arma 3 Launcher preset files
- remembers previously selected optional mods
mod data caching on the client side
All the preset information (preset name, mods/collections, DLCs, optional flags) is stored in the app URL's query string component.
Additional information is fetched from various steam APIs but the steam workshop is considered the single source of truth.
Custom preset name / file name can be appended to the URL after ?
.
Only alphanumeric characters + _
is allowed.
If the preset name is set, the ID list must be separated with =
.
Comma ,
separated list of IDs evaluated from left to right in order. Appended to the URL after ?
or =
.
Mods inherit the optional flag from collections but the last state in order affecting a mod takes precendece when rendering the UI. (see example C4G RHS KotH)
This means that you can override the optional flags of certain items in collections to extend or restrict them. In other words it allows you to mix and combine existing collections and mods to customize the required and optional mods in any way you like.
The selected optional mods are remembered client side in relation to the preset name.
You should also take advantage of the workshop collection feature and create permanent links with workshop IDs pointing to the currently used required and optional collections. (see examples FNF and FNF WW2)
Append or prepend a *
to flag an ID optional.
Only numbers and the optional *
prefix/suffix is allowed.
Items starting with !
are added to the preset as DLC/CDLC AppIDs.
Only numbers and the optional *
prefix/suffix is allowed.
Items starting with @
are added to the preset as local mods.
Only alphanumeric characters + _
and the optional *
prefix/suffix is allowed.
- FNF: arma3pregen.devs.space/?FNF=1551644814,1551648858*
- FNF
- 1551644814 FNF Required Mods Collection (collection)
- 1551648858 FNF Optional Mods Collection (collection)
- FNF WW2: arma3pregen.devs.space/?FNF_WW2=1769913157,2120184260*
- FNF_WW2
- 1769913157 FNF WW2 Mod Collection (collection)
- 2120184260 FNF WW2 Optionals (collection)
- 77th JSOC: arma3pregen.devs.space/?77th_JSOC=2829455808*
- 77th_JSOC
- 2829455808 77th JSOC | Public Servers Mod Collection (Official) (collection)
- C4G RHS KotH: arma3pregen.devs.space/?C4G_RHS_KotH=1290398866,*861133494,*945476727,*1180534892,*1180533757
- C4G_RHS_KotH
- 1290398866 RHS - King of the Hill by Sa-Matra (collection)
- 861133494 JSRS SOUNDMOD
- 945476727 JSRS SOUNDMOD - RHS AFRF Mod Pack Sound Support
- 1180534892 JSRS SOUNDMOD - RHS GREF Mod Pack Sound Support
- 1180533757 JSRS SOUNDMOD - RHS USAF Mod Pack Sound Support
- Custom: arma3pregen.devs.space/?My_Custom_Vietnam_Modlist_2022q2=!1227700,450814997,463939057,@my_local_mod,*333310405,*@optional_local_mod,*!288520
NodeJS or PHP runtime is required to relay backend calls to the steam API. (CORS disabled 😔)
Spin up an instance on http://localhost/
with one of these commands:
- nodejs:
node server.js
- php:
php -S 0.0.0.0:80
- docker (php):
docker-compose up
The app can be served from under any subdomain or path.
CACHE_MAX_AGE
env var controls the browser cache for backend requests in seconds. (default: 0)
- https://github.com/ColinM9991/Arma-Preset-Creator
- https://github.com/AgentBlackout/A3PresetTools
- https://github.com/prozyon/A3-preset-analyzer
- https://github.com/DWaffles/Arma-3-Modpack-Calculator
- https://github.com/butaosuinu/arma3_steam-collection_to_preset_converter
- https://github.com/Freddo3000/a3update.py
- https://github.com/byjokese/Arma-Server-Config-Generator
- https://github.com/Elenui/Arma3-Mod-Manager
- https://github.com/Setlerr/arma-3-html-exporter
- https://github.com/ProPanek/Arma3ModsPresetParser
- https://github.com/lukegotjellyfish/ArmaPresetSorter
- https://github.com/VurtualRuler98/arma3-preset-script
- https://github.com/cconsi/PresetProcessor
- https://github.com/TehGreatFred/armaModIDFormatter
- python backend
- prompt for the preset name before saving if it's not set
- resolve unmet workshop dependencies on demand
- preset file to URL converter
- add a section for the most recently updated mods ordered by date DESC
- show mod size and last update on hover in modlist