Add an "Offline Service"

This Offline Service will be a service that can be enabled or disabled.

Basically, what this service does is when you lose internet or get “Disconnected” from the game, the OfflineService will kick in. Basically what this service is is a workspace but is only streamed to the client when they lose internet or gets disconnected from the game.

How will it work?

This service will be the Workspace and StarterGui combined and will have similar characteristics to the replicated storage. the only difference is that it will only stream content to the user when the wifi goes out.

This service would help me as a developer because…

sometimes people lose wifi and get disconnected from games. As a person who played Roblox games often in the past, getting disconnected is one of the top three worst things to happen. This service and its functions can decrease the frustration of losing wifi, at least you have something to play.

Adding the service will require the following:

The player won’t get disconnected from the server they are in, with a threshold of 10 minutes(after 10 minutes, if they are not back in the game, they will be disconnected for real).

There has to be a way to stream the service’s content to the client while deleting any existing content that was in the game. What I mean by this is that when you get disconnected, all content from the server + the StarterGui will be invisible to the client. The only thing visible will be the content in this service. When they regain internet, they will see all of the previous content they had, basically resuming the gameplay.


The problem I see with this is that developers need to be able to rely on Remotes and ensure their players are able to respond to them properly. If I ping a player and tell them to set up their gui for a race, and then they reconnect and the race starts, now all of a sudden there’s a problem since that player doesn’t have that race gui, but they’re still technically part of the race.

Edit: I guess this could be solved by adding a “PlayerRemoved” event only for when a player just disconnects temporarily (it would be hard to tell which disconnections are temporary and which are permanent tho). It may also be useful for letting the player keep control of their character when connecting to a new server (teleport service or something like that), or adding functionality for offline gameplay (singleplayer / story mode / whatever). There’s no doubt this could break some old projects (unless it’s a toggle) and it would be a drag for some devs to deal with, but after revisiting I could see some interesting use cases for this…