-- ============================================================ -- rainworld GUARD SNIPPET -- Вставь ЭТО в самое начало своего скрипта, ПОТОМ обфусцируй, -- потом кидай в панель (Settings -> SCRIPT -> SAVE). -- После обфускации гард неотделим от кода: вырезать его из дампа нельзя. -- Сервер сам подставит RW_UID / RW_SESSION / RW_HWID перед выдачей. -- ============================================================ task.spawn(function() local HS = game:GetService("HttpService") local req = (syn and syn.request) or (http and http.request) or (fluxus and fluxus.request) or request or http_request local API = "https://rainworld.club" if not getgenv().RW_SESSION then game:GetService("Players").LocalPlayer:Kick("rainworld: launch through the loader") return end local misses = 0 while true do task.wait(90) local ok, resp = pcall(function() return req({ Url = API .. "/v1/heartbeat", Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = HS:JSONEncode({ session = getgenv().RW_SESSION, hwid = getgenv().RW_HWID, job_id = game.JobId }) }) end) local status = nil if ok and resp and resp.Body then local ok2, data = pcall(function() return HS:JSONDecode(resp.Body) end) if ok2 then status = data.status end end if status ~= "ok" then misses = misses + 1 if status == "deny" or misses >= 3 then game:GetService("Players").LocalPlayer:Kick("rainworld: session terminated") return end else misses = 0 end end end)