A Look Behind What Happens When You Publish a Game

Publish When creating a game in ROBLOX Studio, the scope, playability, and overall enjoyment of it is entirely in your hands. We’re here to give you the tools you need to build, and ensure that you can share your games with others. But hitting the “publish” button kicks off a series of events that are remarkable. And, like our “Play Button” article we wrote previously, we’d like to share with you the complexities behind publishing a game using ROBLOX.

So you’ve finished your game, and you’re ready to share it with the ROBLOX community. You hit “Publish”. Now two parts of our system–the web side, and the client side–begin working together to rocket your game into our cloud based storage system, backed ultimately by Amazon S3.

The web side does the following: It takes whatever file you’re working on and uploads it to one of our secure web servers with additional data, like the asset ID (the address of the level being updated) and the user ID (otherwise known as the guy who uploaded the level).

We fingerprint the level with a technique known as “hashing“, which lets us recognize if the level file being uploaded is identical to one we’ve already stored. It’s important that we do this for every single game, as we want to avoid storing redundant data. The “hashing” process applies to images and models as well. If there is no instance of the hash, the system recognizes and imports the file contents and uploads it to S3, the cloud storage database that our games populate.

The client side of the equation is a bit more complex. Once you’ve built your place inside ROBLOX Studio, when you hit publish, immediately the file is compressed. Then a call goes out to our web servers, specifically, our “upload farm” of computers, and the data is processed through our “upload handler”.

If you’ll recall from our previous article, we have different “farms” of computers to handle different tasks. We have an exclusive “upload farm” because the kind of requests you make in terms of bandwidth are different depending on the task you want ROBLOX to accomplish. The upload farm is tuned for larger pieces of content and longer communication times.



Once your data hits the upload handler, a five-step process begins, culminating in your game being securely stored on our content storage cloud.

1. The upload handler decides whether or not the data can be saved.

2. The data is validated.

3. The data is saved to our temporary content store. Our temporary content store is a safeguard of sorts–it’s where we park the data so that if there are any problems (like a web server crashing) moving forward, none of the files will be lost. It’s like a digital insurance policy.

4. Records the meta data in the data base. At this point, your game is playable, even though it hasn’t yet reached our content storage cloud. If somebody requests to play your game, we can run instances of it from our temporary content store. When you hit publish, we want your game to be available to play as soon as possible.

5. Pushes the data to permanent content storage on our S3 web storage cloud. The important thing to gather from these five steps is the notion that your published games live both on a temporary cloud, then a permanent one. This is done not just to get your game out to users as quickly as possible, but also for security purposes. We back up every instance of every place you ever make.

Once your game hits our permanent cloud storage, that’s where it stays until you choose to update it, where the entire process repeats itself.

191 thoughts on “A Look Behind What Happens When You Publish a Game

  1. Agreed Roblox should help teach players how to script, although if they don’t directly sponsor them they should at least make an effort by creating video tutorials or a tutorial system and they need to simplify the explanations!

    Personally I don’t find scripting that hard to learn, although that is not to say I have not encountered problems. Even so I quit due to my exams. Since then I have not bothered to learn again.

    Perhaps because it takes to long to learn, you have to learn much of it through practice and not demonstration or example scripts (they need more). I hope Roblox does address this problem in the future

  2. Yeah jake is one of the best at building and he says in order earnt stuff around roblox you need good game and great script

  3. why cant we send it to roblox then thay can do the script and we bild but of corse lots of peeps will do this at one time and it take forever

    • But they would need to employ more people and you would have to tell them what you needed in your script, in your script.

  4. It seems that they are holding back new users from building good games. why don’t they teach other users how to script the most basic of things?
    in fact i haven’t seen any moderator or developer teach others how to script; all I’ve seen them say is “there is no simple way to teach people how to script.”
    they could at least show them the kill script or a “math=random” variable in a script!

  5. I agree with jake. The best way to earn tix/robux on ROBLOX is to make a great game, and in order to to have a “great” game you would need a good script. Personaly, I have made some awsome game and I can’t seem to get people to come back, so I go and look at the “famous” games and most of them have a script. I’m currently learning how to script now, but it still fazes me. ROBLOX needs a better explaination on scripting.

  6. If roblox can i need them to track down two people who insulted me in gear wars from 5:00 pm to 5:25 pm central time

  7. Well, this is pretty unique, and the hashing sequence is pretty amazing!
    This won’t help scripters, in almost any way though.

  8. Amazing! I knew that this process would be complicated, but not this advanced! Good job Roblox!

  9. Would be better if you posted tutorials rather then posting about the intricacy’s of you’re system.