Game Development Community

I want to test how many connections can be connected in one sing

by Yong-rui Wang · in Torque Game Engine · 09/14/2006 (1:28 am) · 4 replies

I want to test how many players can be connected in one single computer.

As it's said a server can only support 128 clients, I take it means a game room can support 128 players to join in right? . so does anybody know how many game rooms can be openned in a single computer? and how to open many rooms in one computer? I run many torqueDemo.exe instance in one computer with the param "-dedicated -mission starter.fps/data/missions/stronghold.mis " but it seems the clients can only see one server created. does anybody know what's going on?

#1
09/14/2006 (8:01 am)
I believe the 128 player limit was due to the width of the player ID field (7 bits) and this was removed a couple years ago. Currently, there is no hard capped player limit. The limit is imposed by the type of application you will be running, the amount of data needed to be transferred, and your server's network connection.

In regards to does anybody know how many game rooms can be openned in a single computer?: Again, this is unlimited. I am assuming you are making some sort of chat program. A 'game room' or 'chat room' is not dependent on TNL at all. You can split the connections into their appropriate chat room, but TNL doesn't care how you do it. A basic implementation would take the message sent by one client and route it into the room that the client belongs to. Once the message is transferred across the network (TNL) the rest is up to your application.

Quote:I run many torqueDemo.exe instance in one computer with the param "-dedicated -mission starter.fps/data/missions/stronghold.mis " but it seems the clients can only see one server created. does anybody know what's going on?

I have never tried running multiple dedicated servers on a single machine. I also don't see why you would want to have multiple dedicated servers running on a single machine. Perhaps the clients are only looking at IP address and not port during their search, so they only show one match? I am not sure sure.
#2
09/14/2006 (9:06 pm)
Thanks Shyam!
I think you made sense, we are making a game which offers thounsands of rooms , each room hold one battle which allow dozens of players join in and play together. so I think we have to change the structure of the original starter.fps, right? because the original structure of dedicated server only hold one battle. Now I have a new question, because we want to test how many players one server can handle, so I am going to simulate many players in each client pc , but since I can't run more than one torqueDemo.exe instance, do you know or anybody know how to implement it?

Great thanks!
#3
09/18/2006 (1:06 pm)
If you are using TGE, you will definitely have to change some things around. Since this is the OpenTNL forum, I was under the impression that you would just be using just TNL and not TGE. TGE is based on a 'single map' paradigm. The server loads a given map, and all clients are expected to join and have the same map loaded. The server can then change to a new map, but again, all clients also change to the same map.

Your application will need many maps loaded at once. The server will need to manage these, and keep them all separate. This definitely requires restructuring of the starter.fps.

If you were using TNL (i.e. just the networking library used to build TGE) you would probably have more flexibility in designing and developing the correct network architecture for your application. This might be easier than changing the existing TGE networking architecture, but then you will lose all of the other features that TGE supplies. There is no simple answer to your situation.

As for running multiple instances of torqueDemo, you should be able to do this. Worst case, you may need to make multiple copies of the data/scripts, but it should work without that.
#4
09/18/2006 (2:00 pm)
Yong-rui:

we have successfully hosted over 300 player connections on a single TGE server.

to instanciate 300 test player connections was a bit tricky tho.

1. allow multiple instances to run.
this is easy. in engine/game/main.cc, look for the call to Platform::excludeOtherInstances, and just comment it out or something.

2. build a very low-overhead client to that you can run as many as possible on a single box.
this is sort of difficult. basically we modified the client to accept a command line flag which disabled all graphics rendering. we were able to run 50+ plus clients on a single machine that way. unfortunately i can't give much more detail than that!