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!

Resource icon

[2.x] Ultima Live Map Streamer and Editor 0.97

No permission to download

Gargouille

Sorceror
I fix the black screen on (re)Login (do my best ^^) with :

at the bottom of PlayerMobile.OnLogin :
Code:
Timer.DelayCall( TimeSpan.FromSeconds(5), delegate{ ((PlayerMobile)from).Jump(); } );

And then, at class level, an incredibly complex method :
Code:
        private void Jump()
        {
            Z++;
            Z--;
        }
 

Gargouille

Sorceror
A hack for sure, I'm not talentuous enough to fix it...

For my second problem, distribute files and so not have to Stream it, I found what I was missing. Files to distribute seems to be the files created by .exportclientfiles.
 

fwiffo

Sorceror
The streaming is a little buggy as I've already described, CRC16 hashes aren't working, serverside CRC are wrong sometime, so you get live streaming even when there is no need to..
 

Praxiiz

Sorceror
When I get some more time I'll work on the CRCs. RL has taken a lot of my time lately. The black screen at relogin could probably be fixed by sending the refresh packet to the client after the player logs back in. I thought I had a fix for that already in place, but if it's still happening then I will have to revisit it.
 

fwiffo

Sorceror
Consider it as a swiss knife tool, as long as you can send back to the server a packet of your choise with the client, yes, it's possible. how is a different thing anyway.

This tool as some bugs anyway, and they need to be fixed, like the crc issue, also you can't disable this tool without affecting people playing on normal maps, but this is fixable too, it need time and I bet that praxiiz is very busy :(
 

Praxiiz

Sorceror
I have been quite busy in RL. I am slowly working on the next release of this which will include the fixes posted by fwiffo to fix the issue with the clients > 6.0.6.2 && < 7.0.0.0.

I'm trying to track down two issues right now:

First is the black screen when people relog in a house. I'm testing using client 7.0.1.1. I've noticed that relogging in a house only seems to cause the black screen issue when the house has been newly placed. Subsequent times don't seem time to have issues. Can you confirm this or post steps to replicate the bug in other scenarios? Also which client(s) do you see this on?

Second is the CRC issue. I'm not seeing this issue when I copy map 0 to 33 (map0.mul -> map33.mul, statics0.mul -> statics33.mul, staidx0.mul -> staidx33.mul). Again, I'm using client 7.0.1.1. What client are you using?

If I can replicate these bugs, then it will be much easier to track them down. The other features (disabling streaming, using files out of the client folder) are on my list, the only thing keeping me from implementing them is time.

james smith said:
Anyone have a sample of the playermoblie.cs with the changes I am having trouble finding the correct location to add them
Sorry it's taken so long to answer this. I have attached a playermobile.cs which was taken from RunUO 2.3r987 (the official version downloadable at the time of this post, not the from the SVN but from the website) and modified to work with UltimaLive.
 

Attachments

  • PlayerMobile.cs
    115.2 KB · Views: 17

Jack9213

Sorceror
In the install instructions, Praxiiz, you may want specify that is necessary to run the server as administrator on Vista/7/8 the first time. I encountered a fatal error during the loading(compiling was fine) and it took me a bit to realize that. It was about a reference to an unexisting object, not really a helpful message. In the first time i checked my edits to playermobile then I remembered that UL saves/creates the maps in "ProgramData". Imho having to update files in a hidden and protected folder can be complicated for unexperienced players.

