Make 'ui_updateChannel' convar not readable by ScRTs

Well not that important, but searching for any usage of this convar just gave me scripts that kick you for either not being on the beta or canary build channel.

Something like this:

AddEventHandler('playerSpawned', function()
    if (GetConvar("ui_updateChannel", "production") ~= "beta") then 
       —Drop Player for being a Cheater, bc he's not on beta. (weird?)
    end
end)

As this somewhat defeats the purpose of different build channels, maybe it’s better to remove this convar altogether/make it not readable by ScRTs, as I don’t see any ‘real’ use case (at least as of right now).

Mentioning this in the Cfx.re Discord guild gave me 3 answers, with one being a possible reason why people believe this does anything against cheaters:

  • the f*ck

  • weird stuff

  • hax stuff sometimes requires running fivem on production so thats why as adhesive doesn’t update there so unexpectedly and less work generally

Yeah; I believe this was already meant to be the case but it likely lingered on the todo list rather than actually being implemented.

People can potentially still use other factors to derive this state but at least those will change over time.

Fixed: fix(resources/client): ignore GET_CONVAR gets for update channel · citizenfx/fivem@555579d · GitHub

I’d like to be able to know if someone is on canary, so we can warn them to protentual issues, but we never see problems with beta or stable. Just when people use canary, I think players just see the word “latest” in the channel selection and think ooo that’s the one to use, even though it says unstable as well :sweat_smile:.

Would be nice if there was a isCanary convar or something, that we or FiveM could warn users that they are on canary, I’ve had support tickets come through to our community and they wasn’t even aware they changed it to latest.

I get people were using it to “check for cheaters” but to be honest if they want to do that on their server that’s their problem. Eventually the hacking software would just tell users to switch to beta, if servers were doing that, and then the check would become pointless.

I have a feeling a convar like this may not be put back in but maybe the users need a warning prompt every so often to remind them their using a canary build, it could warn them on server connect every x days, to remind them running canary may encounter issues playing FiveM.

Love to hear what you guys think.

There’s always the trade between “features” and protection of user choice.
For example: Certain server owners don’t allow users to play on their server when the user has set a certain display format (‘stretched’) on their client. Taking the ability from ScRTs to measure the set display format would allow users to freely choose what they prefer, but this would come with serious downsides, as this would also deny ScRTs to scale native draw functions (text/scaleforms) accordingly.

While I understand your intention behind notifying users of possible problems when using Canary, this would probably be better placed in a native notification in the cfx-ui when switching build channels (feature request?).

Also, you can still get the current client version with navigator.userAgent (CEF).

Do you usually report these ‘problems’, though? :stuck_out_tongue:

this could be useful though- similarly so for people who switch there for an early issue fix but don’t switch back, or the automatic backout in case there’s a ‘new’ bug or the likes

It’s the opposite: cheats, at some point, tended to only support production and simply not work on canary due to it being a different build, so users would actually end up forced to use canary to play on such servers.

I do report problems when I have the time to investigate them correctly for various open source projects. Time is always an issue, especially if you can’t replicate the issue yourself.

A built in warning is the better way to go if that would be something the project wishes to alert users where it’s dismissed for a length of time.

This will be useful in the future for tracking crashes/errors down to client versions :thinking:.
Just thought as well as I was about to press reply. If the 3 branches have their versions listed on an API somewhere I’ve not gone looking yet, could they then redo what you blocked people doing above?