Using the Torque Master Server
by DavidRM · in Torque Game Engine · 03/29/2002 (12:49 pm) · 8 replies
I noticed recently that Torque's master server supports filtering and region masks so that we can have "pseudo-private", per-project server listings. So far, however, my experiments at getting this to work have failed.
I've tweaked the settings in server "defaults.cs" and client "default.cs", as well as joinServerGui.gui. But I can't seem to get the query to list my servers.
I searched the resources and forums, but couldn't find anything on this.
Any additional information on this would be appreciated.
-David
Samu Games
I've tweaked the settings in server "defaults.cs" and client "default.cs", as well as joinServerGui.gui. But I can't seem to get the query to list my servers.
I searched the resources and forums, but couldn't find anything on this.
Any additional information on this would be appreciated.
-David
Samu Games
#3
fps/server/defaults.cs
you will see
$Pref::Server::RegionMask = 2;
$pref::Master[0] = "2:master.garagegames.com:28002";
$Pref::Server::RegionMask is the Region you want to search for a master server in.
The garagegames server is declared as a region 2 server.
You could have something like this:
$pref::Master[0] = "2:master.garagegames.com:28002";
$pref::Master[1] = "3:master.someplace.com:28002";
$pref::Master[2] = "4:master.anotherplace.com:28002";
It would only check the garagegames master because thats the region you have it declared in.
Note: This is to my understanding how this works. I haven't dont extensive search into the source code too make sure though.
-Tim aka Spock
03/29/2002 (3:08 pm)
If you look infps/server/defaults.cs
you will see
$Pref::Server::RegionMask = 2;
$pref::Master[0] = "2:master.garagegames.com:28002";
$Pref::Server::RegionMask is the Region you want to search for a master server in.
The garagegames server is declared as a region 2 server.
You could have something like this:
$pref::Master[0] = "2:master.garagegames.com:28002";
$pref::Master[1] = "3:master.someplace.com:28002";
$pref::Master[2] = "4:master.anotherplace.com:28002";
It would only check the garagegames master because thats the region you have it declared in.
Note: This is to my understanding how this works. I haven't dont extensive search into the source code too make sure though.
-Tim aka Spock
#4
I was hoping to use RegionMask as a further "isolation factor"...but I guess that's not going to work. What I was thinking was that RegionMask could be reported to the master server, and then queried on.
It just bugs me that our test servers are visible to someone using "Any" on both GameType and MissionType. I guess it'll do for now, though.
Thanks again for your help.
-David
Samu Games
03/29/2002 (3:57 pm)
OK. Thanks for the details.I was hoping to use RegionMask as a further "isolation factor"...but I guess that's not going to work. What I was thinking was that RegionMask could be reported to the master server, and then queried on.
It just bugs me that our test servers are visible to someone using "Any" on both GameType and MissionType. I guess it'll do for now, though.
Thanks again for your help.
-David
Samu Games
#5
-Tim aka Spock
03/29/2002 (4:18 pm)
You might can use your own version number. I know they cant join the ones that are of a different version but I'm not sure if it shows up on the master server or not.-Tim aka Spock
#6
2. if you're on a local network, you can disable the master server stuff completely and still see local servers (if I remember correctly).
3. you (or someone) can always write your own master server in maybe an hour or two. I did for working on GameSpy support for Dark Vengeance, so that we didn't need to use the GS 'test' masters even in testing out the master server support. it isn't rocket science, especially as you've got the Torque code and can see what packets are coming and going and what you need to implement. little std-c app.
d
03/29/2002 (9:26 pm)
1. yeah, use a different network version number. like 1.2. if you're on a local network, you can disable the master server stuff completely and still see local servers (if I remember correctly).
3. you (or someone) can always write your own master server in maybe an hour or two. I did for working on GameSpy support for Dark Vengeance, so that we didn't need to use the GS 'test' masters even in testing out the master server support. it isn't rocket science, especially as you've got the Torque code and can see what packets are coming and going and what you need to implement. little std-c app.
d
#7
04/18/2006 (7:27 am)
Is this infromation still correct?
#8
04/18/2006 (8:19 pm)
I can only assume so
Associate Tim Newell
Max Gaming Technologies
in example/common/server/game.cs:
$Server::GameType = "Test App";
$Server::MissionType = "Deathmatch";
$Server::GameType will tell the master server what type of game that can join this server.
$Server::MissionType will tell the master server what type of mission the client should be running to join.
in example/fps/client/init.cs:
$Client::GameTypeQuery = "Test App";
$Client::MissionTypeQuery = "Any";
$Client::GameTypeQuery tells the masterserver what kind of servers it is looking for and to only display those.
$Client::MissionTypeQuery tell the master server what type of missions it is looking for....it is defaulted to "Any" so you can join any server.
You might also want to search to make sure these variables are not overrided elsewhere.
-Tim aka Spock