As mentioned in http://www.easyuo.com/forum/viewtopic.php?t=37356, EUO requires the mul-files in UO directory of old version to work, while ServUO.exe searchs and reads the mul-files once you drag-and-drop them into UO directory. Old version mul-files cause map error when enter SA champions,Primeval Lich and Abyssal Infernal, since they are in Fel.

Mul-files is not necessary, you can start ServUO.exe without them at all. Is there anyway to ignore their existence?
 
I would start with the file TileMatrix.cs in the server core. You'll find pieces like
Code:
                string mapPath = Core.FindDataFile("map{0}.mul", fileIndex);

                if (File.Exists(mapPath))
                {
                    m_Map = new FileStream(mapPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                }
                else
                {
                    mapPath = Core.FindDataFile("map{0}LegacyMUL.uop", fileIndex);

                    if (File.Exists(mapPath))
                    {
                        m_Map = new FileStream(mapPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                        m_MapIndex = new UOPIndex(m_Map);
                    }
                }

You need to remove the checks for .mul files so it follows only the "else" option of .uop files (since you know that's what you'll be using). This way it will completely ignore .mul files within the client directory.

And of course, re-compile the server exe!
 
New versions of client UO do not use mul files. Thus, Serv UO not only ignores their existence, but the server does not know them. That's my layman's point of view.
But I don't understand more about the topic on the easyuo forum. why, for example, registry changes in windows and complicate procedures and debate about it. All you have to do is install the UO at all. Just copy and if easy has ever needed mul files in the past, just unzip them from uop files (But I never had to do that). I use Easyuo and this problem has never happened to me. But I think that this problem occurred more due to the EC version of Clients. I believe this because he changes the register at the KR version of the UO on that forum. Which is the predecessor of the EC. I'm just groping and thinking, it's not very clear there.
 
The code I posted shows that (at least as of 3 months ago when I last pulled it) ServUO absolutely does pick MUL files over UOP if it finds them in the client directory.
 
@Falkor Thanks for your reply and kind reminding of re-compiling. I tried to delete checkers for mul-files. However, ServUO.exe still found and read the mul-files.Following is my edited code.
C#:
public TileMatrix(int fileIndex, int mapID, int width, int height, string path)
        {
            Width = width;
            Height = height;
            BlockWidth = width >> 3;
            BlockHeight = height >> 3;

            if (path == null)
            {
                    mapPath = Files.GetFilePath("map{0}LegacyMUL.uop", fileIndex);
                    IsUOPFormat = true;
            }
            else
            {
                    mapPath = Path.Combine(path, String.Format("map{0}LegacyMUL.uop", fileIndex));
                    IsUOPFormat = true;
            }
 
You should be using two separate copies of the client -- one that the server's DataPath is pointed to (with no MUL files present) and another that you use to play the game that does have the added MUL files for EasyUO to use.
 
You should be using two separate copies of the client -- one that the server's DataPath is pointed to (with no MUL files present) and another that you use to play the game that does have the added MUL files for EasyUO to use.
It's kind of the ultimate solution. ;)
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back