Jump to content

T3D and large amounts of connections


adambeer

Recommended Posts

Hey guys, Im starting to plan a new game and its going to require the ability to have possible large amounts of players at once. The game will have clients run basically in single player while connected to an external server that will handle updating of a database and authoritative functions. I have played around with Torque before and stripped it down to be just a bare-bones connection object where no mission is loaded and commandToClient/Server were really the only things utilized. My main question is how many client connections can T3D handle in this fashion?


I plan to use Amazon EC2 to host these server instances and scale them as I need. I'm not sure if this is the most effective way to go about connecting to a "master server" for cheat-checking and database communication but I have experience this way and at this point its good enough for a prototype. Would using this system be production worthy, or would it be better to write a custom application the T3D clients connect to?

Link to comment
Share on other sites

I think it's something like 128 players. What you should ask yourself is what kind of things will your server be responsible for? If it's going to handle things like collision, raytracing projectiles, etc then I would take torque and start making the modifications you need to support the amount of clients you're planning for. The main reason being that in order to do proper collision and raytracing you'll need the information about the geometry and you're just gonna be reinventing the wheel making your new server able to load all of this when torque already has the infrastructure to do it all.


On the other hand, if your server is there to just keep score, or distribute certain elements across lots of clients (mingleplayer, like dark souls, you put down a message somewhere and other players can see it) then I would write my own server to do it.

Link to comment
Share on other sites

Thanks for the reply Andrew! I would be using the server instances for strictly database communication and permissions checking. The clients will basically be a camera and a large set of GUI elements.


I have never used the TCPObject to connect to an external server that isn't a Torque instance, any advice for that? I know that at this point I'm stepping outside T3D a little bit but would this custom written server just need to listen on a port? Also Im sure theres some sort of protocol I'd have to follow to be able to talk between T3D and some external server?


The commandToClient/Server functions are basically all I would need to send stuff back and forth so I'm sure its not that complicated?

Link to comment
Share on other sites

If I used an external non-T3D based server for player to connect to, I would for sure use the HTTPObject or TCPObject. I actually use the HTTPObject to communicate with a web server using PHP to handle my database communications for Undead Shadows. This method is also an option but have found that this can be slow. It could just be the web host i'm using though.

Link to comment
Share on other sites

Whoops, I forgot about this. Mostly because the 'language' is actually just a bunch of global functions and a single data structure. That said, working with Laravel is nearly as pleasant as any other modern dynamically-typed web framework. Props.


I am indeed one of 'those Haskell guys' and incredibly glad to be.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...