HELLO I AM HAVING TROUBLE GETTING THE MAP STREAMING TO SHOW THE FOG OF WAR ASPECT. sorry i just realized capslock.. dammit.. forgive me please.. i have been fiddling with this for days. most of it works great! just need a little guidance on the map streaming fog of war, i wonder we have a world map in the client. could that be thowing it off, i noticed i dont have the appdata file appearing eaither, i set dll to system, im gona try admin next
thank you for any help.
If you are using the official clients from 1.25 to 7.0.50.0 then the fog of war should work fine. If you are using newer clients Ultima Live breaks. Consequently I do not know if the fog of war will be on ClassicUO or CrossUO. I just know that it never fails with the older clients. Just remember to change out your igrping.dll
 
If you are using the official clients from 1.25 to 7.0.50.0 then the fog of war should work fine. If you are using newer clients Ultima Live breaks. Consequently I do not know if the fog of war will be on ClassicUO or CrossUO. I just know that it never fails with the older clients. Just remember to change out your igrping.
If you are using the official clients from 1.25 to 7.0.50.0 then the fog of war should work fine. If you are using newer clients Ultima Live breaks. Consequently I do not know if the fog of war will be on ClassicUO or CrossUO. I just know that it never fails with the older clients. Just remember to change out your igrping.dll
our client is a hybrid it has some uoclassic in it i think. the trees cut down nicely but fog isnt working. but what other things wont work then.. can we still use the streaming maps?
maybe i didnt set it up right, the instructions are a bit hard to follow and theres extra instructions in some places i was reading to try and get it in
 
Last edited:
Ultima Live was fun when it came out but CUO, while it doesn’t have falling trees, falling leaves, and real time mining, it does allow unlimited facets now; truly unlimited. You just have to edit MapLayouts in your settings.json in the client directory. The first map dimension entry is Felucca, then Trammel and so on...
 
Ultima Live was fun when it came out but CUO, while it doesn’t have falling trees, falling leaves, and real time mining, it does allow unlimited facets now; truly unlimited. You just have to edit MapLayouts in your settings.json in the client directory. The first map dimension entry is Felucca, then Trammel and so on...
thats good to know too, i got the trees working w live, my only concern now is the fog and more importantly live changes to the map we currently on. at the time, i wanna have islands appear at low tide. on a moon cycle
 
I talked to Praxiiz at the beginning of the month, but he has been busy. he hinted that he might make an update for Ultima Live. I had asked him if I could pay him to make some edits to CUO... so we can just negate ultima live all together. That way all the code would be clientside. I don’t think CUO uses the igrping.dll
 
I talked to Praxiiz at the beginning of the month, but he has been busy. he hinted that he might make an update for Ultima Live. I had asked him if I could pay him to make some edits to CUO... so we can just negate ultima live all together. That way all the code would be clientside. I don’t think CUO uses the igrping.dll
That would be amazing to have it work with the newer versions of UO. Above you stated that classic UO already allows unlimited facets is there a tutorial anywhere on how to do that?
 
If im not wrong CUO already come with ultimalive
CUO has Ultima Live compatibility but it’s not Ultima Live. I did get a modification done by requesting and paying for it that allows unlimited facets; or as many as your hardware will handle.
This is the only similar built in similarity to Ultima Live, however Ultima Live only allows 250 facets at max :) my requested changes are currently on the main repo of CUO and available for all.
Post automatically merged:

That would be amazing to have it work with the newer versions of UO. Above you stated that classic UO already allows unlimited facets is there a tutorial anywhere on how to do that?

Look for this section:
"maps_layouts":

the map dimensions need to be in order (map0, map1, map2, map3, map4, map5) then using the dimension (width and height) format below add your custom maps (as many entries as you want)

"7168,4096;7168,4096;2034,1600;2560,2048;1448,1448;1280,4096",

just make sure that each map is registered in both the Map.cs (Server Console Edit) and your MapDefinitions.cs (Server Script Edit)... if you want custom regions edit the Regions.xml.
 
