Author Topic: V15 Bug: "Waiting for Server"  (Read 752 times)

Badspot

  • Administrator
There is an intermittent bug where when you join a server the loading screen appears but the loading bar just stops at "Waiting for server".  

This seems to be caused by the server just not properly going through the connection process.  Specifically it does not send the 'MissionStartPhase1' command to client.  This may be caused by modifying GameConnection::loadMission - are there any add-ons that do this?

Has anyone had this happen to them?  Has anyone had it happen on my server?  I tend to think everything is caused by an add-on but I joined my server 20+ times in a row with no problems where on some servers this problem occurs every other connection attempt.  
« Last Edit: June 02, 2010, 12:41:48 PM by Badspot »

Doesn't RTB add the extra download add-ons portion to the mission load?

Can't say I've ever had this problem.
EDIT: Somebody joined my server a few second ago and said the load was stuck on this, I have no idea why though.
I don't think I'm running any add-ons that could cause a problem like this.
« Last Edit: June 02, 2010, 11:49:35 AM by Liquid »

No, can't say I've seen anything like this.

If this is at all relative, I'm also experiencing the issue where, if I let blockland sit for a little while, and try to load the server list, they will all appear as being dead, and not allow me to join any.  This was happening in v13, but never in v14.

This may be caused by modifying GameConnection::loadMission - are there any add-ons that do this?

Doesn't RTB add the extra download add-ons portion to the mission load?

Yes, RTB does. Here is the code that is used to overwrite it:

Code: [Select]
package RTBS_ContentDownload
{
   function GameConnection::loadMission(%this)
   {
      if(%this.isAIControlled())
      {
         Parent::loadMission(%this);
      }
      else
      {
         if(%this.hasRTB && %this.rtbVersion > 3.3)
         {
            %this.currentPhase = -1;
            if(getWordCount(RTBSD_getModList()) >= 2 && findLocalClient() !$= %this)
            {
               %this.currentPreparePhase = 0;
               commandToClient(%this,'MissionPreparePhase1');
            }
            else
            {
               %this.currentPreparePhase = 1;
               commandToClient(%this,'MissionPreparePhase2',RTBRT_getControlCRC(),RTBRT_GUIManifest.getCount(),RTBRT_GUIManifest.elements);
            }
            echo("*** Sending mission load to client: " @ $Server::MissionFile);
         }
         else
            Parent::loadMission(%this);
      }
   }
};
activatePackage(RTBS_ContentDownload);

Check RTB client code for MissionPreparePhase1 and 2. Maybe they doesn't do it correctly.

Badspot

  • Administrator
It's RTB.  Found the fix and sent it to Ephi.