Client Troubleshooting

From Multiverse

Jump to: navigation, search

Contents

Installation issues

Sometimes, to correct a problem it may be necessary to uninstall and reinstall the Multiverse Client (for example, if some downloaded files were corrupted). To do this, use Windows Control Panel | Add or Remove Programs. Then, delete the client folder manually to remove any remaining files. This folder is your "My Documents" folder, generally C:\Documents and Settings\username\My Documents\Multiverse World Browser on Windows XP and C:\Users\username\Documents\Multiverse World Browser on Windows Vista.

Although this will require you to re-download all media assets, it ensures that you start from scratch when you reinstall.

Unable to install client

The client installer is just a bootstrapper, which then fetches any files that are required to install dependencies. If a firewall or other software prevents you from downloading these files, the error messages may be confusing. One likely error message is that the system is unable to access the DirectX files.

Check these things first

If you are encountering problems with the Multiverse Client, first check that you have a supported graphics card and updated driver, and have installed DirectX as part of the Client installation.

Make sure you have the required graphics hardware

Make sure you have a graphics card that is DirectX 9 compatible. It must have pixel shader 2.0 and vertex shader capabilities with 128 MB of texture memory.

See Supported Graphics Cards for for a list of supported graphics cards.

To determine what graphics card you have (Windows XP):

  1. Right-click on the desktop and choose Properties.
  2. Click the Settings tab.
  3. The Display field will show the graphics controller.

Make sure you have the latest graphics drivers installed

To determine what driver you have installed (Windows XP):

  1. Click "Start".
  2. Right-click on My Computer and select Properties.
  3. Click the Hardware tab.
  4. Click the Device Manager button.
  5. Click on the + icon that appears in front of the Display adapters icon to expand this section.
  6. Double-click on either the icon or name of the first display adapter that is listed in this section.
  7. Click the Driver tab.
  8. The graphics driver version string, such as "6.13.01.4670", will be shown as the Driver Version
  9. Go to the manufacturer's website. It should tell you what the latest driver is; if you don't have the latest version, then install it and try again.

Graphics hardware manufacturers:

Make sure you install DirectX

Even if you already have DirectX installed, you must not skip the DirectX installation during the client install, because Multiverse uses Managed DirectX. Skipping the DirectX installation will cause the client not to work properly.

Examine Client log file

Examining Client log files is often useful in troubleshooting. Log files are:

  • MultiverseClient.log - The full log file, containing all logged information. This file may become very large.
  • Exception.log - Contains only errors and exception stack traces.
  • media_patcher.log - Contains information related to updating media assets.
  • ScriptDeprecated.log - Contains log information about calls to deprecated script APIs.

The client saves a log files to the Logs directory in the user's "My Documents" folder, generally C:\Documents and Settings\username\My Documents\Multiverse World Browser on Windows XP and C:\Users\username\Documents\Multiverse World Browser on Windows Vista.

See also Using the Client Log File.

Problems running the client

Unable to load one or more of the required types

If you see the following error:

Unable to load one or more of the required types. Retrieve the LoaderExceptions property 
for more information.

Re-run the installer and be sure to select the option to Install DirectX 9.0. You must do this even if you already have the standard DirectX 9.0 installation, because the Multiverse Client requires Managed DirectX.

Errors when initially running the client

If when you run the client, it exits with an error dialog, try running the Client Repair utility. Choose Program Files > Multiverse Client > Repair Client.

Client exits with "Unable to access config file" error

If you see the error message:

Unable to access config file: ../Worlds/worldname/assetConfig.xml
at Client.SetupResources(String assetConfigFile)
at Client.Setup()
...

You may have a corrupt download. Uninstall the Client, then manually delete the directory C:\Program Files\Multiverse Client\ directory. Then try reinstalling and running the Client.

Client exits with "Error in the Application" dialog