Last edited:
Where is "maps_layouts" at? Curious as to how I can get CUO to see "unlimited" maps.
It’s in the settings.json located in the root directory where the game files you play the game with are located. If you don’t see it, then delete the file and restart CUO; it will auto generate. If it’s still not there then update your version of CUO.

no need for quotes. I tested this with KaRaShO so I know it works
 
Last edited:
need help fixing this error as its the only thing blocking live push into my server core


[VitaNexCore]: [UOFont]: Preloaded (Unicode, 0, 65536)
[VitaNexCore]: [UOFont]: Preloaded (Unicode, 1, 65536)
Error:
System.Reflection.TargetInvocationException: Exception has been thrown by the ta
rget of an invocation. ---> System.ArgumentException: An item with the same key
has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
at Server.Engines.Harvest.UltimaLiveLumberjacking.Configure()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,
Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec
t[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
Attr, Binder binder, Object[] parameters, CultureInfo culture)
at Server.ScriptCompiler.Invoke(String method)
at Server.Core.Main(String[] args)
This exception is fatal, press return to exit
 
I can only get regular logs on the harvest system and I've tried many different changes same outcome any ideas???
 
UltimaLive & ClassicUOLauncher + Custom Maps + Art.MUL / Art.DEF = Years down the tub

Hello All
I love the UL and the CUOL and I love doing custom things on my Shard but I am having Hard time getting the CUOL to run all the time I login to the Game it "Disconnected" but the Razor can run fine no error.
Now When I remove all my Custom files and run a New Shard the CUOL Run fine with no Errors I can add Custom Maps and still fine no errors but when I add "Staidx#" its ok but when I add "Staidx# & Statics#" and try to login with CUOL it Disconnected but Razor its ok but there is no Art.MUL/Art.DEF so you don't see your hard work.
Soon I will have no hair on my head I did all the steps if there is a UltimaLive Art then I didn't see that

so any help be nice


Thank you
 
it seems to be an error due to staidx & statics ?
Here are the common error I have done: mispelling the filename ( upper case /lower case), wrong map size, incompatiblle client version, login in the wrong facet...
 
it seems to be an error due to staidx & statics ?
Here are the common error I have done: mispelling the filename ( upper case /lower case), wrong map size, incompatiblle client version, login in the wrong facet...
Hello alchemy
I did lot of testing on this and I see what is going on with it now. What is going on is I have fully Custom files the error is the Statics and the Art.mul files is linked so I need the Art.mul in the UOL in and working too so when you login with out the Art.mul your account well login and Disconnected so I need to fix this some how if anyone know how to fix this be help full

thanks
 
Hello you all, ultimalive is a system that register in CRC16 (fletcher16) the area in a 9x9 tiles (and a total of 9 blocks surrounding you 3x3), there is a little things to do with classicUO, due to it's internal implementation:

- new generated maps must be consequential to the last real map you have, so, if your original shard maps are 4 (you can change that internally on servuo) you can start from 5 onward, this is something I cannot change actually due to CUO implementation, original client behaved differently, so you could put some random map in the range of a byte value (0 to 255 in the data to and from server).

- for the filename, there is a commit on cuo, as I remember, to handle at least minor case changes, at least from what I remember, that should handle that, but in linuxes system you have to take care of that and be really cautious.

- for the harvesting system, it all depends on the server side, if it doesn't work, it's mainly a bad server implementation

I'm using UL from over 10 years, and I didn't have a problem, the only problem, as of now, is classicuo, that needs some fix on the correct updating of items when there are lots of updates in the area you are inside (3x3 blocks)

speaking of the original client, I haven't done any new work in it, since I'm using only CUO as of now, so if the need is for the old client, you're all alone from my side at least.

if you catch anyway a solution that would require some mod client side, inform me.
 
Hello you all, ultimalive is a system that register in CRC16 (fletcher16) the area in a 9x9 tiles (and a total of 9 blocks surrounding you 3x3), there is a little things to do with classicUO, due to it's internal implementation:

- new generated maps must be consequential to the last real map you have, so, if your original shard maps are 4 (you can change that internally on servuo) you can start from 5 onward, this is something I cannot change actually due to CUO implementation, original client behaved differently, so you could put some random map in the range of a byte value (0 to 255 in the data to and from server).

