Frequently Asked Questions

Most of the support questions we receive are specific to the applications that our customers are developing. However, here are a few questions that are common to many customers:

  License Management (back to top) (feedback)

Q: When I try to start <MÄK application>, I get the message, "Application not supported". What's wrong?
A: In general this means that you are trying to run an application for which you do not have a license.

Q: I just got a copy of your latest <MÄK application> release, but when I try to use it, I get a unlicensed product error. What's wrong?
A: It's possible that your maintenance agreement has expired. When you purchase a maintenance agreement, you are entitled to all updates for one year. After that, you must update the maintenance agreement to continue receiving product updates. Please contact your VT MÄK salesperson to see if you need to update your maintenance agreement. If you have this problem with VR-Forces 3.3-ngc for Windows, download this patch: ftp://ftp.mak.com/out/vrlink3.8-ngc-win32-vrf-vlutilDLL.zip Unzip vlutil.dll and put it in the bin5 and binRPR directories.

Q: When I try to start my VT MÄK program, I get a flexlm error that says Unsupported Platform. What does this mean?
A: You may have a license for this product, but it is not licensed on the platform on which you are trying to run it. For example, you have a license for VR-Link on SGI IRIX and you are trying to run a VR-Link application on Windows. You need to run the product on the licensed platform, buy a license for the new platform, or request a transfer of your license to the new platform.

Q: I am trying to run a VT MÄK program on SGI and I get the error: Cannot connect to license server (-15, 12:146) Connection Refused. What is the problem?
A: Some releases of SGI IRIX ship with a version of flexlm that is different from the one VT MÄK uses. One common symptom of this problem is that the license manager's LOG file will indicate that the server started without a problem, but then "lmstat" and "lmdown" give this error.

When running or querying VT MÄK's license server, you need to make sure that you are using the runLm, lmstat and lmdown commands that are in the MÄK "flexlm" directory, and not the ones in /usr/bin. This problem often happens when the license server is started or queried from the "root" account, which does not normally have the current directory (.) in its path. If you see this error on an SGI IRIX system, try typing the commands as "./lmstat" or "./lmdown" and see if they work.

Q: I ran the lmhostid program and it returned #ffffff. This isn't a valid host ID. What should I do?
A: This response to lmhostid usually means that your computer does not have an ethernet network card, or the card does not have a valid IP address assigned. If your server is a PC, we can create a license file for you using your disk serial number. To get the volume serial number:


  1. Change to the flexlm directory.
  2. Run lmtools.exe.
  3. Select the System Setting tab.
  4. In the Hostid Settings group box, look at the value for Disk Volume Serial Number.
  5. Send us this value instead of a host ID and let us know that it is a volume serial number.

Q: How do I transfer my license to a new server?
A: Send email to keys@mak.com and ask for a license transfer request form. We will send you the form. Fill out the form, sign it, and fax it to us. We will issue you a license file for the new server.

Q: Can flexlm use a specific port?
A: Using a port number with lmgrd can improve server startup speed

  1. Edit the SERVER line of the license file as follows:

    SERVER server_name host_ID port_number

  2. Set MAKLMGRD_liCENSE_FILE variable as follows:

    port_number@server_name

Q: Can I run FLEXlm as a service?
A: Yes. You can configure FLEXlm to run as a service on Windows. Here's how to set it up:

  1. Install the license management software and obtain a license.
  2. Run C:/flexlm/lmtools.exe.
  3. On the Service/License File tab, select the Configuration Using Services option.
  4. Select the Config Services tab.
  5. In the Service Name box, enter a name for the service.
  6. In the Path To The lmgrd.exe File box, enter the path of the directory where the lmgrd.exe file is located (for example, C:/flexlm), or use the Browse button to select the directory.
  7. In the Path To The License File box, enter the path of the directory where the license file is located (for example, C:/flexlm), or use the Browse button to select the directory.
  8. In the Path To The Debug Log File box, enter the path of the directory where you want FLEXlm to create the debug file, or use the Browse button to select a directory.
  9. Check the User Services check box. The Start Server At Power Up check box becomes enabled.
  10. Check the Start Server At Power Up check box.
  11. Click the Save Service button and click Yes at the prompt.
  12. Select the Start/Stop/Reread tab.
  13. Click Start Server.