This is generally due to a hardware issue. In particular, this occurs with Intel 9xx series integrated graphics cards due to a DirectX error when trying to draw certain 3D models. The models that give errors on the Intel chip work fine with others graphics hardware. Multiverse is working with Intel technical support to resolve the issue.

This error may also be caused by not having supported graphics card or enough graphics memory. See Supported Graphics Cards for for a list of supported graphics cards.

Error "Object reference not set to an instance of an object"

This error can have a variety of causes: Essentially it's saying that the client tried to access and object that doesn't exist. Sometimes that means you just typed an object's name wrong in some code and are referencing a null value. But other times it happens because an error has occurred earlier that caused creation of the object to fail.

One common underlying cause is a graphics card that does not support pixel shaders or hardware lighting. When you get this error, check the Exception.log file to determine the source of the problem or post it to the forums. See Client Logging for more information on log files.

If the cause of the error is the graphics card, then you must either upgrade your graphics card, or log into a world that supports your current card. See Supported Graphics Cards for for a list of supported graphics cards.

Another common cause of this error are old/incompatible assets from a previous release. In general, you must update the "SampleAssets" file with each new release if you use those assests. See Download an Asset Repository for more information.

Error: "The process cannot access the file ... because it is being used by another process"

This error occurs if you try to start the Client when another Client process is already running. Usually, this occurs when there was a crash that left a "phantom" process running. Use Windows Task Manager (ctrl-atl-del) and stop the Image Name MultiverseClient.exe.

Jittering, frame-skipping on dual core systems

On some dual-core systems, the processors get out of sync for timing. For details, see this AMD Technical Bulletin.

Power management slows down the cores at different times, causing the high resolution timers in the cores to lose synchronization, which causes the time to jump forward and backwards as the process is scheduled to run on one core and then the other. The cores start out in sync when the system boots, but over time get out of sync.

To correct the problem, Download and install a new processor driver. You should not need the Dual-Core optimizer utility that is also mentioned on that page for running Multiverse applications.

Various unexplained script errors when running updated client

When the client updates itself (either automatically or through use of the --udpate_url command-line option), it will ignore other command-line options. This may cause it to load the incorrect asset repository and thus incorrect scripts.

To avoid this problem, when the client initially updates itself, exit from the character creation screen, and then restart the client. Then the client will honor the appropriate command-line options and any such problems will not occur.

Running on Vista (with pre 1.1 client)

NOTE: This procedure is only required if you have not run the client since before version 1.1 (Jan., 2008).

If you are running an old (pre-1.1) version of the Multiverse Client on Windows Vista, follow these instructions:

  • Right Click the Multiverse Client shortcut and select Properties.
  • Set to run as administrator:
    • In the Shortcut Tab, click Advanced.
    • Check 'Run as Admin'
    • Click 'OK'
    • Click 'Apply'
  • Run in Windows XP (Service Pack 2) compatability mode:
    • In the Compatibility tab, check "Run this program in compatibility mode for:"
    • Check "Disable visual themes"
  • Click "Apply"

Once the client updates itself to the most recent version, you no longer need to follow this procedure; you can run it normally.

Problems connecting to servers

Configure or disable firewall software

One of the most common reasons for not being able to connect to the servers is a firewall. Configure or disable your firewall and try again. The Multiverse Client connects to the master server (run by Multiverse), which listens on these ports:

  • TCP port 9005
  • UDP port 9010

If you are running the client inside a firewalled network, the firewall must allow connections on these ports.

If you are running your own servers, and the firewall is between the client and servers, then you need to set up port forwarding for ports used by the world manager server and the proxy server. By default,TCP port 5040 and UDP port 5050, respectively. For more information, see Server Troubleshooting.

Run the client using the command line instead of the icon

If you are running the client and servers on the same machine, run the client from command line as follows

cd client_home/bin
MultiverseClient --frames_between_sleeps 2

The --frames_between_sleeps option ensures that the client doesn't starve the server.

