Register Analytics
Type the password you were given.
Give a place ID and the bot joins your game for up to 3 minutes, then leaves.
None yet.
End a run early from your game
Add this as a Script in ServerScriptService and call reportComplete() when the
bot is done. It covers only the bot's screen in one colour; the bot sees it and leaves straight away.
Without it, the bot stays the full time.
-- Ends the VPS's run: covers the VPS player's screen in one solid colour. rbxjoin.py looks at the Roblox window on the
-- VPS once a second; when the middle of it is this colour twice in a row, it closes the game. Server Script.
-- No HttpService, no prints, no kick (none of them reach the VPS).
local Players = game:GetService("Players")
-- The VPS account's UserId, so only its screen is covered; 0 covers everyone's.
local VPS_USER_ID = 0
-- Must match COMPLETE_COLOUR in rbxjoin.py.
local COMPLETE_COLOUR = Color3.fromRGB(255, 0, 255)
local function cover(player: Player)
local gui = Instance.new("ScreenGui")
gui.Name = "RunComplete"
gui.IgnoreGuiInset = true
gui.ScreenInsets = Enum.ScreenInsets.None
gui.DisplayOrder = 2147483647 -- above every game UI
gui.ResetOnSpawn = false -- a respawn mustn't take it away
local frame = Instance.new("Frame")
frame.Size = UDim2.fromScale(1, 1)
frame.BackgroundColor3 = COMPLETE_COLOUR
frame.BorderSizePixel = 0
frame.Parent = gui
gui.Parent = player:WaitForChild("PlayerGui")
end
local function reportComplete()
for _, player in Players:GetPlayers() do
if VPS_USER_ID == 0 or player.UserId == VPS_USER_ID then
task.spawn(cover, player)
end
end
end
-- Call reportComplete() when the run is done, e.g.:
-- reportComplete()
The bot's Roblox UserId isn't known yet: set VPS_USER_ID to it before using this in a live game, or every player's screen gets covered.