Paste in segments as discord messages to get formatting. alr so here is a basic guide on how to render with 2015M rcc: > 1. patch rcc urls from roblox.com -> yourrevivalurl > 2. use arbiter: (lowkey not going into detail on this cause I haven't looked into it yet) handle opening rcc instances *(this lowkey probably isn't necessary. I've never had rcc crash just because of rendering)* > Batch file: ```bat @echo off start "" "RCCService.exe" -console -port 400 ``` > 3. use api: setup api to send soap requests to rcc when you visit a certain url > use insomnia: for testing purposes, allows you to easily customize soap request Soap Request Wrapper - ```xml {% uuid 'v4' %} 1 1 43200 ``` Player Render - ```lua s=tick() print("Render Job " .. game.JobId.." at "..s) game:GetService("ContentProvider"):SetBaseUrl("http://hamblo.xyz/") game:GetService("HttpService").HttpEnabled = true game:GetService("ScriptContext").ScriptsDisabled = true --game:GetService("StarterGui").ShowDevelopmentGui = false if not game.Players.LocalPlayer then game.Players:CreateLocalPlayer(0) end local plr = game.Players.LocalPlayer print"got player" local charapp = "http://hamblo.xyz/Asset/CharacterFetch.ashx?id=2" --local charapp = "https://avatar.roblox.com/v1/users/350586858/avatar" plr.CharacterAppearance = charapp plr:LoadCharacter(false) print"finished loading character" if plr.Character then for _, child in pairs(plr.Character:GetChildren()) do if child:IsA("Tool") then print(child.Name) plr.Character.Torso["Right Shoulder"].CurrentAngle = math.rad(90) break end end end print"fixed handheld gear" game:GetService("ScriptContext").ScriptsDisabled = true --game:GetService("StarterGui").ShowDevelopmentGui = false print"returning render..." local success, response = pcall(function() r=game:GetService("ThumbnailGenerator"):Click("PNG", 64, 64, true) print("Rendered in "..string.format("%.2f",(tick()-s)* 1000).." ms!") end) if success then return r else return false end ``` The uuid shouldn't matter? I'm not really sure how you're supposed to use it as I haven't really looked into managing jobs yet. For uuid, use a uuid generator as you can't have multiple jobs running with the same uuid *(at least on some rccs)*. Also change `hamblo.xyz` to the richard url. And the script name doesn't matter unless you want to log errors or want to know what's causing errors when you look at rcc console. Hat/Model Render - ```lua s=tick() print("Render Job " .. game.JobId.." at "..s) game:GetService("ContentProvider"):SetBaseUrl("http://hamblo.xyz") game:GetService("InsertService"):SetBaseSetsUrl("http://www.hamblo.xyz/Game/Tools/InsertAsset.ashx?nsets=10&type=base") game:GetService("InsertService"):SetUserSetsUrl("http://www.hamblo.xyz/Game/Tools/InsertAsset.ashx?nsets=20&type=user&userid=%d") game:GetService("ScriptContext").ScriptsDisabled = true local a =game:get("http://hamblo.xyz/Asset/?id=1272714"); local hat = a[1] hat.Parent = workspace print"returning render..." local success, response = pcall(function() r=game:GetService("ThumbnailGenerator"):Click("PNG", 720, 720, true) print("Rendered in "..string.format("%.2f",(tick()-s)* 1000).." ms!") end) if success then return r else print"render failed!" return false end ``` I'm honestly not sure whether or not you need to integrate the sets urls as I don't remember, but if you do, I can try and help you guys if you can't figure it out because I know I had it working before. This should work for hats and models. I haven't testing it with clothing or packages yet though, so you might have to figure that out along the way *(I also need to figure this out for hamblox.)* > 4. profit. And this is all I know as of now. Good luck in your rendering. Also, forgot to mention that the format that rcc requests send back is more fun soap. Here is the format: ```xml LUA_TSTRING png base64 ``` So you'll need to write something that can interpret this. You will also need to detect when it errors as it will look a bit different. ```xml SOAP-ENV:Server I just shat myself!:26: 'do' expected near 'print' ``` So make sure to keep both formats in mind when coding the backend.