Known problem: client dropping connection

If you call the command "\createitem" with a correct item name without executing "\createinv" in the same session before, the object manager throws an exception. If you call the command "\createitem" with a wrong item name, the object manager throws an exception. In both cases the communication between client and server stops working and no further login is possible.

Restart the client and servers to correct the problem.

Multiple remote clients connecting

If you want to have more than one client at a time connected to the server, then each client must have a distinct account ID, specified in the world settings file <account id_number="1"/> tag. If you are connecting using the master server, then it will automatically assign each client a distinct account ID. If you are using a world settings file, then you must manually edit the file on each client and set a unique account ID.

"404 Not Found" error when patching assets

This error may occur if you do not put a trailing slash at the end of your media URL in your world registration. For example,

This may also occur when using Microsoft IIS for your asset server, if you have not configured IIS properly. See Using IIS as an Asset Server for details.

Also, whenever you make a change to your asset repository, you must run build_manifest.py against the repository. The 404 occurs because the Client is not finding an asset manifest. You must run the script to create one and put it in the asset repository. See Creating a manifest file for more information.

Problems with collision volumes

Why are my collision volumes not being used by the client?

There are specific requirements on the naming of the collision object submeshes. They need to have names of the form mvcv_shape_submeshname, where shape is one of obb, aabb, sphere, or capsule, and submeshname is the name of a displayed submesh in the model. The collision volume will only be used by the client if the associated submesh is displayed.

How do I debug missing collision volumes?

  • Make sure that you have .physics files for each asset for which you expect to see collision volumes in the Physics directory of your asset repository.
  • Make sure that the name of the submesh identified by the physics file in the rigid_body sid=submeshname line is contained in the mesh file.
  • Examine the MultiverseClient.log file.

Display and rendering problems

UI widgets clickable areas are offset to lower right

The symptom: Buttons and other UI widgets don't respond to clicks everywhere they should. You have to click way down and to the right to get them to respond.

The cause: a mismatch between the "native" resolution of your system and the resolution in which you are running the Client.

Workaround:

Find your current "native" resolution:

  1. Click on your desktop,
  2. Choose Properties, then select the Settings tab.
  3. Find the value of the screen resolution. It will be something like "1360 by 768 pixels."

Set the Multiverse Client World Browser to have the same resolution:

  1. From the Start menu, choose All Programs | Multiverse | Multiverse Client | Multiverse Configuration. You can also use the --config command-line switch.
  2. set the Video Mode that matches your "native" screen resolution; you can also set whether you will run the client in full-screen mode.
  3. Click OK.

Everything is black when logging in to Demo World

This is a known issue that happens occasionally, and is due to lights not downloading properly. If this happens, log out and try again after about ten minutes.

Flickering textures

Most of the time, flickering textures happen when a model uses a normal map but does not have tangents or binormals in the vertex data. This means the vertex shader gets uninitialized data. Some graphics cards handle this situtaion well and set the uninitialized data to zero. On other cards, the uninitialized data is random, which causes flickering.

Other possible causes of flickering:

  • If a ray light is very close to the plane of a polygon, and there is a specular factor on the object, numerical imprecision can cause the light to be computed as in front of the polygon in one frame, and behind it in the other frame. When it is in front, the specular contribution is nonzero, and the object will look bright. On the next frame, when it is considered behind, it is behind the object, so the Client discards the specular contribution and the object looks dark. In some cases, a normal mapped model can run into a similar problem.
  • Z-fighting can cause a similar flickering effect. In this case, the surface behind is occasionally considered to be in front. If the two surfaces are much different, this can look like a flickering.
  • Poke-through can also cause a flickering effect. In that case, the animation causes the surface that is supposed to be behind to poke through to the front.

Both pokethrough and z-fighting will generally have a color change as well as a luminance change, while the specular and uninitialized normal problems will only have a luminance change.

Personal tools