Built-in library for manipulating Roblox place & model files
Example usage
local roblox = require("@lune/roblox")
-- Reading & writing a place file
local game = roblox.readPlaceFile("myPlaceFile.rbxl")
local workspace = game:GetService("Workspace")
for _, child in workspace:GetChildren() do
print("Found child " .. child.Name .. " of class " .. child.ClassName)
end
roblox.writePlaceFile("myPlaceFile.rbxl", game)
Functions
getAuthCookie
function Roblox.getAuthCookie(raw: boolean?)
Gets the current auth cookie, for usage with Roblox web APIs.
Note that this auth cookie is formatted for use as a "Cookie" header, and that it contains restrictions so that it may only be used for official Roblox endpoints. To get the raw cookie value without any additional formatting, you can pass true as the first and only parameter.
Example usage:
local roblox = require("@lune/roblox")
local net = require("@lune/net")
local cookie = roblox.getAuthCookie()
assert(cookie ~= nil, "Failed to get roblox auth cookie")
local myPrivatePlaceId = 1234567890
local response = net.request({
url = "https://assetdelivery.roblox.com/v2/assetId/" .. tostring(myPrivatePlaceId),
headers = {
Cookie = cookie,
},
})
local responseTable = net.jsonDecode(response.body)
local responseLocation = responseTable.locations[1].location
print("Download link to place: " .. responseLocation)
readModelFile
function Roblox.readModelFile(filePath: string)
Reads a model file into a table of instances.
Example usage:
local roblox = require("@lune/roblox")
local instances = roblox.readModelFile("filePath.rbxm")
readPlaceFile
function Roblox.readPlaceFile(filePath: string)
Reads a place file into a DataModel instance.
Example usage:
local roblox = require("@lune/roblox")
local game = roblox.readPlaceFile("filePath.rbxl")
writeModelFile
function Roblox.writeModelFile(filePath: string, instances: { Instance })
Writes one or more instances to a model file.
Example usage:
local roblox = require("@lune/roblox")
roblox.writeModelFile("filePath.rbxm", { instance1, instance2, ... })
writePlaceFile
function Roblox.writePlaceFile(filePath: string, dataModel: Instance)
Writes a DataModel instance to a place file.
Example usage:
local roblox = require("@lune/roblox")
roblox.writePlaceFile("filePath.rbxl", game)