Is there a way to simulate real players being in a server?

I run a soccer league, and we’re hosting a cup final on Saturday.

In our previous cup finals we always had a 50 player server maxed out with no performance issues, however now that I’m apart of the devforum I have the option for 200 player servers which we would like to test.

Is there anyway of going about this without having actual players join the game ? As the cup final is tomorrow we would like to test how many max players the server can actually handle while the gameplay running smoothly.

The game consists of 7v7 or 8v8 players with the rest of the players being fans around the pitch, not being involved in much activity other than jumping and walking around really.

Any help would be greatly appreciated, sorry if this topic may have been mentioned before, I’ve failed to find anything.

Perhaps you could try TestService
image
Click Service and select TestService and click insert

image
It looks like this


There’s an option to simulate a number of players

  1. Make ExecuteWithStudioRun true
  2. Enter 200 on the NumberOfPlayers
  3. It will only work when you run studio.

WARNING
It will open 200 studio instances! Prepare to toast your GPU

12 Likes

In general you really really really shouldn’t have more than 100 player servers right now in production games, and that is pushing it. After this amount (or even at it) you will see Chat errors popping up, along with increasing latency. Players joining the game might will face longer loading times.

I know this because I’ve tested a group game with over 160 players at once and from experience the game starts dying at about 90, and it becomes unplayable afterwards due to painful latency issues.

4 Likes

carrying on with @LordHammy. It is not easy to handle large servers, there’s minimal games which can handle 100 player servers, let alone 200. In addition, from what I know with a soccer game, your players + the crowd are going to be within a range where the client would have too much to render for a performance smooth experience.

MeepCity is a good example of large servers- but loads of optimisation has to take place prior to make servers as big as they are now

2 Likes

Thank you for the response, I was thinking 100 as kind of the limit, what group game did you test ?

You can try to use this question I’ve asked previously which can help you on optimising some of your game to handle larger servers: Optimal ways to handle 100 player servers on a large free-roam game - #11 by uJordy

1 Like

Instead of having tons of spectators in game, I would suggest just having 1-2 people live streaming the match from either a player perspective or as a bystander.

1 Like

It was a team death match style shooting game with two teams, half and half on each side. Although you can use the argument that guns could cause more lag, they were not as big of an issue I noticed.

1 Like

As others have stated, you will probably have a lot of issues running so many players.

Roblox doesn’t handle so many humanoids very well – you might be able to work around this by making your spectators not have characters or have fake, more efficient characters.

Roblox doesn’t handle so many chat messages well – you would need to program your own chat that’s more efficient by either not being game-wide or handling messages better. The Roblox chat is fairly complicated, so it shouldn’t be hard if you make something a lot simpler.

These changes can be a lot of work and aren’t worth it compared to streaming from Twitch or Youtube. Twitch links are allowed, aren’t they? Give one player access to a fancy camera and let them get some nice views for your whole audience on Twitch or Youtube. I think even if you up player count, doing this would still be really cool as you can have more than 200 viewers! How cool would it be to have 500 people watching your soccer league at once?


To answer your question, I’m not familiar with any way to do this without running 202 Roblox windows. Assuming that Roblox only takes 500 MB of memory, you would need 101 GB of RAM to test that on one computer, and that’s not to mention the CPU or GPU requirements.

Well, you’ve got a whole day until the cup final! Why don’t you just invite your community to a 200 player test place today?

You can also try slowly upping player count over time and fixing issues when you run into them. For example, you can run tomorrow’s cup final with 60 players, and your next match with 70. When you start getting issues, stop upping the player count and start working on fixes.

7 Likes

Roblox doesn’t handle so many humanoids very well – you might be able to work around this by making your spectators not have characters or have fake, more efficient characters.

Roblox doesn’t handle so many chat messages well – you would need to program your own chat that’s more efficient by either not being game-wide or handling messages better. The Roblox chat is fairly complicated, so it shouldn’t be hard if you make something a lot simpler.

Thank you for this information, I never knew about the chat messages issue, will definitely be of use to me in the future.

These changes can be a lot of work and aren’t worth it compared to streaming from Twitch or Youtube. Twitch links are allowed, aren’t they? Give one player access to a fancy camera and let them get some nice views for your whole audience on Twitch or Youtube. I think even if you up player count, doing this would still be really cool as you can have more than 200 viewers! How cool would it be to have 500 people watching your soccer league at once?

@xuefei123
We actually have exactly that on twitch !
However as you see it’s not very popular as there’s not much interest in Roblox towards this and games are 30 minutes which are rather time consuming, they’re only popular for big events like cup finals.

To answer your question, I’m not familiar with any way to do this without running 202 Roblox windows. Assuming that Roblox only takes 500 Mb of memory, you would need 101 GB of RAM to test that on one computer, and that’s not to mention the CPU or GPU requirements.

Well, you’ve got a whole day until the cup final! Why don’t you just invite your community to a 200 player test place today ?

You can also try slowly upping player count over time and fixing issues when you run into them. For example, you can run tomorrow’s cup final with 60 players, and your next match with 70. When you start getting issues, stop upping the player count and start working on fixes.

Thanks for the answer to my question. Looks like I’ll just have to do real player testing, the idea of upping player count is smart, and I’ll probably try doing that. I would test today however our community isn’t very big so getting even 50 players would be the maximum we would achieve usually on a normal day.

Thanks again for the very well written response, and thank you to everyone else who replied, they all helped.

1 Like

Yea, I’ve never used guns so I don’t know how they perform. My game uses 1 Touched Function on the client and if the ball is touched when a player kicks it, then it kicks on the server, which may be less laggier than guns. We ran 50 player servers, no problem, we’ll have to see ! Thanks for the insightful response.

1 Like

200 player servers aren’t optimised yet, that’s why >50 players is a beta feature. Not stable enough for any form of public rollout. They tried stabilising 100 player servers but I don’t know how that’s fairing out. 100 is already pushing it, depending on what kind of codebase you’ve got running and how optimised it is.

I would try to create a scriot which replicates the soccer players position and maybe information like anomations, and using httpservice on the original server using trello or something else, then allow the other servers to replicate the soccer players information on models every wait(500/60)

2 Likes