During my brief test I noticed a little issue, to be honest pretty annoying, gameplay's window( the map too) flashes black(only 1 time) during the blocks updating, but that's probably caused by the slowness of my computer, maybe it's the poor support of GDI of the ATI drivers or it's the HD, I dont know.
Using [go to change location I've experienced a crash of the client(only one time): black map and crash.
By an "insane use" of "[m tele" can happen to get stuck in a black map that not update.

I hope can help.


How did you resolve the fatal error? I get the message "System.NullReferenceException: Object reference not set to an instance of an object.
at UltimaLive.CRC.OnLoad()
at Server.WorldLoadEventHandler.Invoke()
at Server.EventSink.InvokeWorldLoad() c:\RunUO\devel\Server\EventSink.cs: line 1082
at Server.World.Load() in c:\RunUO\devel\Server\World.cs: line 1020
at Server.Core.Main(String[] args) in c:\RunUO\devel\Server\Main.cs: line 488
This exception is fatal, press return to exit
 

boba

Sorceror
jack

You will need to go into the MapRegistry.cs and define the additional physical maps you want to use. You can see existing examples in the file.

You will also need to define maps in your regular server/misc/mapdefinitions.cs, for example

RegisterMap(32, 32, 32, 6144, 4096, 1, "Map 32", MapRules.TrammelRules);
RegisterMap(33, 33, 33, 7168, 4096, 1, "Map 33", MapRules.TrammelRules);
RegisterMap(34, 34, 34, 2304, 1600, 1, "Map 34", MapRules.TrammelRules);
RegisterMap(35, 35, 35, 2560, 2048, 1, "Map 35", MapRules.TrammelRules);
RegisterMap(36, 36, 36, 2560, 2048, 1, "Map 36", MapRules.TrammelRules);
RegisterMap(37, 37, 37, 1448, 1448, 1, "Map 37", MapRules.TrammelRules);

this is your issue - comment out the maps you are not using with \\

if you need anymore help Skype me @ brainweed
 

Jack9213

Sorceror
jack

You will need to go into the MapRegistry.cs and define the additional physical maps you want to use. You can see existing examples in the file.

You will also need to define maps in your regular server/misc/mapdefinitions.cs, for example

RegisterMap(32, 32, 32, 6144, 4096, 1, "Map 32", MapRules.TrammelRules);
RegisterMap(33, 33, 33, 7168, 4096, 1, "Map 33", MapRules.TrammelRules);
RegisterMap(34, 34, 34, 2304, 1600, 1, "Map 34", MapRules.TrammelRules);
RegisterMap(35, 35, 35, 2560, 2048, 1, "Map 35", MapRules.TrammelRules);
RegisterMap(36, 36, 36, 2560, 2048, 1, "Map 36", MapRules.TrammelRules);
RegisterMap(37, 37, 37, 1448, 1448, 1, "Map 37", MapRules.TrammelRules);

this is your issue - comment out the maps you are not using with \\

if you need anymore help Skype me @ brainweed


Thank you. I will look into that sometime later. I will probably be losing my internet at the start of next week and then probably get it back when I leave Mexico and return to the United States to live with my parents in Ohio - again.
 

Gamble

Traveler
Hey guys I need a little help. I have it installed and the server is running stable. I downloaded a map just to test it out but this did not add a Appdata folder or anything like it on my computer. I have no idea how to add in the map32.mul ect. I added them into my client folder and the server customs folder and made the edits to map definitions and map registry. In game I typed in [set map 32 and it just boots me out of the game. Any help would be appreciated.
 

Praxiiz

Sorceror
I know you've already done these steps, but I am just going to add them here for illustration purposes.

A quick outline of steps to get things up and going:
1. Add UltimaLive scripts to your customs folder
2. Modify MapRegistry.cs in custom scripts folder \UltimaLive\MapRegistry.cs
3. Modify MapDefinitions.cs in your RunUO folder \scripts\misc\MapDefinitions.cs
4. Modify UltimaLiveSettings.cs in your UltimaLive folder and give your shard a name. This name will correspond to the folder that is created, so it can be a short name.
5. Make sure your datapath is pointing to a folder with the needed client files (see your RunUO folder \scripts\misc\DataPath.cs)
6. Modify PlayerMobile.cs in your RunUO folder \scripts\Mobiles\PlayerMobile.cs
7. Rename Igrping.dll to Igrping_.dll in your client folder
8. Copy Igrping.dll from UltimaLive into your client folder
9. Start your server, and connect with your client.

If you have your server setup correctly, when you connect to your shard the first time, your client should create a folder to store map files.

For Windows XP, this is located in the Application Data folder (typically C:\Documents and Settings\All Users\Application Data\UltimaLive\ShardName)
For Windows Vista and above, this is located in the ProgramData folder (typically in C:\ProgramData\UltimaLive\ShardName)

If your game client doesn't create the UltimaLive folder under Application Data or ProgramData, then you may need to run your game client with administrative privileges.


UltimaLive on the server end doesn't create the folders. It just sends a packet to the client (which is intercepted by UltimaLive) and the client creates the folders. The server creates the packet from the MapRegistry.cs file that you altered. If you're not seeing these files created, then there's a problem on the client end. A way to check to see if UltimaLive is being loaded by your client is to use a copy of the Igrping.dll file that has been compiled in DEBUG mode. It forces the client to load another window and it produces all sorts of information about what UltimaLive is doing inside the client. If you're not comfortable with downloading the source, then I can compile it and post a copy for you.
 

Gamble

Traveler
Code:
----------------------------------------------------------------------------
ForkUO - [http://www.forkuo.craftuo.com] Version 0.3, Build 4929.23448
Core: Running on .NET Framework Version 4.0.30319
Core: Optimizing for 8 64-bit processors
Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (6222 items, 1626 mobiles, 9 customs) (1.59 seconds)
ACC Registered: Server.ACC.CSS.CSS
ACC Registered: Server.ACC.CM.CentralMemory
Regions: Loading...done
World: Loading...Loading Ultima Live map changes
done (272405 items, 44884 mobiles, 17 customs) (8.07 seconds)
Restricting client version to 7.0.30.3. Action to be taken: LenientKick
I have done everything here and I still don't have a folder C:\Documents and Settings\All Users\Application Data\UltimaLive\ShardName) . As far as the debug mode ect I have no idea how to do that ... Im still pretty new / basic to all of this. I do get the loading utima live map changes when I boot up. I have my data path set to "C:\Program Files (x86)\Electronic Arts\Ultima Online Classic";
 

Gamble

Traveler
Haha ok dumb me .... I figured it out.... I just got it to create the folder ... this doesn't work with the enhanced client ... I logged into the classic and it created the folder ... now I just get the constant black flicker and I need to figure out how to add in the custom maps. I have tried and all it does is give me a black screen and I cant move my character although I can see the map on the mini map
 

Praxiiz

Sorceror
I recommend having a separate set of client files that are apart from your server files. Modify your /scripts/misc/datapath.cs file to point to the alternate set of client files that your server uses. Then drop the custom files in that folder, and make sure you define your custom maps in \UltimaLive\MapRegistry.cs and \scripts\misc\MapDefinitions.cs

When you switch maps, make sure you are above ground as well.
 

Gamble

Traveler
I can be standing in the middle of any city in Trammel and [set map # and some of the maps just go completely black. I have only found one that actually works. I have tried to tele around but cant seem to find land I have tried the [set z 10 nothing seems to work. The map that actually worked I could walk around ect but the mini map never streamed anything but green.
 

Praxiiz

Sorceror
I'm working on the next release. This next release will have a fix for the black screen when a player relogs. It will also add the patch that fwiffo posted on page 2 that adds support for the 6.x clients. I am now in the process of adding in support so that you can tell if a player who logs in is using UltimaLive and which version they are using. This will be useful for denying them access to additional maps if they don't have UltimaLive installed, or moving them to a regular client map if they log in on a client that doesn't have it installed.

To make it easier to tell which version a player has installed, I am adding a version number in the DLL resources. This will enable players to right click the Igrping.dll file and check it's version from the file properties. I am also adding a welcome message that will be displayed locally to the player when they login to tell them UltimaLive is working and which version they are using.
 

Eric T. Benoit

Wanderer
Would it be possible to have UltimaLive copy existing map files from the client directory rather than create blank ones? If a client has already downloaded our custom client this would help save on bandwidth usage immensely.
 

Eric T. Benoit

Wanderer
I also found an issue with hued statics not displaying correctly. In the attached screen shot the whole bank should be the darker copperish color but it's not, even with my muls copied into the UltimaLive folder it showed the right color for a second and then switched to what you see below.
 

Attachments

  • BBOnLive.jpg
    461 KB · Views: 15
Top