Game Development Community

Server crash %client.loadmission = unkown command

by Flybynight Studios · in Torque Game Engine · 08/13/2006 (12:12 am) · 4 replies

In the clientconnection.cs you have the ::onconnect for a client hitting a server..

This is what I get in my console...

*** LOADING MISSION: bin/objects/missions/stronghold.mis
*** Stage 1 load
bin/scripts/missionLoad.cs (23): Unable to find function clearCenterPrintAll
bin/scripts/missionLoad.cs (24): Unable to find function clearBottomPrintAll
*** Stage 2 load
Executing bin/objects/missions/stronghold.mis.
*** Mission loaded
Engine initialized...
No master servers found
Got Connect challenge Request from IP:192.168.1.85:6100
Got Connect Request
Connect request from: IP:192.168.1.85:6100
in the onconnect
CADD: 1141 IP:192.168.1.85:6100
----------------yak1----------------
bin/scripts/clientConnection.cs (109): Unknown command loadMission.
  Object (1141) GameConnection -> NetConnection -> SimGroup -> SimSet -> SimObject
----------------yak2----------------

The 'yak1' etc lines are just for hilighting the issue.. here is the YAK lines in clientconnect.cs

// If the mission is running, go ahead download it to the client
   if ($missionRunning)
	echo("----------------yak1----------------");
      %client.loadMission();
	echo("----------------yak2----------------");      
   $Server::PlayerCount++;
}

my client connect is 100% stock for this experiement..

The loadmission executes from the console just fine.. there is somethign abotu the way its being called by %client.loadmission();

Any help would be a huge blessing.

Mark

#1
08/13/2006 (12:27 am)
Looks like you're missing some script files. Maybe they are not present, not being executed, or they contain an error which is stopping them from compiling.

Taking a cursory scan of your console report, I would suggest the following scripts fall into the above category:
server\scripts\centerPrint.cs
common\server\missionDownload.cs

Possible more, depends on what you have done. It looks like you've done some restructuring and moving around; obviously you left some stuff out or made some errors in the process.

- Tim
#2
08/13/2006 (9:08 am)
I have veyr much so customized my client and my server Tim. But running the 1.3 executables these platforms run excellently.. I just spent the last 2 months converting frmo 1.3 to 1.4

With the 1.3 executeable my game runs like a champion with the same script files.. MissionDownload is definitely being loaded and as I said, loadmission runs like a champ from the console.. It's how the function is being called thats screwing it up..

The whole %client.loadmission is the problem.. Loadmission itself works fine.

Any thoughts?
#3
08/13/2006 (9:23 am)
Well, 1.4 has a completely restructured common / editor folder setup than 1.3. I believe this is what's causing you an issue.

You say running loadMission(); from the console works fine. I bet it does, that function (in 1.4) is defined within:

common\server\missionLoad.cs
function loadMission( %missionName, %isFirstMission ) 
{
   endMission();
   echo("*** LOADING MISSION: " @ %missionName);
   echo("*** Stage 1 load");

   // Reset all of these
   clearCenterPrintAll();
   clearBottomPrintAll();
...
...

The crucial function that you must be missing is in fact:
common\server\missionDownload.cs
function GameConnection::loadMission(%this)
{
   // Send over the information that will display the server info
   // when we learn it got there, we'll send the data blocks
   %this.currentPhase = 0;
   if (%this.isAIControlled())
   {
      // Cut to the chase...
      %this.onClientEnterGame();
   }
   else
   {
      commandToClient(%this, 'MissionStartPhase1', $missionSequence,
         $Server::MissionFile, MissionGroup.musicTrack);
      echo("*** Sending mission load to client: " @ $Server::MissionFile);
   }
}

This is the function that gets called with %client.loadmission();

So, make sure that script is in your directory structure and is being compiled.
#4
08/13/2006 (6:35 pm)
Yes Tim you nailed it.

Thanks mate. Appreciate the steer on this one. LoL so many dang files named the same and close to the same =).

Anyways It's up and running now =)

Gratzie