A PSA on Steam identifier support

Valve has been repeatedly making updates that break Steam integration for FiveM, after years of not touching the specific code that our system relies on at all. Since we have not been (and likely will not ever be) assigned an official AppID, FiveM relies on workarounds in order to integrate with Steam.

Because of these constant changes Valve is making, we can no longer guarantee FiveM will be able to offer Steam integration, including:

  • identifiers
  • automatic fetching of nicknames
  • presence

If you’re using certain popular resources that block joining for a lack of Steam identifier but save on license (e.g. essentialmode), please remove the Steam blocking check from your server before Valve makes changes that will break FiveM Steam integration in its current state permanently.

Currently, as a workaround, users can choose to opt out of the Steam beta.


Hello, thanks for this notice. What about Discord integration ? Is it sustainable?


So, if i have any type of script using steam identifiers, it will break o stop working the script?

Yes, discord and steam are two seperate things.

I’m quite curious what unique and constant identifier should be utilized, I recall there being issues with using the license identifier?

When will this happen?

Great now we have no unique identifier anymore? Is it true that the license identifier is changed everytime you reinstall GTA, even if you log into the same rockstar account?

1 Like

Wait What? So sad man…


License changes if hardware or R* account changes…and sometimes if the phase of the moon changes.

Might have to rely on a combination of identifiers instead.


Pls, can Simeone awnser me pls.

No, it will not stop the script from functioning. It will simply not work if you are relying on doing checks via Steam identifiers.

What? The license identifier is a hash of the account ID used to either a) log into SC verification or b) auto-validate with Steam. (which on that part uses the V AppID so isn’t affected by Valve’s changes)

It does not ever change randomly or on different systems, nor are there any “issues” with it.

There are also like 3 other identifier types to use, relying only on one of them is misusing the identifier system.

So, the scripts that use, Steam yo verify It wont world?

Right now it might not break but in the future when steam changes something again it will probably break. They are saying to change from using steam identifiers to something else, such as a discord identifier or just dont use a 3rd party to authenticate.

Poor spelling, I’m guessing yo -> to, world -> work?

If so, like aforementioned, they will still work but players may not have expected permissions due to wrongfully being identified through Steam identifiers. You should rely on the license instead.

Do note that some badly written resources mandate Steam identifiers (and will reject users connecting without them) despite not even using them at all, such as the aforementioned “essentialmode”.


I guess the best way to verify your users is a combination of identifiers, as where it’s accomendated that one or more of them are unreliable (i.e ip) or missing (steam, discord).

For instance, “if you have n matching identifiers, then it’s probably this user”


Uuh motivate how it is misusing the identifier system? Do you expect everyone to use every identifying index? The IP identifier? You realize that regular humans (not snails) don’t have a static ip adress?! Snail brain as usual. The other identifiers are inconsistent! Some people have them; others dont, rendering them useless on public servers.

Sounds like your “identifer system” needs to go back to the drawing board :nail_care:

1 Like

Can you not just make it so users of FiveM have to log in to their FiveM account to launch it so then we can just use the forum account as a permanent unique id so we don’t have to come up with all these methods of identifying users and don’t have to worry about identifiers being dropped etc?

I normally don’t give a shit but i just feel like this is an easier solution?