Experience server

A game server (known on Roblox as an experience server and sometimes referred to as a host) is a server which is the authoritative source of events in a multiplayer video game. The server transmits enough data about its internal state to allow its connected clients to maintain their own accurate version of the game world for display to players. They also receive and process each player's input. Servers will generally host more than one game server, which will each be instances of experience servers serving different places. When a user joins a Roblox experience, their client, an of the Roblox software on the device, requests for an experience server to be created if all of them are full or if there is no server, and then connects to it. Other clients on the computers of other users may then connect to that experience server. This is the base of Roblox's multiuser system.

Whenever a change occurs on a client (character movement, chat etc.), it is replicated to the server, which then replicates it to all the other clients connected to the experience. Similarly, whenever a change happens on the server (generally because of the physics, or because of scripts), it is replicated to all the clients connected to the experience.

Technical
To host servers for experiences, Roblox uses Windows Server. Roblox may automatically shut down some servers that have been active for multiple hours with error code: 17 possibly due to lag concerns. For website hosting, they use Amazon Web Services.

Trivia

 * Users often attempt to join a server using the server list to meet a famous or popular user.
 * When attempting to join an experience with 0 users, it will sometimes take very long to enter the experience. (Waiting for server screen)