- for the filename, there is a commit on cuo, as I remember, to handle at least minor case changes, at least from what I remember, that should handle that, but in linuxes system you have to take care of that and be really cautious.

- for the harvesting system, it all depends on the server side, if it doesn't work, it's mainly a bad server implementation

I'm using UL from over 10 years, and I didn't have a problem, the only problem, as of now, is classicuo, that needs some fix on the correct updating of items when there are lots of updates in the area you are inside (3x3 blocks)

speaking of the original client, I haven't done any new work in it, since I'm using only CUO as of now, so if the need is for the old client, you're all alone from my side at least.

if you catch anyway a solution that would require some mod client side, inform me.
Hello fwiffo
Thank you for give us this info this helps
but you didnt talk of the Art.mul files I have fully custom Art.mul file how can I add it to UltimaLive Folder So whne players login they can see all the custom files

Thank you
 
Art.mul are not streamed, UltimaLive only streams map and statics, streaming art could be possible, but to integrate that kind of work with the original client would be something that could quite require some work (not considering that changes on that file are to be fixed at connection time, before actual use of the art.mul).

If your objective is to check if the client has invalid art, it would be better to send a single hash on connection with the current file loaded, and eventually invite the user to download the file...
OR
use the actual web client available in ClassicUO and put the patches online in your website...
 
Art.mul are not streamed, UltimaLive only streams map and statics, streaming art could be possible, but to integrate that kind of work with the original client would be something that could quite require some work (not considering that changes on that file are to be fixed at connection time, before actual use of the art.mul).

If your objective is to check if the client has invalid art, it would be better to send a single hash on connection with the current file loaded, and eventually invite the user to download the file...
OR
use the actual web client available in ClassicUO and put the patches online in your website...
Thank You fwiffo
I am trying to get something like this system so I don't need to give away files to players so they can go somewhere else with my files if they do the art not going to work with server out there but they can have the art though I don't want that so I see this system that do map.mul why not art.mul to work I really want to have my server out so player can see my hard work all this years and having fun playing it.
When I have more time maybe I can play with the files to get Art.mul to work too if not then I need to wait to someone else can get it working with art.mul.
 
First off, a big THANK YOU for those who are maintaining this!

I am running live on a RUNUO 2.7 server (ultima adventures in the resources here) and have encountered some really odd behavior with live. Wondering if anyone could help?

Started a thread with explanation here

 
I Have this Errors

