List of scalability issues I've found thus far with 200 player servers

Roblox enabled 200 player servers recently for Beta testers and I’ve been able to test this quite a bit. I’d like to start off by saying that it’s pretty freaking awesome that we can have 200 players in one little server.

We were able to get up to about 157 players or so before the server died:

Here’s a few issues I’ve found so far:

  • Players list on escape menu is useless at 100+ players. You only see like 8 players at once and the scroll bar is tiny.
  • Players list on escape menu will freeze up my high-end gaming PC for 2-3 seconds while the API requests all of those little icons and other things
  • Killing 100 players in one server stepped frame will crash the server. Maybe some physics throttling so that players aren’t sending thousands of parts worth of physics data? (200 players * 16 parts per player = pure agony 3,200 parts)
  • Chat becomes useless. Something pops up saying in red text in the chat along the lines of “Heavy load. Can’t keep up” and all players chats become ______'s after about 120 players

Here’s a few ideas I have.

  • Maybe after 50 players show a grid of players on escape menu instead of a list?
  • Built in anti-spam. It can be pretty relaxed but some way to stop players from spamming when you’ve got 200 people in the chat seems absolutely necessary.
  • Do something with the default (not escape menu) playerlist GUI on the right-side of the screen. I run at nearly 4k resolution and the scrollbar gets pretty tiny and useless
  • Maybe eventually an option for distance-based chat? If we have 200 players in a server this could be pretty beneficial.
33 Likes

I particularly like the idea for distance based chat.

6 Likes

I agree but I think one part of reason for this update is to allow developers to develop games that aren’t really very high intensity (and I know yours wasnt as I visited it), and also a large map, with character rendering only needing to be done within a small area and so would perform at the same speed as a normal game (as long as the server can keep up).

A great use for this would be something like an agar.io esque game, where characters aren’t loaded, and every player is just a simple UI element, minimal client to server comms, and therefore the server can cope much more easily. Realistically the only game with massive servers I can think of is Battlefield 1, and this is spread out so much with such amazing rendering technology that it doesn’t seem to hinder my experience at all.

I agree it needs improvement, however I think even right now there’s room for a well optimized game that doesn’t clump the player’s characters together if it renders them at all. Also roblox is of course a game powered by independent developers, so any optimization on roblox’s part has to be done in a way that it can be used by everyone effectively, which is always hard considering the thousands of different types of game.

LoadCharacter is very problematic at this point. Innovation Security uses “:respawn all” quite a bit, and we had a few cases of server crashing at 80 players, and serious slowdowns at 50. Probably due to all the needed HTTP calls as well with the instances being created and networked to everyone.

5 Likes

I’m wondering if 200-player servers would be ideal for a matchmaking lobby. Are there any issues if you remove all characters/character physics in general?

Still a pain, sorry. Especially with teleports.

Are teleports throttled when too many are called in a server? I was hoping to do this for lobbies so that I won’t exhaust datastore limits for matchmaking.

1 Like