View a video of this procedure

Application Platform Support (back to top) (feedback)

Q: Does <MÄK product> support <platform or operating systems>?
A: Check our Product Versions page for all platform, operating system, and compiler support information.

Installation Instructions (back to top) (feedback)

Q: How do I install a VT MÄK product?
A: The user's guide for your VT MÄK product contains complete installation instructions (usually in Chapter Two.) If you don't have a copy of the manual (for example, if you downloaded your software), here are the instructions for installing a VT MÄK product from

Q: Why am I having problems untarring a UNIX version of a MAK product?
A: When you untar an install package, be sure to use gtar (from GNU), not the default tar.

Q: Is it possible to install a MAK product on multiple Windows machines from a central location using the command-line, or control where the product is installed on various machines?

A: To create a silent install or command-line install:

  1. Manually install the application once using makRti2.4.2-win32-msvc++7.1-setup.exe. An installation configuration file is placed in the root directory of the installation folder. This file is named install.sss or <product_installer>uninstall.sss, (for example, makRti2.4.2-win32-msvc++7.1-uninstall.sss). The “.sss” file is a configuration file containing information such as install id, install directory, and environment variables. It is a text file and can be edited in a text editor.
  2. For a command line install:
    1. Put the installer (for example, makRti2.4.2-win32-msvc++7.1-setup.exe) and the corresponding .sss file in the same folder.
    2. Rename the .sss file the same as the installer (for example, makRti2.4.2-win32-msvc++7.1-setup.sss).
    3. From the command line, run:
          makRti2.4.2-win32-msvc++7.1-setup.exe –s
      The installer will perform a silent installation based on the configuration in the .sss file.
  3. For a centralized installation:
    1. Follow steps 1 and 2 from the command line install procedure.
    2. Write a batch file and store it in the folder that has the installer and .sss file.
    3. Run the batch file to install the product.
  4. To run an automatic or silent uninstall:
    In the root directory of the product installation, run:
       <product_installer> -s -u
    for example:
        makRti2.4.2-win32-msvc++7.1-setup.exe –s –u

General Questions (back to top) (feedback)

Q: Do you have any white papers about issues in simulation technology and standards?
A: Check our white papers page.

Q: Sometimes when I am working remotely and connected to the office through VPN, applications based on VR-Link do not work. What should I do?
A: This is because the VPN issues class B addresses, but VR-Link is failing to derive the broadcast address correctly. To force the proper address, set the DtNETMASK environment variable to 0xffff0000.

 

Online Help (back to top) (feedback)

Q: When I try to use online help for a VT MÄK product, the browser says it cannot find the file. What should I do?
A: Sometimes, when you install and uninstall multiple or successive instances of a VT MÄK product, settings for the Qt Assistant help browser do not get updated properly. To fix this, go to C:\Documents and Settings\UserName\.assistant, where UserName is your login name. Delete the contents in the ".assistant" folder. When you restart the application, on-line help should work.

MÄK VR-Link (back to top) (feedback)

Q: Is VR-Link thread-safe?
A: VR-Link is not thread-safe. However, it is possible to use VR-Link in multithreaded applications. You simply need to make sure that your VR-Link stuff is all in the same thread. So long as this is the case, VR-Link should work fine. The one case where the current version of VR-Link has problems is in applications where two completely independent threads both want to use VR-Link classes. With the current version, an application can only have one VR-Link thread! This limitation will be fixed in the next release.

However, there are no plans to make VR-Link fully thread safe! The reason for this is that we would need to put in a lot of locking for it to work. It would be more efficient for people to put in their own locks on top of their VR-Link code. This is what we do in our own applications here at VT MÄK.

One threading model which works very well is to have a main thread that does all the processing and a second thread that manages the exercise connection, reflected lists, publishers, and whatnot. With this model, locking is only necessary when you want to write and read data from the VR-Link thread.

MÄK RTI (back to top) (feedback)

Q: Have you done any performance benchmarking of the MÄK RTI?
A: The MÄK RTI is optimized for real time simulations. We have not done any benchmarking, but we've posted several white papers that compare some aspect of the MÄK RTI to other RTIs.

Q: Do you have any example federates that I can use to test the MÄK RTI?
A: The MÄK RTI includes an example of a simple federate that starts a federation and joins it. Read the readme.txt file in ./makRti2.x/examples/rtisimple for details.

