LinkedScript forcefully reverted on live game to an older version by latest Roblox update 410, reverting our codebase by a month

Thirty minutes ago we recieved a report from highly-concerned players that the version indicator in Vesteria was reading “beta-1.7” instead of “beta-2.0”, the most recent version of our game.

Upon opening our game, we discovered that our critical LinkedScript, PACKAGEHANDLER, was showing as out of date:

There was no option to restore the latest version of our PACKAGEHANDLER script, and we had to manually patch it with the correct asset version information to load Beta-2.0 of our game files:

image

By the time we realized what was going on and locked down our game, hundreds of players had been exposed to a month-old version of their game for which their data files were not compatible with.

We did not push any updates to this LinkedScript during this time, it was automatically rolled back on all new servers in our live game once roblox Update 410 went out

Vesteria is now down while we figure out a way to roll back everyone’s data with our DataStore implementation.

This issue started happening as engine version 410 went out:

https://developer.roblox.com/en-us/resources/release-note/Release-Notes-for-410

30 Likes

LinkedScripts have been deprecated for months. They are most likely completely removed now.
You can read more about why they were on the official announcement.

You should replace your LinkedScripts with packages.

I was wrong about it being completely removed, however deprecated features are more likely to break so you really should move to packages. There’s no reason not to, as packages support everything LinkedScripts do.

9 Likes

Such as? I don’t see what it doesn’t support. Packages work just as well as LinkedScripts for me, and even better in most cases. Packages are a much more complete version of LinkedScripts.

5 Likes

Regardless of whether packages fit your needs, it’s not really appropriate to post a ROBLOXCRITICAL topic for a deprecated feature.

11 Likes

Even so, it appears there should be anything wrong with your LinkedScript as is as the update only prevents the creation of new LinkedScript…scripts.(Now that LinkedScript is out of the pipeline and generally removed it is expected to provide a less stable and reliable service, though it shouldn’t stop in it’s entirely).

I imagine this is most likely an issue with roblox itself in some shape or form, with that said it’s best to transfer your LinkedScript functionality into a package or similar. Although I agree Packages aren’t yet mature enough to swap entirely for LinkedScript’s and it’s a shame they went in this direction at this time.

Good luck and all the best!

1 Like

It comes to a time where you have to update certain aspects of your game. Might be a good idea port your game or start porting aspects of your game that do work with packages to packages.

3 Likes

We published one change that might be related to this. Is the code being run possible the copy of the code embedded in the objects? (we are also working on reverting the feature change as a precaution, but this information will help confirm if the suspected feature is at fault)

2 Likes

This linked source was included in a package at one point as an attempt to test the feature in our game

1 Like

Thanks for your input. At the time of posting I was not aware of the limited scope of the issue and assumed any game using Linked Script was at risk of data loss. This is generally justification for a critical tag.

5 Likes

Even so, I recommend you try to make packages work. I personally don’t know of anything you can do with LinkedSource that you can’t do with packages, and relying on a deprecated feature is never a good idea regardless of how well it appears to work. Deprecation is just them removing the feature from their test suite, which means they most likely won’t catch any future issues until after the damage has been done. They’re also under no obligation to fix it if it breaks.

6 Likes

One of the main reasons we’ve been hesitant to convert to packages is that it currently takes about 3-5 minutes to update a single very simple package throughout our game, compared to just a couple seconds with a LinkedScript. Because of the way Package updating is handled, this issue will only get worse as our game grows :confused:

Updating a package also forcefully closes every other place that my team has open in Studio, which is super disruptive when there’s a lot of people working on a lot of things.

14 Likes

Ah, I see now. I assumed you were referring to features, not performance. I don’t have any massive games on the scale of Vesteria, so I don’t run into any performance issues. I still don’t recommend using LinkedScripts for this, because they’re deprecated and will not be tested for bugs in the future.

Since I believe Vesteria is a group game, you could make a private MainModule and upload it to the group. From all your “PACKAGEHANDLERS” just require that module, and it’ll run whatever code you need it to. Since you’re only updating 1 model, it won’t be much different from LinkedScripts.

This should atleast be a temporary/permanent solution until Roblox solves the performance problems in that video, I can definitely see how that’d be obonoxious. The LinkedScripts reverting is definitely a bug, but I’ve been told they don’t test deprecated features which is why this happened. Using a MainModule is probably the best approach if you can’t use packages.

3 Likes

Personally, I have to agree with @berezaa here.

Packages are simply far too limited and hinder development by quite a bit simply because of the lack of mass publishing - this should’ve been a core feature of Packages and the feature is utterly useless for games with more than one place under it’s universe. It’s a good feature on paper, but absolutely terrible in practice.

I have no idea why anyone thought it was a good idea to increase development time by 15 minutes if you have a couple packages in your game - which takes around a minute each to update, instead of LinkedSources that can do it instantly.

2 Likes