Sniper's Paradise!
Version Mismatch
Each time a file for Unreal is created, it is given a unique globally unique identifier (GUID). When you try to join a server, the server sends information of all files you need to have in order to join, the file information contain the GUID and the filename (package name). Your Unreal game then looks to see if those files are installed in your Unreal folders. If the file is found, the GUID of the server file is compared to the file on your harddisk. If the GUIDs match, you will be able to join. If not, an error is produced telling you that your file is of a different version and you get a Version Mismatch message. Should Unreal not find the file installed in the Unreal folder, it will look in the Unreal\Cache directory to see if there is a file with the same GUID. Should this file be found in the cache, you can join. If not, the file is downloaded from the server and once downloaded you will be able to join.
How do you end up with 2 files with same name but different identifiers?
This happens because map authors, Unreal scipt coders or texture makers change something in their file and then just save it again. The newer file still has the old filename, but a new identifier. Another way this happens is when the author is testing a map, or code and someone joins the server, they downloaded the file, which is stroed in their cache folder. Then they rip the file from their cache folder and it gets distrubuted. You will get a version mismatch ONLY If you installed the file on their PC
Authors would have to rename their files which often creates more problems since the files interact with each other. While this may be understandable for some u files (as they often have dynamic binds to packages/files based on filenames) it is merely inacceptable for texture, music and sound packages. An easy solve would be to include embed these files into the map using "MyLevel", this way version conflicts will never occur.
Version Mismatch error - what to do?
Look for the file which causes the conflict on your harddrive. Since anything might cause a conflict (*.u *.umx *.utx *.uax) you may have to look through all directories of Unreal to find the file with the conflicting name. Once you found it, move it to your desktop to re-install at a later time or create a folder within Unreal called Mismatch and put it in there.
Note that you can't rename or move files which caused a conflict with Unreal open, you will have to quit Unreal or open a new map that do not use these files. I find it's easier to quit unreal, move the file and restart Unreal.
Now that you have moved the file, try joining the server where you got the error. Unreal will look in the cache for the GUID and if it's not there, you will download it and be able to join.
Why should I ever restore the old file?
Version Mismatches are only generated online! You may need the file to play a map offline - or play botmatches. When you play offline,
the cache is not used so all files must be installed.
Offline Playing
So you want to play DMProng, but last time you joined a server you got a version conflict with "Jumpad", so when you try to start the map you get an error the file "Jumpad" is missing and you cannot play DMProng offline. Look for JumpPad.u in your Mismatch folder and move it into your Unreal/System folder to play the map offline.
Can I have both, the original file and the cache file?
You CAN, but it won't help much, because Unreal first looks for the file name and only 2nd for the GUID. So if you have a conflicting file AND the correct file in the cache, Unreal will still say "Version Conflict", but when you move the offending file, you will immediately join after that because the correct one is found in the cache.
Some people claim that their Unreal installation first looks into the Cache to avoid that problem so they actually never have to move files once they have a false and correct version at the same time, but I never saw this for real, so I doubt it's true. If there is a setting to force Unreal to first look into the cache, Tell us how - the rest of the world will be grateful!
I only play online, never offline, why should I ever install files then?
Because some files are simply very large. Actually it is possible to download almost ANY file from a server directly, though some files have a flag setting which makes it completely impossible to auto-download, these files include the original DM-maps (Deck16, Curse, Elsinore etc...) but due to the existance of flag modifiers any file can be "download-protected" and you should not assume to get all files from a game server.
However, if you install files correctly you usually save yourself a lot of time, because downloading directly from Unreal servers is prone to failure. If your connection is slow, it often breaks - maybe because a map change takes place before your download is complete... And if your connection is fast, then the server will start to lag and make games unplayable while you download from it!
I get conflicts, but I do not have any of the files installed which Unreal claims to cause conflicts!?
In this special case Unreal is using its RAM cache to look up packages it already has loaded before. You see, this happens when you just played on one server which had one version of a certain file, then move to another server which has a different version of the same file (without restarting Unreal in between).
What is happening is Unreal remembers the old package name and immediately associates it with the cached file it used just before.
Solutions:
Either of the 2 following measurements will help:
- Exit and restart Unreal (this definitely ALWAYS helps in a cache-version conflict as Unreal has to reload all from scratch)
- Disconnect from the current server, then hit TAB/ConsoleKey (whatever yours is) and type the command
obj garbage
to force Unreal to garbage collect all unused packages. You will not get any response from Unreal, but after this you should be able to get on the server using the other version too...
You could, for example, bind one key toopen entry
to quickly disconnect from the current server (and be in the jail cell intermission level) and the next key toobj garbage
. Whenever you need to switch servers, press those 2 keys to avoid any version conflicts due to your cache.
One last tip from our side
In your Unreal.ini file, one setting is PurgeCacheDays=30
by default, you find it right under the line [Core.System]
To keep repeated downloads of the same files going, make the setting
PurgeCacheDays=0
so that your cache will NEVER be purged. Your cache may grow large over the years, but that's better than having to download the same files over and over again...
All logos and trademarks are properties of their respective owners.
Unreal™ is a registered trademark of Epic Games Inc.
Privacy Policy
Website by Softly
Powered by RUSH