anchor.diff:  
       gLog.AddTime('Gameplay recording initialized', True);
   
  -    if fGameMode in [gmMulti, gmMultiSpectate] then
  +    if IsMultiPlayerOrSpec then
         MultiplayerRig(True);
   
       //some late operations for parser (f.e. ProcessAttackPositions, which should be done after MultiplayerRig)
  
positive.code: 
      fLastReplayTick := fGameTick;
  
      if (fGameMode in [gmMulti, gmMultiSpectate]) then
        fNetworking.LastProcessedTick := fGameTick;
  
      //Tell the master server about our game on the specific tick (host only)
      if (fGameMode in [gmMulti, gmMultiSpectate]) and fNetworking.IsHost
        and ((IsNormalMission and (fGameTick = ANNOUNCE_BUILD_MAP))
        or (IsTactic and (fGameTick = ANNOUNCE_BATTLE_MAP))) then
      fNetworking.ServerQuery.SendMapInfo(fGameName, fGameMapFullCRC, fNetworking.NetPlayers.GetConnectedCount);
  
negative.code: 
  function TKMGame.IsMPGameSpeedChangeAllowed: Boolean;
  begin
    Result := IsMultiPlayerOrSpec
          and (fNetworking.NetPlayers.GetNotDroppedCount = 1);
  end;
  
  