Developer Console wrong output in Studio

  1. What do you want to achieve? Show output when game is loaded, and sort other outputs
  • Output from LocalScripts running on the client appear in the LogClient section of the console. Anyone running an experience can view these local output messages.
  • Output from Scripts running on Roblox’s servers appear in the LogServer section of the console. Only the experience owner or group members with editing permission can access this section.
  1. What is the issue? No output from ServerScriptService when loaded, and outputs are not sorted.

  2. What solutions have you tried so far? Tried to search but couldn’t found. I think sorting is should be bug but I can’t post to there.

Showing part of code.

if not game:GetService("RunService"):IsStudio() then
	print("[ToriVPN]Out of IsStudio!")
else
	print("[ToriVPN]I'm in "..script.Parent.Name.."!")
end

if not script.Parent == game.ServerScriptService then script.Parent = game.ServerScriptService end -- Makes sure this script is parented to ServerScriptService so exploiters can't remove it.

You’re looking at the Client output in the Developer Console. I assume you’re using a Script and not LocalScript, so I suggest clicking “Server” to see the Server’s output.

1 Like

Nothing in output when testing as client. Testing as server couldn’t show in-game console.

I believe they meant this;

image

They are sorted by when they are printed?

Click on the “Server” button to see output from the server side.

Um… yeah, that code is from Script, not Local Script.
Plus, Local Script doesn’t play in ServerScriptService.

	print("[ToriVPN]I'm "..script.ClassName.."!")
	print("[ToriVPN]I'm in "..script.Parent.Name.."!")



See?

Well if nothing prints, your script most likely doesn’t work. Send the full script.

Almost full script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ScryRemote = ReplicatedStorage.ScryRemote
--loadstring?
local scry = {"-","unknown"}
local BlacklistedNames = { -- Names that will pick up a backdoor.
	"rerubi",
	"fione",
	"loadstring"
}
local BlockedGroups = { -- Groups that are blocked from entering this game. (known whitelist groups)
	-- Hiding value
}

function ToriVPNBoot()
	ScryRemote:FireAllClients("Booted!")
	print("[ToriVPN]Booted!")
end
function ToriVPN(p,m)
	--Return to client
	ScryRemote:FireAllClients(p.Name..": "..m)
	print("[ToriVPN]"..p.Name..": "..m)
end
function ToriVPNKick(p,m)
	p:Kick("[ToriVPN]\nDev can't do like exploiter!\n"..m)
	print("[ToriVPN]Kicked "..p.Name.."!:"..m)
end
function ToriVPNJoin(p)
	print("[ToriVPN]Caution:"..p.Name.." entered!")
	local plst = game:GetService("Players"):GetPlayers()
	wait()
	for _,plr in next, plst do
		local e = plr
		if(e~=nil and e~=p)then
			ScryRemote:FireClient(e,"Caution:"..p.Name.." entered!")
		end
	end
end
function ToriVPNJoin2(p,t)
	print("[ToriVPN]Caution:"..t.Name.." exists!")
	ScryRemote:FireClient(p,"Caution:"..t.Name.." exists!")
end
function ToriVPNMeatball(p)
	print("[ToriVPN]Hail "..p.Name.." the Meatball!")
	ScryRemote:FireAllClients("Hail "..p.Name.." the Meatball!")
end

local function scrycheck(p)
	for i,j in ipairs(scry) do
		return true
	end
	return false
end
local function Listen(Event)
	Event.OnServerEvent:Connect(function(plr,...)
		local args = {...}
		if #args >= 1 then
			warn(string.rep('~ ',35)..'\n[ToriVPN]𝙍𝙚𝙢𝙤𝙩𝙚 𝙀𝙫𝙚𝙣𝙩 𝙁𝙞𝙧𝙚𝙙!\nUser "'..plr.Name..'" has just 𝗳𝗶𝗿𝗲𝗱 a remote event: "'..Event:GetFullName()..'" with arguments: ')
			for i,v in pairs(args) do
				warn(i,'|',v)
			end
			warn(string.rep('~ ',35))
		else
			warn(string.rep('~ ',35)..'\n[ToriVPN]𝙍𝙚𝙢𝙤𝙩𝙚 𝙀𝙫𝙚𝙣𝙩 𝙁𝙞𝙧𝙚𝙙!\nUser "'..plr.Name..'" has just 𝗳𝗶𝗿𝗲𝗱 a remote event: "'..Event:GetFullName()..'".\n'..string.rep('~ ',35))
		end
	end)
end

if not game:GetService("RunService"):IsStudio() then
	print("[ToriVPN]Out of IsStudio!")
	game.Players.PlayerAdded:Connect(function(p)
		if p.UserId ~= game.CreatorId then
			for i,v in pairs(BlockedGroups) do
				if p:IsInGroup(v) then
					ToriVPNKick(p,"being in a banned group with a backdoor inside of the game")
				end
			end
			p.PlayerGui.DescendantAdded:Connect(function(Child)
				local Name = Child.Name	
				local lowerName = string.lower(Name)
				--bypass
				if table.find(BlacklistedNames, lowerName) or Child:IsA("RemoteEvent") or Child:IsA("RemoteFunction") then
					ToriVPNKick(p,Name)
				end
			end)
			for i,j in ipairs(scry) do
				if p.Name == j then
					ToriVPNJoin(p)
					p.Chatted:connect(
						function(m)
							ToriVPN(p,m)
						end)
				else
					local o = game.Players:findFirstChild(j)
					if(o~=nil)then
						ToriVPNJoin2(p,o)
					end
				end
			end
		end
	end)
	game.DescendantAdded:Connect(function(Child)
		pcall(function()
			if Child:IsA("RemoteEvent") then
				Listen(Child)
			end
		end)
	end)
	for _, Child in pairs(game:GetDescendants()) do
		pcall(function()
			if Child:IsA("RemoteEvent") then
				Listen(Child)
			end
		end)
	end
else
	print("[ToriVPN]I'm "..script.ClassName.."!")
	print("[ToriVPN]I'm in "..script.Parent.Name.."!")
end

-- Is your game still infected after you scanned it with GameGuard Antivirus?
-- Well, this is really only your only option. This script will detect almost all the times when a user with a backdoor joins your game!
-- If you don't know what GameGuard is, heres the devforum link where you can install it: https://devforum.roblox.com/t/gameguard-anti-virus-v2-alpha/607865
-- ~ Dan_PanMan, creator of GameGuard.

if not script.Parent == game.ServerScriptService then script.Parent = game.ServerScriptService end -- Makes sure this script is parented to ServerScriptService so exploiters can't remove it.

ToriVPNBoot()
script.Name="ToriVPN"

But also happens in minimal code.