Master Server Problem
by Nick Merrill · in Torque Game Engine · 06/26/2004 (7:19 pm) · 20 replies
Alright, so I have a realmwars build here. Pretty much the straight dope, with an addition to make terrain stop repeating. That's it. I set up a dedicated server, and have it look for the master, which it does just fine. My master server is the PERL MS (which I highly reccomend). The dedicated server sends the heartbeat, the master server receives the heartbeat. So that's good, but when I fire up the .exe aned go to query the master, nothing happens. All components are on my PC. Any ideas? Thanks. :)
About the author
#2
06/27/2004 (9:51 am)
Hm, how might I do that?
#3
For the latter, find the code that deals with server queries (probably in engine/game/net) and start putting Con::printf's in various places, then start checking the console log to see what's going on.
06/27/2004 (10:21 am)
For the former, a quick google or freshmeat search should get you to the right place.For the latter, find the code that deals with server queries (probably in engine/game/net) and start putting Con::printf's in various places, then start checking the console log to see what's going on.
#4
06/27/2004 (8:14 pm)
Well after that tip (sorry for being such a newbie) it seems that it isn't querying the master correctly. Vauge, I know. More specifically, when I query the master, nothin' happens. What could be causing that?
#5
06/27/2004 (9:49 pm)
Got the game strings matched up? Querying for the right versions and all? I'd compare the data the server is sending the master with the data the client is querying the master with.
#6
$Pref::Server::Port = 28000;
Check that and see if you have a problem there. If not, let us now and we can examine some other problem possibilities.
06/27/2004 (11:49 pm)
Make sure your port is set correctly. Somehow a long while back my port pref got deleted and was not being saved in the prefs export, took me a few days to figure ou the reason I couldn't see my own LAN or see myself on the master was because I had no$Pref::Server::Port = 28000;
Check that and see if you have a problem there. If not, let us now and we can examine some other problem possibilities.
#7
@ Ben: Ok, being a newbie still... how would I do that? Sorry :P Thanks again all :)
06/28/2004 (9:22 am)
I seem to have the $Pref::ServerPort=7777 (I'm using the PERL MS).@ Ben: Ok, being a newbie still... how would I do that? Sorry :P Thanks again all :)
#8
06/28/2004 (10:42 am)
Nick: I'd add some printf's, like I said above.
#9
06/28/2004 (3:42 pm)
I did, and the whole problem is that, for whatever reason, the client cannot query the master.
#10
06/28/2004 (4:06 pm)
So what are the printf's showing you?
#11
06/28/2004 (4:24 pm)
Nothing, tha'ts the thing. I have a printf that tells me when the client queries the server. When the client should query the server, though (when I click the query server button), it doesn't output anything.
#12
06/29/2004 (12:15 am)
Need more printfs! On client, and master, to see if packets are sent/received. If need to turn on trace() in the console to see what script calls are going on.
#13
06/29/2004 (8:04 am)
Ok, thanks, will do :)
#14
[truncated]
rw/client/ui/joinServer.gui (331): :: queryMasterServer - wrong number of arguments.
[/truncated]
Could that be the problem? Do you want the whole readout of what it says when I hit "query master?"
Thanks.
06/29/2004 (8:14 am)
Ok, did that. Confermed that the problem is with querying the master server. Here's what I get when trace is on[truncated]
rw/client/ui/joinServer.gui (331): :: queryMasterServer - wrong number of arguments.
[/truncated]
Could that be the problem? Do you want the whole readout of what it says when I hit "query master?"
Thanks.
#15
07/01/2004 (7:58 am)
That would indeed break it. If you pass the wrong number of arguments the method won't be called!
#16
Too many? Too few? What should I add/remove?
And thanks for your infinate help. You have no idea how much hair I would have removed from my scalp out of frustration were you not there to help me out :)
07/01/2004 (9:23 am)
Yeah, my inferior newbie brain figured that out after I reread my reply. Let me copy + paste from joinServerGUI.guifunction JoinServerGui::query(%this)
{
echo("query master");
queryMasterServer(
7777, // lanPort for local queries
0, // Query flags
$Client::GameTypeQuery, // gameTypes
$Client::MissionTypeQuery, // missionType
0, // minPlayers
100, // maxPlayers
0, // maxBots
2, // regionMask
0, // maxPing
100, // minCPU
0 // filterFlags, current version
);
}Too many? Too few? What should I add/remove?
And thanks for your infinate help. You have no idea how much hair I would have removed from my scalp out of frustration were you not there to help me out :)
#17
07/01/2004 (9:21 pm)
Check the definition of queryMasterServer in engine/game/net/serverQuery.cc.
#18
07/01/2004 (10:14 pm)
Great. Ok, so there I see U8 buddyCount, U32* buddyList, which don't appear above. I also don't see a "lanPort for local queries" in the definition. Should I kill Buddy count and Buddy List? What should I do about the lanPort thing? Thanks, and sorry for my newbishness :)
#19
01/19/2005 (9:28 am)
I'm a bit confused.. you have a master server that is not dependent on GG?
Associate Kyle Carter