Announcement

Collapse
No announcement yet.

HOWTO avoid Version Mismatch errors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    HOWTO avoid Version Mismatch errors

    I have been searching for this answer for quite awhile now, how can a package be recompiled (using the same package name as the original) and not cause a Version Mismatch error when used online. Epic says that it can be done as long as you follow some rules ( http://udn.epicgames.com/Two/UnrealScriptReference )

    UnrealScript binary compatibility issues

    UnrealScript is designed so that classes in package files may evolve over time without breaking binary compatibility. Here, binary compatibility means "dependent binary files may be loaded and linked without error"; whether your modified code functions as designed is a separate issue. Specifically, the kinds of modifications when may be made safely are as follows:
    • The .uc script files in a package may be recompiled without breaking binary compatibility.
    • Adding new classes to a package.
    • Adding new functions to a class.
    • Adding new states to a class.
    • Adding new variables to a class.
    • Removing private variables from a class.


    Other transformations are generally unsafe, including (but not limited to):
    • Adding new members to a struct.
    • Removing a class from a package.
    • Changing the type of any variable, function parameter, or return value.
    • Changing the number of parameters in a function.
    Now for the one very important thing they dont tell you- That you have to make the recompiled package conform to the original. This is done by using the command UCC CONFORM !!

    Once that has been sucessfuly done, both packages can work online without problems. Only those clients that have the newer package installed will have those fixes/changes, while those that have the older one installed wont see anything new. For clients that do not have either package installed, will just download the version the server is running into the clients cache.

    #2
    Not always useful, as sometimes those fixes are important, and not others. Mutators, for instance, all players not having proper fixes could potentially create an unfair playing field.

    The only time conforming is really useful is when releasing patches, as epic does, where renaming files is out of the question.

    For ALL mutators, simply renaming the package should be adequate for proper resolution of version mismatch errors.

    Comment


      #3
      Sounds like you're looking for a way to gain an advantage over others while appearing to use the same stuff they are. *shrug*

      Comment


        #4
        Originally posted by bushbomb
        Sounds like you're looking for a way to gain an advantage over others while appearing to use the same stuff they are. *shrug*
        More like help others who are looking for that answer or those who will be later on, just as I had been looking for that answser that doesnt even appear on udn (atleast that I know of).

        Comment


          #5
          This will only really help cheaters who didn't know this yet.
          Legal mod programmers wouldn't be able to use this anyway due to the MD5 checks.

          Comment

          Working...
          X