RFC: FiveM Mod Library

Motivation

Client mods. People like them. The usual way they’re used also bring a whole mess of disorganization.

See context for an earlier fix: Client Addon Packages: the future

Issues with earlier fix

  • Players might want to customize certain files locally.
  • Approval process sucks.
  • Compatibility concerns?

Planned solution (generally should be part of 1st MVP)

  • In-game mod library, select client packages to subscribe to and have them downloaded (similar to SteamUGC).
    • cfx-ui tab called ‘Mods’, backed by a forum section for ‘Client Mods’
      • Takes download tag, first thumbnail and heading as a list, probably detail-page-ing into a description of the mod aka the forum topic first post and maybe a summary of assembly.xml content.
      • Allows enabling/disabling mods for next restart and unsubscribing them.
      • Offer safe mode + toggle after a game crash similar to MTL, this’ll disable mods and such.
    • Downloads using BITS so that no custom download management logic has to be written.
  • Standalone client-side upload tool.
    • Uploads using either BITS to a frontend or some S3 SDK directly to backend storage.
    • Will repack and defragment RPFs to optimize sizes, also check assembly.xml for common issues.
    • Signs as CFP2 (CFXP + cross-signing support) using user-tied signing key, will require cross-signed key to validate on client.
      • will be generated on initial upload of a signing pubkey, however only available upon approval of any mod by the user
    • Probably size cap to allow granular downloads (500 MB per outer RPF?) to save costs and pains.
    • Gives you a special download link to use in your forum topic to be fetched by the mod downloader.
    • Forum topic will require approval (assuming this works fine w/ Discourse?), which will involve a cursory glance over a new mod. Other than using the special download tag and specifying a thumbnail, no requirements are made to formatting.
    • Maybe direct conversion of packed/unpacked .oiv? Might increase plagiarism however.
  • Some way for user customizations?
    • Whitelisted set of files to override after a mod loads?
    • Allow users to specify variant packages in a release (different .oiv->.rpf files)?

Timeframe

If everything is clear, this can trivially be done next cycle assuming a lack of other higher-priority tasks.

23 Likes

@deterministic_bubble I appreciate you putting out a new document on this update. I am glad to see that most of the concerns will be fixed here. I really enjoy the idea behind adding a mods download section also the Safe Mode will help many people including my staff that have to deal with Graphic Modification support daily.

This is truly for the better and I want to congratulate the FiveM staff for listening to our concerns and delivering solid communication behind it all.

Thanks,

~ James [Founder of Terrov Series Modifications]

2 Likes

Sounds like a cool idea.

Another small addition that I think would be cool, would be the ability for a server to add suggested or required client mods visible from the server browser. That way servers could potentially make a custom “graphics pack” as a suggested mod which upon clicking would take you straight to the new mod page to download it rather than the clunky way of adding links to loading screens or server descriptions.

1 Like

A prototype of the in-game UI for the initial MVP has been mocked up, meanwhile:

16 Likes

This is excellent! Keep up with the great work!

Hey look, I’m a prototype.

2 Likes

I see Smello and Smollo :joy:

Inside jokes

Wow, this will be great!

1 Like

is there any estimated time or date for som updates about this?

Will this work with mods for RESIDENT.rpf for example? Or will we still be unable to interact with that?

This looks awesome though, great idea. :slight_smile:

would love this, sounds simular to BeamNG Drive repository. and i like how it works, easy to use and also much safer for people whit less knowledge

Looks very promising, waiting for it