Q: When I run the RTIspy LRC GUI with a VT MÄK product, both the RTI and the product crash. Why?
A: The version of Qt used to build the LRC GUI must match the version used to build the product you are running with. For a table of VT MÄK products and their Qt versions, go to the Build Compatibility Tables page.

Q: Do you have any example federates that I can use to test the MÄK RTI?
A: The MÄK RTI includes an example of a simple federate that starts a federation and joins it. Read the readme.txt file in ./makRti2.x/examples/rtisimple for details.

Q: Where can I get the RTI 1.3 and IEEE 1516 specifications?
A: The HLA 1.3 and IEEE 1516 specifications are copyrighted by their owners and VT MÄK cannot distribute them to customers. To obtain a copy of the 1516 specification, go to http://shop.ieee.org/store/. For the HLA 1.3 specification, contact HLA@dmso.mil..

Q: Why does the RTI have problems when running two separate federations and RTI Execs on a single network?  Why do federates sometimes discover objects or receive messages from the other federation?  Shouldn't using two RTI Execs resolve these issues?
A: The MAK RTI supports running multiple federations on the same LAN.  However, there are some configuration issues that you must keep in mind.  There are 2 basic configurations that make this work:

  1. (Recommended for optimal performance and to support multiple RTI versions on the same network)

    For each federation choose a different Port and multicast address:
    (setqb RTI_udpPort 4000)
    (setqb RTI_destAddrString "229.7.7.7")

    If using multicast discovery, also choose a different multicast discovery port:
    (setqb RTI_mcastDiscoveryPort 4001)

    Using this method is optimal since all filtering of messages by federation will happen at the network hardware and kernel level rather than at the RTI application level.

  2. (Recommended for easier configuration)
    Run only a single RTI Exec for both federations.  A single RTI Exec instance can handle multiple federations.  As long as a single RTI Exec is used, the MAK RTI is able to filter messages according to federation.  The problems addressed by the question are due to running multiple federations on the same network with different RTI Execs.

    No additional RID configuration is required.  However, as an optimization when using Reliable transport for internal messages, users may choose to select different multicast addresses for best-effort traffic for each federation.

    (setqb RTI_destAddrString "229.7.7.7")

    This solution will only work if ALL federates and the RTI Exec are using the same MAK RTI version.



VR-Forces (back to top) (feedback)

Q: I tried to build one of the examples in VR-Forces and got a linking error. What should I do?
A:Each release of VR-Forces is linked with a particular version of MAK VR-Link. When you build an example or your own application, you must link to the correct version of VR-Link. See the release notes or the Product Versions page for a listing of the correct versions of VR-Link (and the MAK RTI) to link to..

Q: Why don't my entities move at the speed that I tell them to use?
A: The maximum speed for an entity is specified by the max-speed parameter. The default speed for an entity is specified by the ordered-speed parameter. You can override the ordered speed with a Set Speed command. The nominal speed for an entity is the ordered speed. However, the actual speed is affected by the soil type and the slope. The entity parameters database lists the soil types for each entity type and their effect on speed. If the soil type is not defined in the terrain database, VR-Forces uses the soil type DtHardPacked, which has a speed factor of .72. Because of the effect of soil type and slope, an entity will rarely move at its actual ordered speed or maximum speed.

Q: I recorded an exercise using the MÄK Logger, but when I play it back I don't see any entities? What's wrong?
A: To view a Logger recording of a VR-Forces exercise, start VR-Forces with an application number other than the one that was used when you recorded the exercise. Start VR-Forces with the -a startup option and give it an application number in the range 3000 to 4000. The default application number is 3001. The best way to do this is when you run the exercise that you want to record, use an application number that is different from the one you usually start up with. Then, you can always run the Logger recording with your default configuration.