policy [C:\Users\rober\Desktop\ServUO\ServUO-master\Server\Server.csproj]
Server -> C:\Users\rober\Desktop\ServUO\ServUO-master\Server\bin\Release\Server.dll
C:\Program Files\dotnet\sdk\8.0.100-preview.3.23178.7\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInf
erence.targets(287,5): message NETSDK1057: You are using a preview version of .NET. See: A book lover's paradise
policy [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\Core\PlayerMobilePart
ial.cs(10,48): error CS0246: The type or namespace name 'IHonorTarget' could not be found (are you missing a using dire
ctive or an assembly reference?) [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\GraphicBasedHarvestSy
stems\LumberHarvest\LumberHarvest.cs(94,24): warning CS0108: 'UltimaLiveLumberjacking.Configure()' hides inherited memb
er 'HarvestSystem.Configure()'. Use the new keyword if hiding was intended. [C:\Users\rober\Desktop\ServUO\ServUO-maste
r\Scripts\Scripts.csproj]

Build FAILED.

C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\GraphicBasedHarvestSy
stems\LumberHarvest\LumberHarvest.cs(94,24): warning CS0108: 'UltimaLiveLumberjacking.Configure()' hides inherited memb
er 'HarvestSystem.Configure()'. Use the new keyword if hiding was intended. [C:\Users\rober\Desktop\ServUO\ServUO-maste
r\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\Core\PlayerMobilePart
ial.cs(10,48): error CS0246: The type or namespace name 'IHonorTarget' could not be found (are you missing a using dire
ctive or an assembly reference?) [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
1 Warning(s)
1 Error(s)




using System;

namespace Server.Mobiles
{
public interface UltimaLiveQuery
{
int QueryMobile(Mobile m, int previousBlock);
}

public partial class PlayerMobile : Mobile, IHonorTarget
{
public static UltimaLiveQuery BlockQuery;
private int m_PreviousMapBlock = -1;
private int m_UltimaLiveMajorVersion = 0;
private int m_UltimaLiveMinorVersion = 0;

[CommandProperty(AccessLevel.GameMaster, true)]
public int UltimaLiveMajorVersion
{
get
{
return m_UltimaLiveMajorVersion;
}
set
{
m_UltimaLiveMajorVersion = value;
}
}

[CommandProperty(AccessLevel.GameMaster, true)]
public int UltimaLiveMinorVersion
{
get
{
return m_UltimaLiveMinorVersion;
}
set
{
m_UltimaLiveMinorVersion = value;
}
}
}
}
 

Attachments

  • PlayerMobilePartial.cs
    906 bytes · Views: 0
  • PlayerMobile.cs
    204.6 KB · Views: 2
Last edited:
I Have this Errors

policy [C:\Users\rober\Desktop\ServUO\ServUO-master\Server\Server.csproj]
Server -> C:\Users\rober\Desktop\ServUO\ServUO-master\Server\bin\Release\Server.dll
C:\Program Files\dotnet\sdk\8.0.100-preview.3.23178.7\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInf
erence.targets(287,5): message NETSDK1057: You are using a preview version of .NET. See: A book lover's paradise
policy [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\Core\PlayerMobilePart
ial.cs(10,48): error CS0246: The type or namespace name 'IHonorTarget' could not be found (are you missing a using dire
ctive or an assembly reference?) [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\GraphicBasedHarvestSy
stems\LumberHarvest\LumberHarvest.cs(94,24): warning CS0108: 'UltimaLiveLumberjacking.Configure()' hides inherited memb
er 'HarvestSystem.Configure()'. Use the new keyword if hiding was intended. [C:\Users\rober\Desktop\ServUO\ServUO-maste
r\Scripts\Scripts.csproj]

Build FAILED.

C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\GraphicBasedHarvestSy
stems\LumberHarvest\LumberHarvest.cs(94,24): warning CS0108: 'UltimaLiveLumberjacking.Configure()' hides inherited memb
er 'HarvestSystem.Configure()'. Use the new keyword if hiding was intended. [C:\Users\rober\Desktop\ServUO\ServUO-maste
r\Scripts\Scripts.csproj]
C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Custome's\UltimaLive-master\ServerSideScripts\Core\PlayerMobilePart
ial.cs(10,48): error CS0246: The type or namespace name 'IHonorTarget' could not be found (are you missing a using dire
ctive or an assembly reference?) [C:\Users\rober\Desktop\ServUO\ServUO-master\Scripts\Scripts.csproj]
1 Warning(s)
1 Error(s)




using System;

namespace Server.Mobiles
{
public interface UltimaLiveQuery
{
int QueryMobile(Mobile m, int previousBlock);
}

public partial class PlayerMobile : Mobile, IHonorTarget
{
public static UltimaLiveQuery BlockQuery;
private int m_PreviousMapBlock = -1;
private int m_UltimaLiveMajorVersion = 0;
private int m_UltimaLiveMinorVersion = 0;

[CommandProperty(AccessLevel.GameMaster, true)]
public int UltimaLiveMajorVersion
{
get
{
return m_UltimaLiveMajorVersion;
}
set
{
m_UltimaLiveMajorVersion = value;
}
}

[CommandProperty(AccessLevel.GameMaster, true)]
public int UltimaLiveMinorVersion
{
get
{
return m_UltimaLiveMinorVersion;
}
set
{
m_UltimaLiveMinorVersion = value;
}
}
}
}
Lol Neverminded I got it Thanks anyway
 
Hello,

> I read the limit is 200 maps (huge, right). Where does this number comes from? Packet protocol?

> As of 2023, was there some map generator attempts (create everything from sea, mountains, river, biotopes?)

Alchemy
 
Back