RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

7.0.13 UO 250MB Patch and the new problem it created

MrNice

Squire
After patching my server now every item or mobile you click all it does is spam your name. Any idea's?

Also on mouse over it no longer shows ANYTHING. I am useing the current SVN and this only happend after patching to the most recent UO EA patch. Just wondering what could cause this so I can look into a solution.
 

Semerkhet

Sorceror
Latest OSI patch introduced the ability to create a character wherever you like to begin. This caused a few changes to the Character List packet to be made. While the old one still magically works, the flags field have changed its location and you probably will be missing features as OPL support and those stuff. Also you could have notice that if you try to create a new character with this new client, it will freeze after you select the character profession.

So, it's time for update your packet guides:

New Character List Packet (0xA9)
(changes are in bold)

BYTE 0xA9 packetID
WORD packet length: 311 + (starting city info count * 89)
BYTE character slot count
loop (slot count)
BYTE[30] character name
BYTE[30] zero
end loop
BYTE starting city info
loop (starting city info count)
BYTE idx
BYTE[32] city name
BYTE[32] building name
DWORD start loc x
DWORD start loc y
DWORD start loc z
DWORD start map id
DWORD cliloc description about the city
DWORD zero
end loop
DWORD flags (same as old)
WORD -1

____

I tested it and it works fine for me and players of my shard.

Regards!
 

Acronis

Sorceror
Thanks for the packet info!

For the packet size, what does the 311 represent? Can you break that down, I'm guessing it is for the char slots.

Also, a dword is 32 bits right? When I just write a regular int or hard number, will it default to 32 bits? This is what I've got:

Code:
    public sealed class CharacterList : Packet
    {
        public CharacterList( IAccount a, CityInfo[] info ) : base( 0xA9 )
        {
            this.EnsureCapacity( 9 + (a.Length * 60) + (info.Length * 89) );


            int highSlot = -1;

            for ( int i = 0; i < a.Length; ++i )
            {
                if ( a[i] != null )
                    highSlot = i;
            }

            int count = Math.Max( Math.Max( highSlot + 1, a.Limit ), 5 );

            m_Stream.Write( (byte) count );

            for ( int i = 0; i < count; ++i )
            {
                if ( a[i] != null )
                {
                    m_Stream.WriteAsciiFixed( a[i].Name, 30 );
                    m_Stream.Fill( 30 ); // password
                }
                else
                {
                    m_Stream.Fill( 60 );
                }
            }

            m_Stream.Write( (byte) info.Length );

            for ( int i = 0; i < info.Length; ++i )
            {
                CityInfo ci = info[i];

                m_Stream.Write( (byte) i );
                m_Stream.WriteAsciiFixed( ci.City, 32 );
                m_Stream.WriteAsciiFixed( ci.Building, 32 );
 
                //added fields for 7.0.13.0:
                //(not sure what exactly this is for, just setting to 0)

                m_Stream.Write(0);    //start loc x
                m_Stream.Write(0);    //start loc y
                m_Stream.Write(0);    //start loc z
                m_Stream.Write(0);    //start map id
                m_Stream.Write(0);    //zero

                //end added fields for 7.0.13.0
            }

            int flags = ExpansionInfo.CurrentExpansion.CharacterListFlags;

            if ( count == 7 )
                flags |= 0x1000; // 7th character slot
            else if ( count == 6 )
                flags |= 0x40; // 6th character slot
            else if ( a.Limit == 1 )
                flags |= 0x14; // Limit characters & one character

 
            m_Stream.Write( (int)(flags | m_AdditionalFlags) ); // flags

            m_Stream.Write(-1);    //added for 7.0.13.0
        }

        private static int m_AdditionalFlags;

        public static int AdditionalFlags
        {
            get{ return m_AdditionalFlags; }
            set{ m_AdditionalFlags = value; }
        }
    }
 

MrNice

Squire
Any way I could get you to send me a copy of the new runuo.exe your using? Unless you arent using the latest SVN?
 

Acronis

