noobWarrior
An all-in-one toolkit for everyone's favorite block game
noobWarrior is a free (as in freedom) program that serves as an all-in-one toolkit for Roblox. It is a tool for preserving, viewing, editing, and playing Roblox content offline.
noobWarrior tries its best to not bundle in any copyrighted works by the Roblox Corporation. The program itself comes with no Roblox items or binaries of the game engine.
Philosophy
noobWarrior's philosophy is that Roblox games and other forms of media on the website should remain available for people to enjoy, without going offline or changing suddenly one day.
Roblox is a live-service game with its origins dating back to 2003. The platform's infrastracture heavily relies on online assets. Online assets, which could potentially, be lost.
noobWarrior gives its users the tools to solve this issue by allowing them to save Roblox items into a portable database file format. It contains multiple features to help you with saving Roblox content, like a built-in backup feature and a tool to grab assets from the running server. You can then play backed-up games as the proxy tricks the Roblox client into thinking the website is the one hosting your databases.
Features
Databases
This is the core of the program that everything revolves around. These are portable SQLite database files that contain schemas of Roblox items and other backend stuff. The purpose is to store items in a format that is compatible with the Roblox web backend and game engine. They contain games, models, badges, users, datastores, whatever you can name. You can share these files with others.
Database Manager
As the name suggests, this manages your databases. It's an internal system that overlays databases on top of one another (kind of like how Minecraft resource packs work,) and it functions as a single unit that acts as a mega-database.
Backup
You can back up games, models, and users to a database. How it works is that you give it an ID to start from, and it will recursively go through whatever other items the ID may be associated with and back them up as well, and so on. There is a depth limit so that it doesn't go into an infinite recursion loop and crash. It stores extensive metadata about each item, as well as the data of the item itself if it is an asset.
It also actually parses the .rbxm and .rbxl files and checks them for content ID's (rbxassetid and rbxthumb) and scrapes them too.
There's also Asset Grab Mode. This is a mode that, when enabled, will scrape any assets retrieved through the server emulator's assetdelivery endpoint and back them up to a database of your choosing.
These features require a login to Roblox as it accesses their API endpoints. You can only download place and model files that you own or are uncopylocked.
Plugins
The program features a built-in plugins system that lets you extend the functionality of certain features like the server emulator.
Plugins are also able to modify the DataModel of a Roblox game server.
Plugins can also ship with databases, they can either be optional or required.
Plugins are currently unsandboxed, so please audit them with caution before installing them. A system adding permissions will be added in later.
Moddability
The idea of “moddability,” something seen as impossible in Roblox, can be naturally done with how noobWarrior is structured.
noobWarrior can facilitate an entire content creation ecosystem that echoes traditional PC games.
As seen with the combination of databases + plugins, this is clearly possible as they can be used in conjuction to make asset replacement mods + modify the DataModel of a game.
Offline/LAN Gameplay
noobWarrior allows for offline/LAN gameplay of the Roblox engine. This means that you can play Roblox games without having to be connected to the Internet.
SDK (Software Development Kit)
The main development tool for creating and editing databases (and plugins, soon.)
You can browse items and create them, preview place/model files in the Explorer/Properties panel, and organize your items and other materials in the File Manager.
Server Emulator
This is a webserver that emulates the Roblox web backend. It utilizes the databases you have mounted for data retrieval.
Master Server
This provides a list for the server emulators so that you can find people to play with.
This feature is entirely implemented as a Lua plugin so you can easily mod and extend it however you please.
Workshop
This is an incomplete feature, but the gist of it is that you can upload your databases and plugins to a Workshop in a Master Server and have users download and comment on them.
(Probably) Frequently Asked Questions
How do I install the clients?
You gotta find them yourself (I can't distribute them myself), and then once you do that, go to %localappdata%\noobWarrior\engines (enter it in the File Explorer address bar) and drag and drop the client folder in there.
Keep in mind that the program has built-in heuristics to detect what version the engine is, so that you don't have to do much manual setup yourself. Make sure the version hash is preserved (like version-XXXXXXXXXX) in the directory name for best results. It may not work if the correct version hash isn't there.
How do I join a game?
If you're trying to start your own server and join it:
Right now there's some friction. You have to host a game through Start Game Server, select a map from a database, and choose which version you'd like to host. Then read the label at the bottom right of the window because it tells you exactly what ports you have to open on your router (if you don't know what this means, google "how to port forward")
Once you've opened the correct ports on your router, start the server.
Then once the server starts, you click the Online button in the main launcher window, click Direct Connect at the top of the newly opened window, and then enter "localhost" to join your local server.
If you chose a different server emulator port in the settings menu, please tell your friend before they try to join. The program defaults to port 53640 when attempting to connect to a server emulator and it will fail if no server is listening on that port.
If you're trying to join someone else's server:
Make sure they have port forwarded the correct ports on their router (tell them to Google it if they don't know what that means)
Once you've made sure they've opened all the ports on their router and are hosting the server, click the Online button at the top of the launcher window, click Direct Connect at the top, and type in the hoster's IP address. It will automatically recognize the Roblox version of the game server and it will try to use the closest version you have to join the server.
Note that you need to connect to the server emulator, not the Roblox game server. The server emulator is NOT the same thing as the Roblox game server, this is a very important distinction. The server emulator is the website that lists all the running game servers. You can connect to different ports by separating the IP address and port by a colon (e.g. 127.0.0.1:53640)
Will I get banned from Roblox for using this?
In the time that I have spent playing the Hyperion-era clients using this program, I have been logged out of the main Roblox app on my computer (I manually did this myself), so I can't really say. Every single HTTP connection should redirect to the server emulator and never Roblox's. And you're not using this program to play on Roblox's own servers. If you're paranoid, I recommend logging out of the main Roblox app and disabling the feature that minimizes it to the tray before playing.
As for the pre-Hyperion clients, you definitely will not get banned. None of the QA testers have.
Is this a virus?
No.
Why did my windows defender flag it as a virus then!!!
Because Microsoft Defender flags one of the executable files (the x86-64 injector) as a Wacatac.H!ml trojan (whatever the hell that means) so just whitelist it for now.
Why is my Windows SmartScreen nagging me???
I didn't sign the binaries so Windows SmartScreen is gonna bother you, just ignore it
Mac? Linux?
I've already confirmed that it compiles and natively runs on those two platforms, however I'm not releasing builds for them yet because there's several features like a Wine downloader that needs to be created for those platforms. If you're impatient then just run the Windows version through Wine for now. Hyperion-era clients will not be supported, sorry to say. Unless someone makes a Sober equivalent or modifies the Wine source code, it is unlikely to happen.
What versions are compatible?
These versions are compatible:
- Roblox Player 0.719.0.7191339 (version-acc4b74f79e743b9) (2026M)
- Roblox Studio 0.719.0.7191339 (version-547feaebd3b44131) (2026M)
- Roblox Player 0.574.0.5740446 (version-08c4cfa3d43c47ef) (2023M)
- Roblox Studio 0.574.0.5740446 (version-c2e4d104afaf449c) (2023M)
- Roblox Player 0.463.0.417004 (version-5a54208fe8e24e87) (2021E)
- Roblox Studio 0.463.0.417004 (version-ef266da340bc4058) (2021E)
- RCCService 0.463.0.417004 (version-07b64feec0bd47c1) (2021E)
Anything not on this list will probably crash when you try to load it into noobWarrior.
Why are versions 0.463, 0.574 and 0.719 the ones that are compatible in specific?
0.463 is the last version where they shipped RCCService for Windows, 0.574 is the last version without Hyperion, and 0.719 is one of the last versions I could get working before getting a "bytecode corrupted" error. Apparently they check if bytecode is signed now? I'm not sure.
Will older clients be supported?
Yes, eventually. This is a preservation toolkit so you have to let the older games be playable on the versions that they were made for.
Are you going to actually update this instead of abandoning it?
Contradicting my last point, I don't really know. I'm kind of exhausted of working on this project for so long and I'd like to give it to a successor who's more competent than me. The problem is that there is so much other foundational stuff needs to be added and I doubt that another successor would be able to share that same vision. Also I have other projects to work on. And I just have a tendency to lose interest in projects.
If you know anything about C++ (like, anything) and you don't want to see this project wither away then please help chime in.
Is there documentation on how to use this?
There is currently no documentation at the time of writing this. There will be documentation on the website later, but I don't know when I'll finish it.
Why is the program so hard to use?
Yeah, this is a problem that I've been trying to address. I want this program to be as accessible as possible, it's just really hard when you can't do certain things like distributing the clients. The program itself is probably just too confusing to navigate for someone who's not experienced with computers. I'll probably make an alternative gaming console-like UI for those who just want to play games and not have to deal with the tooling this program offers.
Is this vibe-coded?
I wrote this program for a year without any AI assistance, then my good friend introduced me to AI coding and I kind of used it a lot. Sorry if you're disappointed but that's how it naturally went. I prioritized getting this out on the September 1st deadline more than that + code maintenance. I hope that you can still find value out of this program even if these tools were used in production.
If the project receives more contributors and maintainers, I will try to phase out usage of it as there's not much of a point in using it when you only have to work on small parts of the project instead of the entire thing. Plus I have much of the core parts of the program already pinned down.
Do you have any idea what you're doing?
I half know what I'm doing. I architectured how the program would work and programmed most of the foundational building blocks myself. I came into this with some general knowledge of how Roblox works, and came back with a program that works just well enough to be something of substance to the Roblox community. I'm not a talented reverse engineerer, I can't do x86 assembly to save my life. I simply made this program because I had a bunch of ideas that I thought were good and it was frustrating me that no one else who was more talented than me in this field was coming up with those ideas, so I decided to take matters into my own hands.
Is this meant to compete with other launchers/revivals?
No.
Why is chat not working?
This is most likely an issue with Roblox's cached FastFlags setting themselves as enabled or disabled in your client. You can get around this by cleaning up your Roblox folder in %localappdata% by renaming or deleting it entirely.
Why does R6 only work for 0.719? I can't get R15 working.
I'm not sure yet, this is one of the few issues I haven't been able to pin down.
Why are some assets/avatar items not loading?
I'm also not sure on this one. It can be a hit or miss. It seems that 0.719 is better with this than 0.574 for some reason.
Why don't decals seem to load in Studio?
Roblox's decal system is strange, and I haven't properly looked into it myself yet. (which is something that I should have done earlier so this is my fault.) A workaround is to use Image assets and SurfaceGui's, which aren't perfect because they can't wrap around objects.
How can I help?
Submit issues and PRs on the GitHub.