This page contains notes for the game Roblox (Windows, Mac OS X).
Roblox Archives#
General / Misc.#
Note: Don't pay attention to content like this, because it's just a fake.
Time Period |
Name + Link(s) |
Content(s) |
|---|---|---|
Beginning of Roblox - 2024 |
A bunch of Roblox Assets. |
|
2006 - 2021 |
Roblox Blog articles from 2006-2021. |
|
Old Roblox |
Allows you to host old Roblox servers. Usefull for getting footage. |
|
Not Specified |
A Discord channel with old Roblox content. |
|
Not Specified |
Info on some things that had an impact on preservation of certain Roblox content. |
|
Not Specified |
Info on groups, clans and other stuff. |
|
Not specified |
Archives some banned players, groups and assets. Also gives extra info on players, groups and assets. |
|
Not specified |
Contains more than clients, also has the original badge images before the resolution was lowered for the website. Clients are from March 2007 all the way to somewhere in 2024. |
Player Builds#
Time Period |
Name + Link(s) |
OS |
Content |
|---|---|---|---|
August 2007 |
Windows |
||
2009 |
Windows |
||
Begin 2007 - End 2013 |
Windows |
||
2007 - 2017 |
Windows |
Reddit thread with links to some (poorly) made archives. |
Forums#
Time Period |
Name + Link(s) |
|---|---|
June 30, 2004 - December 4, 2017 |
Places / Experiences and Assets#
Time Period |
Name + Link(s) |
Contents |
|---|---|---|
2006 - 2023 |
Official and unofficial places. |
|
2003 (unverified) - 2018 |
Places, models, plugins, etc. |
|
Not Specified |
Audio of a small number of places. None are official. |
|
Not Specified |
A Discord channel with archives of old Roblox games. |
|
2006 - 2008 |
List of every asset uploaded by Roblox from 2006 to 2024. |
Downloading still available Roblox Builds directly from the servers#
To do this a tool was made called Roblox Asset Downloader. To get a list of versions go to 1 for Windows and to 2 for Mac. Current version ID can be found at 3 for Windows.
Getting the time an asset was updated for the last time#
Well just put this code into a script located inside of ServerScriptService. (This is for the specific versions of experiences.)
local asset = game:GetService("MarketplaceService"):GetProductInfo(PutYourAssetIdHere, Enum.InfoType.Asset, VersionValue)
local update_stamp = tostring(asset.Updated)
function ConvertTimeStamp(time_stamp)
local date_pattern = "%d%d%d%d%-%d%d%-%d%d"
local stamp_date = string.sub(time_stamp, string.find(time_stamp, date_pattern))
local split_date = string.split(stamp_date, "-")
local year = split_date[1]
local month = split_date[2]
local day = split_date[3]
local elapsed_years = (year - 1970)
local elapsed_months = month - 1
local elapsed_days = day - 1
return year, month, day
end
print(ConvertTimeStamp(update_stamp))
Use this if you want the overall last update time:
local asset = game:GetService(“MarketplaceService”):GetProductInfo(PutYourAssetIdHere)
local update_stamp = tostring(asset.Updated)
function ConvertTimeStamp(time_stamp)
local date_pattern = “%d%d%d%d%A%d%d%A%d%d”
local stamp_date = string.sub(time_stamp, string.find(time_stamp, date_pattern))
local split_date = string.split(stamp_date, “-”)
local year = split_date[1]
local month = split_date[2]
local day = split_date[3]
local elapsed_years = (year - 1970)
local elapsed_months = month - 1
local elapsed_days = day - 1
return year, month, day
end
print(ConvertTimeStamp(update_stamp))
User.lua#
This is the Lua script for User.lua
local CorePackages = game:GetService("CorePackages")
local Players = game:GetService("Players")
local MockId = require(CorePackages.AppTempCommon.LuaApp.MockId)
local User = {}
User.PresenceType = {
OFFLINE = "OFFLINE",
ONLINE = "ONLINE",
IN_GAME = "IN_GAME",
IN_STUDIO = "IN_STUDIO",
}
function User.new()
local self = {}
return self
end
function User.mock()
local self = User.new()
self.id = MockId()
self.isFetching = false
self.isFriend = false
self.lastLocation = nil
self.name = "USER NAME"
self.universeId = nil
self.placeId = nil
self.rootPlaceId = nil
self.gameInstanceId = nil
self.presence = User.PresenceType.OFFLINE
self.membership = nil
self.thumbnails = nil
self.lastOnline = nil
return self
end
function User.fromData(id, name, isFriend)
local self = User.new()
self.id = tostring(id)
self.isFetching = false
self.isFriend = isFriend
self.lastLocation = nil
self.name = name
self.universeId = nil
self.placeId = nil
self.rootPlaceId = nil
self.gameInstanceId = nil
self.presence = (self.id == tostring(Players.LocalPlayer.UserId)) and User.PresenceType.ONLINE or nil
self.thumbnails = nil
self.lastOnline = nil
return self
end
function User.compare(user1, user2)
assert(not(user1 == nil and user2 == nil))
assert(user1 == nil or typeof(user1) == "table")
assert(user2 == nil or typeof(user2) == "table")
-- Return false if any of the provided input is nil(empty).
if not user1 or not user2 then
return false
end
for field, valueInUser2 in pairs(user2) do
if user1[field] ~= valueInUser2 then
return false
end
end
for field, valueInUser1 in pairs(user1) do
if user2[field] ~= valueInUser1 then
return false
end
end
return true
end
function User.userPresenceToText(localization, user)
local presence = user.presence
local lastLocation = user.lastLocation
if not presence then
return ''
end
if presence == User.PresenceType.OFFLINE then
return localization:Format("Common.Presence.Label.Offline")
elseif presence == User.PresenceType.ONLINE then
return localization:Format("Common.Presence.Label.Online")
elseif (presence == User.PresenceType.IN_GAME) or (presence == User.PresenceType.IN_STUDIO) then
if lastLocation ~= nil then
return lastLocation
else
return localization:Format("Common.Presence.Label.Online")
end
end
end
return User