ServerSocialScript runs on client

This has been a long time coming, but I couldn’t find another bug report for it, and this is a minor quality of life thing that (theoretically) should be easy to fix. This is observable in any game via the Developer Console, or even just by going to Start Server+Start Player.

6 Likes

I believe @spotco has a fix for this in the pipeline

1 Like

Sorry for the bump, but I’m getting this bug again:

image

3 Likes

Encountering this as well

Encountering as well, let’s hope @spotco’s fix is coming along nicely

2 Likes

I’ve been getting this as well. I thought it was just because I was poking around the core scripts, but maybe there’s something more to it. After creating a backup of the {path-to-roblox}\Versions\version-38ae9b8fa51c4b79\content\scripts\CoreScripts folder and putting it in {path-to-roblox}\CoreScriptOverrides, I implemented a fix by putting the following snippets in the following scripts (surrounding lines added for context):

CoreScripts\StarterScript.lua:

...
local soundFolder = Instance.new("Folder")
soundFolder.Name = "Sounds"
soundFolder.Parent = RobloxGui

-- !!! HACK TO KEEP OUTPUT CLEAN !!!
do
    local runService = game:GetService('RunService')

    while not runService:IsRunning() do
        wait()
    end

    if not game:FindService("NetworkClient") or game:FindService("NetworkServer") then
        script.Disabled = true;
        --print(string.format("!!! %s disabled", script.Name));
        return
    end
end
-- !!! END HACK !!!

-- This can be useful in cases where a flag configuration issue causes requiring a CoreScript to fail
local function safeRequire(moduleScript)
...

and

CoreScripts/ServerStarterScript.lua

...
-- Prevent server script from running in Studio when not in run mode
while not runService:IsRunning() do
    wait()
end

-- !!! HACK TO KEEP OUTPUT CLEAN !!!
do
    if not game:FindService("NetworkServer") or game:FindService("NetworkClient") then
        script.Disabled = true;
        --print(string.format("!!! %s disabled", script.Name));
        return
    end
end
-- !!! END HACK !!!

--[[ Services ]]--
local RobloxReplicatedStorage = game:GetService('RobloxReplicatedStorage')
...

Note that in order for the overrides to work, you must check the box in studio (Settings -> Studio -> OverrideCoreScripts) that forces it to use the overriding directory. The only caveat to doing this is that the CoreScripts get updated often, and overriding the CoreScripts in this manner may potentially make the source stale should the CoreScripts get updated. Be mindful of this, and update the override directory when studio updates. (Or uncheck the box.)

EDIT: Added the relevant sources as attachments:
ServerStarterScript.lua (3.3 KB)
StarterScript.lua (4.6 KB)

2 Likes

Looks like this has been fixed!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.