Multiple missions running on one server
by Jeff · in Torque Game Engine · 10/24/2005 (11:23 am) · 11 replies
I am working on something and I need some advice.
Can the server run multiple missions at the same time? Or does it require multiple servers?
I would like to have a multiplayer RPG where one player can be doing something in one town(ie...one mission), and another player could be doing something in another town(eg...another mission)...but I want them to be able to chat with each other, maybe the one player can warp(portal) over the town where his buddy is...I understand that the client might need to load the sim(datablocks and such...and I can handle some sort of loading screen)...but can the server run both at the same time.
Think of it kinda like Diablo 2, where one person can be in Act 1, and another person can be in Act 2....if the Act 1 character uses a WP and goes to Act 2, the engine is already running that Act and just plops the character in.
This is more of a theoretical...is it possible with the core TGE architecture right now? I don't doubt that it can be done(with C++ programming).
Thanks,
Jeff
Can the server run multiple missions at the same time? Or does it require multiple servers?
I would like to have a multiplayer RPG where one player can be doing something in one town(ie...one mission), and another player could be doing something in another town(eg...another mission)...but I want them to be able to chat with each other, maybe the one player can warp(portal) over the town where his buddy is...I understand that the client might need to load the sim(datablocks and such...and I can handle some sort of loading screen)...but can the server run both at the same time.
Think of it kinda like Diablo 2, where one person can be in Act 1, and another person can be in Act 2....if the Act 1 character uses a WP and goes to Act 2, the engine is already running that Act and just plops the character in.
This is more of a theoretical...is it possible with the core TGE architecture right now? I don't doubt that it can be done(with C++ programming).
Thanks,
Jeff
About the author
#2
10/24/2005 (12:10 pm)
Did you bother to search? This was discussed 2 weeks ago.
#3
10/24/2005 (12:16 pm)
Actually, it's things like this that I would have no idea what to search for... so I don't think you have any right to say that unless you provide him with a link to the topic.
#4
Plus, the search feature is mediocre at best, and needs to be improved upon. *HINT HINT to GG*
10/24/2005 (12:46 pm)
@Stefan Plus, the search feature is mediocre at best, and needs to be improved upon. *HINT HINT to GG*
#5
Actually the search function ain't that shabby. Just modify this topic a bit;
"Multiple missions one server"
would produce atleast some interesting hits.
10/24/2005 (1:26 pm)
Interesting topic, even more interesting content.Actually the search function ain't that shabby. Just modify this topic a bit;
"Multiple missions one server"
would produce atleast some interesting hits.
#6
It is Google...I'm not sure how we can improve upon the best search in the industry without changing our focus from game engines to search engines.
10/24/2005 (6:41 pm)
Andrew,It is Google...I'm not sure how we can improve upon the best search in the industry without changing our focus from game engines to search engines.
#7
10/24/2005 (7:42 pm)
I'd be interested in hearing how we could make a better search engine than Google as well :)
#8
Thanks.
=)
10/25/2005 (9:24 pm)
I'd be more interested in knowing if it'd be written in TorqueScript. Also, could I get a beta of the code?Thanks.
=)
#9
Spawn a different server instantiation for each of the missions you want running simultaneously. (Listening on different ports).
When a player hits a "transfer" point, use a trigger or related mechanism to:
A) tell the client the new port to connect to.
B) tell the client to "end" the current mission (will want to save off appropriate information--maybe position, current health, etc.)
C) have the client connect to the new port number as if it were a new mission.
The one thing this doesn't cover is a "cross-mission" chat system, but with the TGELobby irc client, you have the basis for cross-server chat implementation already in play, just need to adjust for your needs. An alternative is the "messaging" resource that showed up several months ago. While it wasn't designed specifically for cross-server chat, it certainly can be adjusted for that purpose.
10/26/2005 (8:46 am)
The best way to handle what the original poster asked (and this can be done stock):Spawn a different server instantiation for each of the missions you want running simultaneously. (Listening on different ports).
When a player hits a "transfer" point, use a trigger or related mechanism to:
A) tell the client the new port to connect to.
B) tell the client to "end" the current mission (will want to save off appropriate information--maybe position, current health, etc.)
C) have the client connect to the new port number as if it were a new mission.
The one thing this doesn't cover is a "cross-mission" chat system, but with the TGELobby irc client, you have the basis for cross-server chat implementation already in play, just need to adjust for your needs. An alternative is the "messaging" resource that showed up several months ago. While it wasn't designed specifically for cross-server chat, it certainly can be adjusted for that purpose.
#10
NO NO... by no means was i trying to say that it's a bad search engine... i just mean that it's not as well integrated into the GarageGames website as i'm pretty sure it could be. It's almost as if it's just the "Search this Site" code that Google provides for free, thrown onto the site. I'm sorry, i should have worded differently.
10/27/2005 (7:40 pm)
@Stephen and MattNO NO... by no means was i trying to say that it's a bad search engine... i just mean that it's not as well integrated into the GarageGames website as i'm pretty sure it could be. It's almost as if it's just the "Search this Site" code that Google provides for free, thrown onto the site. I'm sorry, i should have worded differently.
#11
@Stephen, after more research and thought, I figured that was probably the best way to handle mutliple missions, I had thought of doing something like what you explained. I would probably have to code a chat system that suited my needs directly...but I also haven't looked at the TGELobby system at all really...so that might work also.
My concern is how much it will impact the resources on the server if I am running, say....20 concurrent missions. I could probably wriggle it down to 5, but then that would put a TON of objects into each mission. My thought with having something like 20 is that, IF there are no players in one of those 20 smaller areas(missions), then the server could just shut it down until needed, in order to better handle resources.
11/22/2005 (7:30 am)
Thanks for the replies regarding how this could be done(sorry for the delayed response...I'm in Iraq right now...so I don't get to the net every day).@Stephen, after more research and thought, I figured that was probably the best way to handle mutliple missions, I had thought of doing something like what you explained. I would probably have to code a chat system that suited my needs directly...but I also haven't looked at the TGELobby system at all really...so that might work also.
My concern is how much it will impact the resources on the server if I am running, say....20 concurrent missions. I could probably wriggle it down to 5, but then that would put a TON of objects into each mission. My thought with having something like 20 is that, IF there are no players in one of those 20 smaller areas(missions), then the server could just shut it down until needed, in order to better handle resources.
Torque Owner David Dougher
Pariah Games
The other question about running multiple sessions on the same server is your connection to the GG master server which only allows a limited number of port connections. If you were to host your own master server as well you could then increase the number of ports you communicate through and run multiple dedicated missions from a single system.
So, I give you a qualified, yes you can.