I just got in studio and for some reason a whole pipe just got deleted alongside a roof?? Why? I did not change anything nor did team members.
Logs:
Is this normal?!
I just got in studio and for some reason a whole pipe just got deleted alongside a roof?? Why? I did not change anything nor did team members.
Logs:
More screenshots:
This is a really urgent matter…
Are they unions? I remember a few years ago unions used to just disappear randomly and I’m not sure if it ever got fixed. I managed to find a supposed fix if this is the problem: Here.
You should close and reopen studio, it looks like the service that loads meshes is not working. Trying to open the game again later should work.
This should fix it, but what about during live runtime? Sometimes I’m afraid meshes wont load if player is laggy causing them to be invisible and gain gameplay advantage, is there a way to reload them?
I think I have a method to attempt this but I haven’t verified if it works yet, not sure if it’s for this specific error either. Client logs suggest it works but I haven’t observed it firsthand. It attempts to reload the asset using a cache busting parameter a few times when an asset load failure log is printed to the console. Was suggested by a staff member a while ago.
DM me about it to remind me and I’ll post the code here later, I’m about to board a flight.
Overall though I wouldn’t worry much about it. This is Roblox’s problem. If this is happening most likely it’s a site wide issue, or the player will rejoin. The impact is probably small.
Here is the code I mentioned for retrying an asset fetch. I cannot confirm if this works as it hasn’t been my priority since writing it a few years ago, but I’ve seen client logs that report a retry ending in success. This will only retry once because if the second time fails, it probably won’t work at all, e.g. in the event of a Roblox outage.
local LogService = game:GetService("LogService")
local ContentProvider = game:GetService("ContentProvider")
--------------------------
LogService.MessageOut:Connect(function(message, messageType)
if messageType ~= Enum.MessageType.MessageError then return end
if string.find(message, "MeshContentProvider failed to process") then
local _,_,id = string.find(message, "id=(%d+)")
id = tonumber(id)
if id ~= nil then
task.wait(2) -- Wait a few seconds before trying to reload the asset
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = string.format("http://www.roblox.com/asset/?id=%d&bustCache=%d", id, math.random(1,9999))
task.wait(1)
ContentProvider:PreloadAsync({mesh}, function(contentId, status)
if status == Enum.AssetFetchStatus.Success then
print(string.format("[MeshContentProviderRetryer] Successfully retried fetch for asset %s", contentId))
else
warn(string.format("[MeshContentProviderRetryer] Failed to retry fetching asset %s", contentId))
end
mesh:Destroy()
end)
end
end
end)
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.