Q: How can I simulate a friendly forces entity, such as an F-16, as an opposing forces entity?
A: If you want an entity type to "switch sides", you need to add an entry to the vrf.ent file and you need to add an entry to the entity parameters database. Here's how:

  1. Open up the vrf.ent file. Find the following entry:
    ;;-Fixed Wing ********************************
    ;;----ForceFriendly

    (entity-menu-item
    (label "F-16A Fighting Falcon")
    (entity-type 1 2 225 1 3 1 0)
    (entity-class-type "fixed-wing-entity")
    (force-type ForceFriendly)


  2. Change the force-type to ForceOpposing. If you now start VR-Forces and create an F16, you will see that it has an opposing force icon and the label reads Force 2. However, if you create some other entities for both forces, you will find that it will still shoot at Force 2 entities. You need to edit the .ope file for this entity also (.\vrfSim\US-fighter-air-defense-fixed-wing-platform_1_1_2_225_1_-1_-1_-1.ope).


  3. Open .\vrfSim\US-fighter-air-defense-fixed-wing-platform_1_1_2_225_1_-1_-1_-1.ope. Scroll down through the file until you find the target detection sensor:
    (tgt-detect-sensor
    (component-descriptor-type "target-detect-sensor-descriptor")
    (component-type "target-detect-sensor")
    (attached-to-list )
    (min-tick-period -1.000000)
    (min-tick-period-variance -1.000000)
    (process-state-repository-name "")
    (process-state-repository-type "")
    (sensor-range 27000.000000)
    (detection-period 1.000000)
    (hostile-forces 2)
    (detect-offset 3.000000 0.000000 0.000000)


  4. Change the hostile-forces parameter to 1. Now the F16 will shoot at Force 1 (friendly entities.)

Q: I need to migrate to the current release of VR-Forces. Do you have any migration guides to help me?
A:The VR-Forces Migration Guide is in the /doc directory of your version of VR-Forces.

Q: When I start VR-Forces in combined mode, the menus in the GUI are unavailable and I can't create any entities or objects. What is wrong?

A: Make sure that the back-end is running. If it is, you may be seeing an occassional problem in which a Windows PC cannot see the packets that it is sending. This has the side effect of preventing the VR-Forces front-end from talking with the back-end.

To test this, please try the following steps:

  1. Open a DOS console and cd to the VR-Forces bin5 directory.


  2. Run `vrfMsgDump -P 3838` and wait for about 20 seconds. After it starts up you should see no further output after the "using MAK Technologies VR-Link" line. If you see additional output, please modify the -P option to use a port which isn't in use on your network.


  3. Run `vrfSim -P 3838`, or if you've changed the port number use the new # with the -P option. At this point you should see a data interaction being printed in the vrfMsgDump window every five seconds.

If you're not seeing these updates, your system has the problem described above. We don't know why it happens, but the fix is pretty easy. Go into the hardware manager, delete your NIC, reboot and allow Windows to reconfigure it.

If you are seeing the updates, from the same DOS window run `vrfGui -C -Z` and send the vrfGui.log and vrfSim.log that it generates to MAK Support.

Q: I am building the examples and having trouble running them. What should I do?

A: Set the working directory to the location of the executable for each example before you debug it. For example, for simpleCGF5, the working directory should be something like c:\mak\vrf3.8\bin5.

Q. Can I load my own point features in the 3D Front End and display them? Do you have any more documentation about the display of point features?

A. There are several ways to map point features to models for display in the 3D Front End. Please read pointfeatures.pdf.

Q. Do you have any VR-Forces tutorials?

A. Appendix A in VR-Forces User's Guide has two tutorials that show how to create scenarios. You can also view video tutorials.


B-HAVE Module for VR-Forces (back to top) (feedback)

Q. I installed the B-HAVE Module 1.0.1, but the B-HAVE menu does not show up in VR-Forces. What is wrong?

A. If you installed the MS VC++ 8.0 version, you must install the Visual Studio 5 SP 1 redistributable file. You can get it at ftp://ftp.mak.com/out/vcredist_x86.zip.

Q. Do you have any B-HAVE tutorials?

A. B-HAVE Users's Guide has a tutorial for generating PathData. You can view short videos of the most important parts of the tutorial.


Data Logger (back to top) (feedback)

Q: How can I run the Logger without displaying a GUI?

A: You can hide the GUI by editing lgrConfig.xml as follows:

Around line 125 of the default lgrConfig.xml is the following:

<command domain="System" protocol="None" command="LoadPlugin">
  <param name="pluginName" var="protocolGuiLibrary"></param>
</command>

To disable the GUI, either comment out or remove those three lines, for example:

<!-- <command domain="System" protocol="None" command="LoadPlugin">
       <param name="pluginName" var="protocolGuiLibrary"></param>
    </command> -->

This will result in a warning message being printed during startup, "Unable to get GUI." once or twice depending on your setup. These warnings are normal and can be ignored.


Stealth (back to top) (feedback)

Q. How large a database can I load in the Stealth? Do you support terrain paging?

A. The Stealth tries to load standard OpenFlight databases entirely into memory. So, you are constrained to terrains that will fit into RAM and into the process size limits of your OS (on Windows, the maximum process size is 2 GB).

You can also load MetaFlight (MFT) terrains. MetaFlight is an XML metafile that sits "on top" of OpenFlight tiles. It describes the relative positions of its geometry and image tiles, the projection and origin of the terrain, and the tile switch distances.

LADBM (Large Area DataBase Management) is a system for paging terrain tiles specified in a MetaFlight file.

To create an MFT terrain, developers usually use a terrain tool such as CTS to create the MFT directly. Once you have the MFT file, loading it into Stealth is straightforward. In Stealth 5.4, just specify the MFT from the command line. Earlier versions of the Stealth let you set up MFT from stealth's default.acf file, but this configuration requires several steps, so we recommend using the -mft cmd line option.

Q. What models come with the Stealth?

A. The models we provide are illustrated in section 11.6 of MÄK Stealth User's Guide and in stealthmodels.pdf.

Q. Can I load my own point features in the Stealth and display them? Do you have any more documentation about the display of point features?

A. There are several ways to map point features to models for display in the Stealth. Please read pointfeatures.pdf.

 


vpNet (back to top) (feedback)

Q. How do I get DI-Guy to work with vpNet?

A. The most recent versions of DI-Guy have improved integration with vpNet. We recommend using a version more recent than 5.2. Refer to Networking DI-Guy using vpNet in the DI-Guy manual. It describes using vpNet for DIS. To use it for HLA:

  1. Use Create Instance to create a vpNetHLAConnection.
  2. On the myNetHLAConnection page, select ?myscene? in the ?Specify Scene:? edit box.
  3. Use Create Instance to create a NetModelMapper. Make it the child of the HLA Connection by dragging it in the Instances Tree.
  4. Use Create Instance to create a DIGuyCharacter (for use as a template), add it to the modelmapper.
  5. In the myNetHLAConnection page, set the coordinate system to match the terrain in VR-Forces.

Q. Why do I see two models for remote entities when I try to use the vpDiGuy module?

A. vpDiGuy contains its own list of model mappings for remote entities.  These model mappings work independently from the mappings defined within a NetModelMapper. To hide vpDiGuy's mappings, modify the DiGuy mappings in %DIGUY%/config\diguy\scenario like so:

map incoming
      entry = -1 -1 -1 -1 -1 -1 -1 = none none

Q. I set my UTM coordinate origin in LynxPrime. Why aren't my entities displayed in the right place?

A. When using vpDiGuy and vpNet together, a bug prevents the UTM origin from being set correctly.  Resetting the coordinate system works around the problem.  To reset the coordinate conversions, turn off coordinate conversions and then turn them on again after starting active preview.

Q. Can I use vpDiGuy with Stealth?

A. Yes.  To get started, please contact either VT MÄK or BDI to obtain the "vpDiGuy module for MÄK Stealth" installer. The installer will configure the MÄK Stealth to use DiGuy soldiers for lifeforms.  (A valid license from BDI is needed to view the models!).
After installing the module, additional vpDiGuy characters can be mapped to other lifeform types using the NetModelMapper from stealth's default.acf.


Spearhead (back to top) (feedback)

Q: I have the Spearhead game and I am having trouble <doing something> with it. Can you help me?
A: VT MÄK developed Spearhead for Interactive Magic. Interactive Magic has gone out of business. Their catalog was acquired by Ubisoft, www.ubisoft.com. We are sorry, but we are unable to provide support for this product.


MaK Engines (back to top) (feedback)


Q: Can you give us information about the MaK Diesel Engine or MaK 601C engine?
A: We are sorry, but you have contacted the wrong MaK Technologies. Please try http://www.mak-global.com/.


Feedback (back to top)

Did you find an answer for your question? Did the answer help? If not, please email us at