Release Notes for 651

respond if you’re being held hostage


How would this work?

for plugin autocomplete they said

This caused my systems to break as well. I would appreciate if they gave us an alternative, rollback or workaround. My game doesn’t run without it.

1 Like

Sorry about the inconvenience this change caused. We took some measures to detect places that might be impacted before making the change, but our detection wasn’t perfect.

Our documentation for the function (os | Documentation - Roblox Creator Hub) says the following:

Returns elapsed time in seconds since an arbitrary baseline with sub-microsecond precision. This function is useful for comparing durations between two events that occur on the same computer, and is the best option for benchmarking.

Therefore relying on a particular baseline from which the time is measured is relying on undefined behavior.

Still, we understand that given the large number of experiences out there it is possible a small number could be impacted by the change. So again, we are sorry for problems we introduced, but we needed to roll this change out fairly quickly for various reasons.

5 Likes

I understand the reasons for it, especially given the privacy intrusions it’s allowed for earlier, but I’d have appreciated if there was any heads-up or notice sent to creators beforehand. Would have been less spooky for us to try and figure out :sweat_smile:

4 Likes

Just curious: what exactly was os.clock being used for? I’m assuming that the server instance starts some seconds later than the CPU clock does.

Does this mean we’re going to be able to run plugins as part of the placefile??

The way it worked allowed for user fingerprinting. A game that used it could easily identify alts as long as they didn’t restart the computer between switching accounts. The changes to os.clock has patched this, which is good (but annoying for those relying on it) since it is a privacy invasion. It also grouped together different people using the same computer (ex: siblings).

5 Likes

Not quite. We are thinking about scripts that can run at edit time (but are not plugins), though! These would allow you to do things like bundle relevant place tooling with the place itself, or include scripts with a model (i.e., parametric stairs).

3 Likes

To allow for easier development of plugins (scripts that are intended to go into plugins won’t run outside of them), as well as to enable us to unify plugin scripts’ behavior with normal script behavior, but without breaking existing experiences. Examples of some fixes include the enabled/disabled property working with plugin scripts, as well as them now properly restarting when cloned (within an Actor, for instance). Relatedly, if we can fix autocomplete of the plugin global, it will likely happen under the Plugin RunContext.

3 Likes

this one is a needed one finally

That’s exactly what I’d be excited for!

Pretty inconvenient patch for most experiences.

I used to rely on os.clock to identify alt accounts of those who were exploiting and issue a 24 hour ban (longer bans could cause false-positives) on the fingerprint and use it in conjunction with the BanAPI alt detection.

Now I have to wait for Roblox to fix their alt detection, frustrating.