How to use Roblox Studio offline. And no, not the old version from 2016. The latest version baby (as of Oct '23)
DISCLAIMER:
This is pretty janky and should not be relied upon. Don’t distribute any of the traffic log files generated as you can lose your Roblox account and dox yourself on accident. I am not responsible for anything that happens to you, your belongings, or your Roblox account, game, etc if you use this.
Roblox does not officially support this. Please do not attempt this unless you are at least somewhat tech savvy and understand the risks.
Also, for those of you who are coming here in the future when roblox inevitably goes down again, sorry but you needed to set this up while servers were still online. Don’t share your traffic flow file with someone to help them boot up studio. They can steal your account.
Preface: Why?
You may be asking, why do we need to do this? And the answer is because Roblox blocks offline access. Roblox is intended to be an always-online platform, and while I am not here to argue with that mentality, I do want to stand up and say, “yo, can you like, not lock us out of our own creations dude?”.
This tutorial will show you how to perform a man-in-the-middle-attack. which will save the traffic Roblox sends to Roblox studio when you boot it up. Then it can play it back, meaning when your Roblox studio installation boots up, the proxy server will read what you’re sending, and search it’s saved file to find what it should send you.
This is not perfect. The ideal way this should be done is with a dedicated proxy server, which I intend to make. This way logic can be custom programmed to download assets, and actually interact with the studio client other than just attempting to throw whatever it thinks it’s asking for back at it.
What you will need
This tutorial is written for windows.
You will need to install
- Roblox-Studio-Mod-Manager by MaximumADHD.
- MITMProxy
This will involve editing FFlags and Roblox has said they do not officially support editing FFlags, and if you don’t know what you are doing, you can affect studio’s stability and corrupt files. So, if you’re unfamiliar with this, exercise caution.
Tutorial
Remember that this is not the ideal way of doing this, it’s unsupported by Roblox, and this method is still new and doesn’t fully work. It could break your game so make backups.
- Install MITM Proxy. You will need to install certs. Look up how to do it.
Essentially, go to windows proxy settings, and set it to localhost:8080. Then go to mitm.it.
Assuming you are on windows, install the Windows one which is like PK 12 or whatever.
-
Download BUT DO NOT INSTALL one of the pem files, and open it with Notepad++ or something. You do want to install the windows file though
-
Copy the cert in it’s entirety.
-
Go to the Roblox folder (usually %Appdata%/Local/Roblox/) and edit the cacert.pem file. Paste the cert at the bottom of the file and save it.
-
Disable the proxy in windows settings, not needed anymore and if you keep it on it will redirect all your traffic to the proxy which is not desirable.
-
Open mod manager, and click “Edit FFLags”
-
In the search, type “Proxy” (CASE SENSITIVE)
-
Click on
HttpCurlProxyHostAndPort
, and then click “Override Selected”
-
On the next page, type in the value
localhost:8080
, press enter and click out of the value box so it saves (kinda janky so make sure it saves). Then click X. -
Open CMD. Navigate to a directory you want to save files to. Then run
mitmproxy --save-stream-file NameYouWantTheFileToBeCalled.log
-
Close studio.
-
Go into CMD, press enter.
-
Open studio, login if needed, and open some games you want to cache. I need to note here that what you’re doing is giving the proxy data. So if you want to save a model or texture & load it back in offline, you need to load it in while online and recording. It can help to play the game, and also switch to the server view for a second or two to make sure.
Note that this has a problem with some assets like SurfaceAppearances and other textures, likely due to configuration file settings that are fed to Roblox over the internet. I will attempt to find a solution to this later, long term a proper dedicated proxy server would be better though.
- Close studio, then go into CMD and type Q and when it prompts for confimration, press Y and enter.
Congrats! you have now saved an offline copy of studio. I have no idea how long this will work for, because its possible that timestamps might get mismatched or something, though mitmproxy can mitigate that with certain settings IIRC.
DO NOT SHARE THE FILE GENERATED.
IT CONTAINS SENSITIVE DATA ABOUT YOU, YOUR COMPUTER, AND YOUR ROBLOX ACCOUNT. PEOPLE CAN STEAL YOUR ROBLOX ACCOUNT IF YOU SEND IT TO THEM.
How to use
-
Close studio
-
Turn off internet
-
Open CMD, and type
mitmproxy --server-replay-reuse -S NameOfYourFile.log --set connection_strategy=lazy
-
Press ENTER
-
Open studio
-
Viola! You have now successfully opened studio offline. Click X on the errors. Note again, that this could cause data loss, is not supported, and unless a custom proxy server is developed, you will not be able to access data stores or anything else. Also like I said some assets will fail to load, and if you didn’t cache a place file you want to open, it won’t load properly.
To ensure you can always acces studio, you might want to make a backup of the current studio version (usually %AppData%\Local\Roblox Studio) and your files.
WARNING
Disable the FFlag when not using as you will only be able to use studio with the proxy running if the FFlag is enabled.
Once again, this could cause problems. If you get greeted with a login screen, go do the whole thing over again. If you’re getting connection problems, make sure you did the certificate.
Enjoy offline studio!