Sorceror
I'm on a totally custom version, so it won't work for you. This file is in network/packets.cs though if you just want to edit. Mine is a tad different as I did certain things differently, but overall it should work. (I'd backup first) Just download the source code and you can compile. In fact I recommend it as you may need to make more core modifications in the future over time.

Of course, don't take my code now, because it currently does not work. :p I will post if I get a working version though. May need to be adjusted for SVN but the bulk of the work should be the same.
 

Semerkhet

Sorceror
I give you the patch for make it work for old and new clients (for SVN R665). It also includes support for Selectable Starting City feature.
 

Attachments

  • 70130support.patch
    11.4 KB · Views: 260

Acronis

Sorceror
No luck so far, can't get the context menu flag to work. Is it still 0x8? The other flags such as the new house tiles seem to be working though.
 

Acronis

Sorceror
I'm a noob. I misread some of the stuff in the original post, and I was missing the cliloc field. So the packet was not complete and the flags were not making it through.
 

Jeff

Lord
Mark already figured out packet changes and is testing on Demise... soon as things are solid, he will move to runuo svn
 

_Epila_

Sorceror
just to not ceate another thread, the web svn is outdated? the repository says that the current svn is 669 and the web svn says that is 665, it is outdated or there are no updates ?
 

otimpyre

Sorceror
Magincia map fixed/changed they made magincia a farming/house plot area 22 plots and some type of outdoor planting system. This also messes up any decorate.cfg with magincia since they didn't restore magincia to its original condition.
 
just to not ceate another thread, the web svn is outdated? the repository says that the current svn is 669 and the web svn says that is 665, it is outdated or there are no updates ?
the web svn is just for quick checking, if you want to really do anything heavy, like downloading and compiling a new core you really need a client like a tortoise
 

Pure Insanity

Sorceror
Magincia map fixed/changed they made magincia a farming/house plot area 22 plots and some type of outdoor planting system. This also messes up any decorate.cfg with magincia since they didn't restore magincia to its original condition.

Eh, I honestly never expected them to restore Magincia. I removed the decoration bit from the files a while back. I honestly can't believe that they let the entire area of Magincia look like such crap, for so long. How long did it take for them to clean up the roads/tiles? The area has been completely empty on my shard for some time now, I have yet to update my client to 7.0.13.0...but I'm guess 7.0.12.0 is the one where they removed the roads and everything else, leaving Magincia pretty bare (or it could of been an earlier patch...not sure.)

I'm definitely going to have to update now, to see what changes they have made to Magincia now. We had actually started to come up with some ideas on what to do with the area, as I didn't want it to be just open for too long. Considered leaving it as is, since it's a great area for housing (plenty of flat land, and nothing in the way.) Perhaps someone could snap some screen shots of the new area now?
 

Acronis

Sorceror
I had an event going on there, I had built walls and stuff and made it look like the undead took over the town. Funny as the new stuff EA added somewhat falls ok with my stuff. I will probably end my event by saying that the city was reclaimed and is now being restored, or something. They also added docks and some farm structures, but mostly it's just land with elevated land to add houses. I'm thinking I will prebuild houses and sell them as is, as to maximize the use of those plots. Ex: instead of letting someone plop a 8x8 there.
 

otimpyre

Sorceror
Dock areas are the same. The city pales in comparison to the original. Now its more like brit farmlands. Everything is just wooden shacks. and dirt paths. Kinda like Bucs Den if you want a comparison. With 22 slightly raised grassy house plots. "I didn't count the plots" I read it on UOs patch info.
It was not at all impressive. It wasn't even an improvement. Sadly I think they couldn't even remember what it looked like. So I think they just opted to just make a completely new area and used housing/& the new outdoor planting system as an excuse. And magincia became, the green acres to test it all on. So magincia is now just another dusty page in the history of what is Ultima Online. :rolleyes: I didn't bother to take screenshots cause of all the problems the patch caused I deleted and reinstalled my backups.
 
I think new magincia was supposed to look rambshackled, in the (offline) storyline, the old city had been corrupted into the city of pride, so I think the rambshackleness was a return to humility.
 
Top