⚠️ !!! DO NOT USE THIS !!! please for the love of god do not use or follow this guide, its so unsecure, anyone can just link assets to external sites, check out my new project: https://github.com/worships/roblox-auto-patcher
this actually patches 2008-2019, sadly not 2020-2021 since its more involved. but please do NOT use this, and check out the auto patcher i wrote
This guide is only how to patch the Roblox 2021E client to run on a local host. This guide is not for any other purpose, I do not recommend hosting this as a revival. This is a fixed version of jetrays guide, with modified web server, no sketchy DLLs, and way better formatting. All credit originally goes to him.
FILTERING IS DISABLED, AND SIGNING IS DISABLED! THIS IS NOT SECURE!
If you cannot access the links, or if they are taken down please use the downloads in the archive directory.
I also do recommend using the webserver from this repository, it already contains the CoreGuis, and a couple of QoL fixes.
- Open AppSettings.xml in the 2021E client folder and replace the code with the following:
<?xml version="1.0" encoding="UTF-8"?>
<Settings>
<ContentFolder>content</ContentFolder>
<BaseUrl>http://localhost/.127.0.0.1/</BaseUrl>
</Settings>
-
Open x32dbg, then drag the client into the window.
- Up top, click on
Smybols
then in the window look forRobloxPlayerBeta.exe
and double click it. - Up top, there should be a solid right arrow. Click on it twice, this is to get around VMProtect.
- Up top, click on
-
Right click anywhere on the code and click
Search for
>All Modules
>String references...
- Wait for the module search to complete, in the search bar near the bottom, type
trust check
and wait. - Double click it, or right click on the first result and click
Follow in Disassembler
. - Scroll up a little bit and you should see a
jne
orje
instruction, right click and select assemble it or press space, then change it tojmp
. - Repeat this step for the second result.
- Wait for the module search to complete, in the search bar near the bottom, type
-
After that return to the references tab up top. Search
--rbxsig4
and then double click it, or right click and clickFollow in Disassembler
.- Scroll up until you see a
push ebp
instruction underneath a bunch ofint3
instructions. - Right click on the
push ebp
instruction and clickAssemble
or press space, then change the whole instruction toret
.
- Example of what you should see:
- Scroll up until you see a
-
Click on
File
>Patch File...
and save it asPatched.exe
.- Close x32dbg, then delete, rename, or move the old
RobloxPlayerBeta.exe
. After that, renamePatched.exe
toRobloxPlayerBeta.exe
.
- Close x32dbg, then delete, rename, or move the old
-
Inside of the client folder create a new folder called
ClientSettings
and inside of that create a new file calledClientAppSettings.json
and download this file and move it into the folder. -
Extract the
Content.7z
and then copy all of the files (NOT MOVE) into the client directory.- After that create a batch file in the client directory with the following code:
start RobloxPlayerBeta.exe -a "http://localhost/Login/Negotiate.ashx" -j "http://localhost/game/placelauncher.ashx" -t "1"
Done! You have successfully patched the client.
-
Run
0.463.24788Bootstrapper.exe
as an administrator and let it install.- After it is done, open the
Roblox
folder in theProgram Files (x86)
directory. In there should be a folder calledRCC-
followed by a bunch of random letters and numbers. - Open that folder and copy the contents and move them into the
RCCService
folder inside of your main 2021E folder.
- After it is done, open the
-
Open
RCCService.exe
in HxD by dragging it into the window.- Press
Ctrl + F
and search for00 68 74 74 70 73 00
. - Replace it with
00 68 74 74 70 00 00
. - Save the file and close HxD.
- Press
-
Perform the same trust check patching as you did with the client, but with
RCCService.exe
instead in x32dbg.- After that, you need to patch
Non-trusted BaseURL used. HttpRbxApiService is only for Roblox API calls
, search that string and patch thejne
orje
instruction tojmp
like you did with the client. - Patch the file like you did with the client, then delete, rename, or move the old
RCCService.exe
and renamePatched.exe
toRCCService.exe
.
- After that, you need to patch
-
Go back to the
Contents
directory and copy all of the files (NOT MOVE) into theRCCService
folder.- After that create a batch file in the
RCCService
directory with the following code:
RCCService.exe -Console -verbose -placeid:1818 -localtest "gameserver.json" -settingsfile "DevSettingsFile.json" -port 64989
- After that create a batch file in the
-
You must place these two files inside of the RCCService folder:
Done! You have successfully patched RCCService.
- Extract the
Webserver.7z
and move it to your main 2021E folder.- Inside the
Webserver
folder, run uwamp.exe, and click allow twice if prompted by Windows Firewall. - If apache does not start make sure you have the Visual C++ Runtime installed.
- Inside the
- Downloads the CoreGuis from the
/coreguis/
directory in this repository, or download the compressedCoreGuis.zip
file.- Once downloaded/extracted go into the
www
folder, and open the directory.test
and thenasset
. - Copy all coregui files into that directory, there is no need to change the asset ids, or scripts.
- Once downloaded/extracted go into the
Done! You have successfully set up the webserver.
you must run these in order!
- Run
UwAmp.exe
in theWebserver
folder. (If not already running, run UwAmpUAC if you run into issues) - Run
RCCService.bat
in theRCCService
folder. - Run
Client.bat
in the client folder.
-
If you would like to configure the username, avatar, etc. Its all in the webserver folder in the
www
directory. Or you could just use the launcher scripts in the web server, if you know how to use them, I may document them later if I feel like it. -
If you would like to test other games, inside of the
www
directory open the.127.0.0.1
folder, and inside of assets upload a.rbxl
or.rbxlx
file (make sure to remove the .rbxl/.rbxlx extension from the file name) and rename it to an id.- In order to actually play it modify gameserver.json in RCCService, change the id inside of the
PlaceFetchUrl
to the id of the place asset. - NOTE: I believe roblox did a change to their binary and xml formats on some channels (not live or any main ones, I am on an experimental channel), as of 3/14/24 to 3/16/24 the new binary format would not work with 2021E. This has since been fixed and you can use new place files. Please watch out for any of these changes in the future and make archives of your games that you want to play on it in the older format.
Example:
"PlaceFetchUrl":"http://localhost/.127.0.0.1/asset/?id=69420",
- "PlaceFetchUrl":".../asset/?id=2753915549" + "PlaceFetchUrl":".../asset/?id=69420"
- In order to actually play it modify gameserver.json in RCCService, change the id inside of the
-
If you would like to get character appearances/avatars to load, just setup a simple startercharacter in starterplayer. I won't explain how todo this cause it is super simple and if you cant figure it out you shouldn't even be following this guide. There is also the option of trying to fix it in the webserver.