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
- Application platform support
- Installation instructions
- General questions about VT MÄK and simulation technology
- Online help issues
- VR-Link
- MÄK RTI
- VR-Forces
- B-HAVE Module for VR-Forces
- Data Logger
- Stealth
- vpNet
- Spearhead
- An explanation of MÄK Lisp (MTL) syntax
- MaK Engines
License Management (back to top) (feedback)
- How do I install the license server and license file?
- When I try to start <MÄK application>, I get the message, "Application not supported". What's wrong?
- I just got a copy of your latest <MÄK application> release, but when I try to use it, I get an unlicensed product error. What's wrong?
- When I try to start my VT MÄK program, I get a flexlm error that says Unsupported Platform. What does this mean?
- 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?
- I ran the lmhostid program and it returned #ffffff. This isn't a valid host ID. What should I do?
- How do I transfer my license to a new server.
- Can flexlm use a specific port?
- Can I run FLEXlm as a service? (start automatically when the computer starts)
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:
- Change to the flexlm directory.
- Run lmtools.exe.
- Select the System Setting tab.
- In the Hostid Settings group box, look at the value for Disk Volume Serial Number.
- 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
- Edit the SERVER line of the license file as follows:
SERVER server_name host_ID port_number
- 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:
- Install the license management software and obtain a license.
- Run C:/flexlm/lmtools.exe.
- On the Service/License File tab, select the Configuration Using Services option.
- Select the Config Services tab.
- In the Service Name box, enter a name for the service.
- 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.
- 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.
- 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.
- Check the User Services check box. The Start Server At Power Up check box becomes enabled.
- Check the Start Server At Power Up check box.
- Click the Save Service button and click Yes at the prompt.
- Select the Start/Stop/Reread tab.
- 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)
- How do I install a VT MAK product?
- Why am I having problems untarring a UNIX version of a MAK product?
- Is it possible to install a VT MAK product on multiple Windows machines from a central location using the command-line, or control where the product is installed on various machines?
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
- CD or from
a downloaded file.
Alternatively, download the VT MÄK Software Installation Guide (a generic version of the installation instructions in each manual.)
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:
- 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.
- For a command line install:
- Put the installer (for example, makRti2.4.2-win32-msvc++7.1-setup.exe) and the corresponding .sss file in the same folder.
- Rename the .sss file the same as the installer (for example, makRti2.4.2-win32-msvc++7.1-setup.sss).
- 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.
- For a centralized installation:
- Follow steps 1 and 2 from the command line install procedure.
- Write a batch file and store it in the folder that has the installer and .sss file.
- Run the batch file to install the product.
- 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?
Q: When I run the RTIspy LRC GUI with a VT MÄK product, both the RTI and the
product crash. Why?
Q: Where can I get the RTI 1.3 and IEEE 1516 specifications? 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?
Q: I tried to build one of
the examples in VR-Forces and got a linking error. What should I do?
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.
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.
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..
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:
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.
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)
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:
- 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) - 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).
- 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) - 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:
- Open a DOS console and cd to the VR-Forces bin5 directory.
- 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.
- 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.
Q. I have an if-then-else condition in a plan, but VR-Forces does not respond to the condition, even though I know it is true. Why not??
A. Sometimes when an if condition does not seem to work, it is because it is used to test a condition that would be better tested with a when condition. An if condition gets executed at the moment it is reached in the plan. If you are testing for a transient condition, such as receipt of a message from another entity, the condition will almost always be false, because the transient condition would have to occur exactly when the if condition was evaluated. This would almost never be the case.
Use if conditions to test conditions that are relatively stable over seconds or minutes of time and which you have reason to believe will be useful to evaluate at the point in the plan that the entity is likely to execute them. Use when conditions if you want the entity to respond to a particular event, if and when it becomes true, but you have no idea when that event will take place.
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)
- How do I get DI-Guy to work with vpNet?
- Why do I see two models for remote entities when I try to use the vpDiGuy module?
- I set my UTM coordinate origin in LynxPrime. Why aren't my entities displayed in the right place?
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:
- Use Create Instance to create a vpNetHLAConnection.
- On the myNetHLAConnection page, select ?myscene? in the ?Specify Scene:? edit box.
- Use Create Instance to create a NetModelMapper. Make it the child of the HLA Connection by dragging it in the Instances Tree.
- Use Create Instance to create a DIGuyCharacter (for use as a template), add it to the modelmapper.
- 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

