Central servers

I posted about singleton servers a while back, good idea in ways, though it was a horrible layout. I don’t know why I even thought that layout was good, probably because my skills were not as good, but enough about that.

First off, the way it would be accessed from the website is using universes. The game configuration panel could look something similar to this ![](upload://1DrqNgR3N9JKO2LLMhELGfxH8vu.png)

The places that contain them would be just like a normal place, except that only people with edit permissions would be allowed to visit it obviously. I am not sure how hard it would be, but disabling physics would probably be a good idea as well, why would it need it?

Why do we need them?

  • Not everyone has the time or money to setup their own dedicated server, manage it, and program the back end on it.
  • This would allow games to easily make matchmaking systems
  • It could be a kick-starter type of thing for new games that don’t have the funds to actually get their own server.

What about communication between the servers?
It’s easier said than done, first off I suggest having the same structure as RemoteEvents/Functions between the server and client, this would make it easy to get into, and learn how they work. We would need a 2-way communication, allowing the CS to send messages to the game server, and back.

In terms of security, that isn’t our job, but I assume ROBLOX can handle making secure connections between their own servers without issues.

The connection should automatically be established when the game-server starts by making a web-call to get the information to actually connect to it.

What about limits between the servers?

  • From what I have tested, the server-client, client-server communication via Remote’s works well, and would easily handle all the traffic we would need.

Lets say Phantom Forces uses this, and still has the 32 players max per server, and it’s a weekend. From what I’ve seen, it’s around 5,000 players on Saturday. That is approximately 5000/32 ~= 156 game servers, all connecting to one, but definitely not sending all at once, just having open connections for sure.

Would 1 server be able to handle 156 connections? Sure, if they’re done right by ROBLOX and the programmers of the game. The central server should not be sending or receiving any data except for what it needs for communication, and the Remote’s that we use. Lets say we have 500 of those players queuing for a match at most, all we would need to send to the central server is the Players user ID, the match type they’re queuing for, and maybe some other small amount of data. A single server should Easily be able to handle that.

What if one server can’t handle all of the game servers at once?
Simple suggestion on how we can handle this, for every X amount of players and/or game servers, a new central server is allowed. This would basically split up the game servers to use different central servers.

Doing so would divide the game into sections, but it would still allow matchmaking to take place for example.

Some ideas I had for these:
A central admin panel for the games we could make, manage players data, setup new twitter codes, etc.

Matchmaking is the biggest reason for this, we got Reserved Servers, which is amazing, this is that last step.

"Can’t we just use our own central server?"
Sure, but it can get really expensive, and not everyone knows how to do proper backups and management of servers.

Would you use them?

  • Yes
  • No
  • Unsure

0 voters

Would you use them for Matchmaking?

  • Yes
  • No
  • Unsure

0 voters

Other uses you can think of?

Lets discuss this.

4 Likes

Since we’re speaking of matchmaking I thought id mention this: https://www.roblox.com/games/362497580/Demented-Defense

It uses a large menu server where players create lobbies. The lobbies are seen by everyone in the server and once the lobby owner decides he wants to go he presses Start and the lobby is teleported to the map he selected. I then use DataStores and GetFriendsOnline or whatever the API is called to let you join friends matches in progress through an in-game GUI.

I’d love to be able to simplify this but your math is a bit off. If you get 156 requests it’d be much higher than that since each server that pulls from this data would be making it 1562 requests, 1563 requests, etc… I really do want Roblox to figure out some intelligent solution for this, though!

Well either way, I doubt every single server would be making requests all at once anyway, well depending on the uses people will have.

I’d have 20 player ‘lobbies’ so I could get a nice balance between server/gui ping and this new features ping/request rate. I hope they do something like this!

It would be nice if ROBLOX implemented (web)sockets.
Then they could allow subservers to make a socket connection with the central server.

Any implementation of a central server is probably fine.
Improvements can be done later if needed.

I brought up the idea of singleton servers at RDC West last year and it gained no traction unfortunately. But it would be cool if people could get behind this idea.

1 Like

They already shutdown this idea :frowning:

RIP :frowning:

(insert body here)


How’s this?

blob.png

Sigh, this is the reason that i don’t like the reply mechanic. I miss huge walls of quotes :stuck_out_tongue: :frowning:
Sorry about the misunderstanding.


I’m pretty sure they disliked sockets as they would allow for external communications with Roblox. An intelligently designed solution for Roblox singleton servers should be able to avoid most of the security risks that would have come from opening up more external communication protocols.

2 Likes

I was replying to @einsteinK

1 Like