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!

Spawn Editor 2

ArteGordon

Wanderer
Spawn Editor 2 v1.18

Spawn Editor 2
v1.18
RunUO 1.0 version
updated 6/26/06
ArteGordon

Summary:

A standalone visual spawn editing program that works with the XmlSpawner2 system for online and offline creation and editing of xmlspawners and their spawn files as well as some online player, object, and spawner tracking capabilities.

Supports spawning of standard or custom maps.

This is the updated version of the original Spawn Editor written by bobsmart.

Here are some screen shots of the editor in action

Displaying spawns and live server items



Displaying mobiles on a live server



Downloading spawners from a selected area on a live server



Creating a new spawner


Recent Updates:

New to version 1.18
updated 10/5/05

- selection/spawn regions can now be dragged out in any direction instead of having to start from the upper left (thanks to Khaz for the suggestion).

- resolved an issue with custom muls that were placed in custom folders instead of in the default UO client directory not being used (thanks to tindo for pointing this out). Now if you change the client path in the Setup window to point to the location of your custom muls, they will be correctly used. This involves a change in the UOMap.ocx tool in the SpawnEditor2-support.rar archive, so replace the previous version and run Setup.bat again.

Features:

- Full support of all XmlSpawner2 properties and features.

- Can read any current or previous version of xmlspawner .xml file, even original xmlspawner .xmls.

- Can import all .map and .msf files

- Drag-and-drop spawner placement and spawner region sizing.

- Synchronization of spawner locations with online clients to allow for coordinated online/offline editing.

- Online player position tracking and synchronization.

- Spawn density and speed displays on the map.

- Works with default or custom maps.

- With the Transfer Server installed, real-time mobile, item, and player distributions from a live server can be displayed on the map along with spawn information.

- Load spawners into the editor directly from a live server.

- Send spawners directly from the editor to a live server.


Installation:

This system requires the latest installation of the XmlSpawner2 package (at least version 2.89) if you want to use the client Go/Tracking/Synchronization features.
If you are running RunUO 1.0 ,you need this version of XmlSpawner2 XmlSpawner2

Everything in SpawnEditor2-vxxx.rar and SpawnEditor2-support.rar go into their own folder separate from your RunUO folder. A reasonable place would be in 'Program Files/Spawn Editor' for example.
Just make the folder, unzip the contents of those two rars into it and run Setup.bat.
Then launch the SpawnEditor2.exe executable.

If you are running RunUO 1.0 then you need the .NET 1.1 Framework redistributable package installed.
This is the same thing required for the RunUO server, so if you are running that on the same machine you are fine.

For the client synchronization features just have your client running at the same time. I havent tested this with the 3d client yet.

See the Readme.htm file in the package for more details.

Transfer Server Installation:
(this is an optional addition. You dont have to install it if you dont want to, you just wont have access to the Transfer Server features of the editor. To use all of the spawner download features, you must have the latest version of XmlSpawner2 installed (at least v2.94)

1) download the TransferServer-vxxx.rar package.
2) Copy the scripts in the Transfer Server folder into your custom scripts area.
3) Place a copy of the transferserver.dll file in your main RunUO installation folder. If you dont already have a copy of zlib.dll in that folder, then add that as well.
4) Add the following lines to your RunUO Data/Assemblies.cfg file

System.Runtime.Remoting.dll
TransferServer.dll

When you restart your server, the Transfer Server will be started by default and you will see a message on the console. You can disable automatic startup by changing the default value of the 'Enabled' property in TransferServer.cs (you can then start it manually with the '[xts start' command).
By default, the Transfer Server will use port 8030 for communication. This can be changed in TransferServer.cs

To start and stop the Transfer Server at any time use the

[xts start
[xts stop

commands.

Transfer Server Authentication:
Communication between Spawn Editor and the Transfer Server is handled via a limited lifetime session ticket system. These tickets can only be obtained by users that are already logged into an account on the RunUO server with the appropriate access level (admin by default).
Each request to the server is authenticated using this unique ticket (32 byte Guid) that allows a given Spawn Editor session to communicate with the server.

To receive a session ticket, you must be connected to the RunUO server via a UO client and be logged in with the appropriate access level.

Note, neither the Transfer Server nor Spawn Editor 2 ever use, send, or access any sensitive account information.

To specify the Transfer Server address and port, open the Transfer Server Settings window from the Tools menu.

Press the 'Renew Session Authentication' button in the Transfer Server window. This will send a request for session authentication via the client. The ticket will remain valid for a limited period of time (default 30 minutes). Also, if you restart Spawn Editor, you will need to get a new ticket.
Once you have a session ticket, you are no longer required to be logged in to your RunUO account for the duration of the ticket lifetime.

Using the Transfer Server with Spawn Editor 2:
Once you have established an authenticated session, you can load information regarding item and mobile locations from the Transfer Server window that can be opened from the Tools menu.

Select the appropriate tab in that window to specify type filters that can be used when retrieving information from the server, as well as control the display of retrieved objects.

For example, to get the location of all houses on your server, just specify 'basehouse' in the item type field, then press the 'Get Items' button.
You can get anything from corpses, to statics, to boats, to xmlspawners. Just use the type name of the object you are interested in.

For mobiles, just enter the type information in the Type field in the 'Creatures' panel of the Transfer Server window.

To see the distribution of orcs on your server, just specify 'orc' in the item type field, then press the 'Get Creatures' button in the Creatures panel of the Transfer Server window.

Players will be displayed as yellow squares, Mobiles as blue crosses, and Items as green crosses.

Note that only items that are placed directly in the world will be retrieved. Items in containers or carried on mobiles will be ignored unless you enable it by checking the appropriate setting.


Troubleshooting:

Problem: SpawnEditor2.exe wont start up.

If you are having trouble starting up SpawnEditor2.exe or you receive error messages when you run Setup.bat, you may be missing some needed system dlls. To fix this problem follow these steps:

1) To find out what required system dlls you might be missing, run the dll dependency walker program 'depends.exe' that can be downloaded at http://www.dependencywalker.com/ and open up the UOMap.ocx from the File menu.

2) Note any missing required dlls that it reports (shown in red).

3) Get the missing dlls and install them in the windows System32 folder. You can probably find the dll that you need at this site http://www.dll-files.com/dllindex/
(Dont worry about missing Java dlls since Java support is not required).

4) Run Setup.bat again to install the UOMap.ocx tool.

Problem: I am running the Transfer Server and can Renew Authentication, but I have trouble sending or receiving information.

1) Check to make sure that the Address setting in the Transfer Server Settings window is correct.

2) Try changing the Port setting in TransferServer.cs (you will need to restart the server) and in the SpawnEditor2 Transfer Server Settings from the default of 8030. You may have a conflict between the use of port 8030 and some existing service such as the http server.

3) Set the path to the server .EXE in the Setup window. If if was already set, try setting it again.

Problem: How do I get the editor to display my custom muls?

1) Go into the Setup menu (Tools->Setup) and in the setting for 'Ultima Client' browse (button to the right) to your custom mul directory and select any file there (it does not have to be a .exe file).

2) press 'Ok' to close the Setup configuration window.

3) exit and restart the editor.
 

Attachments

  • TransferServer-v105.rar
    12.4 KB · Views: 1,048
  • SpawnEditor2-support.rar
    54.4 KB · Views: 826
  • SpawnEditor2-v118.rar
    113.2 KB · Views: 955

ArteGordon

Wanderer
The readme file that is included describes the basic features of the program. There are some things that didnt get mentioned. Keep an eye on the tooltips provide some additional information.

When you first run it, if it doesnt prompt you for autoconfiguration, just go into the Tools menu and select 'Setup' and perform the required initial configuration from there.

Note, you can zoom in and out of the maps using the zoom bar on the left, but you can also use a mouse wheel if you have that control selected.

The MyLoc button will simple put a cursor displaying your current position on the map if you are online and leave it there.
Selecting the 'Track' feature will update the current position cursor as you move in the client.

Note, that currently, if you select the 'Details' display that gives you access to configuring the detailed spawner properties and entries, it will switch to a fixed 1024x768 display.
With details off, you can resize the window as you like.
 

Phantom

Knight
ArteGordon said:
I dont think the support forum would be the right place, but maybe the one of the mods has a suggestion.

Its sort of a program submission forum then anything, but do what you want :)
 

ArteGordon

Wanderer
It's still not exactly what I want it to be, but I agree that it's nice to have the old Spawn Editor back. I did miss it.
I'll be working on some additional features to support more interactive online visualization and manipulation of spawners via direct server communication rather than just by offline .xml file loading. That might be a little while tho :)
 

Halciet

Sorceror
Hah hah, offline is fine with me. With this, I can create spawns on the go, then move them over to the server when I get home in the evening. I also REALLY like being able to see the exact spawn range on an overhead map; that's extremely useful for doing wilderness spawns (which I had been putting off doing until this was finished, heh heh).

I havn't read over all of the features yet, but is it possible to import all my other spawns from the server and compile them all into the MySpawner.xml file? That way I could have one large file that would spawn my entire world, which would be great, since I run two copies of my server on two seperate systems (production and development - one large file would let me mirror them perfectly for more advanced testing before I pushed from the dev server to the prod server).

And, one suggestion: perhaps bind the scroll button on the mouse to the zoom feature?

-Hal
 

ArteGordon

Wanderer
minor update to 1.00a

- fixed a small display bug in which the spawn details panel was not refreshing for spawners that were selected by right clicking on their spawn regions in the map.

(edit)

sorry, upped a version that started with the wrong window size. fixed.

(edit)

noticed another minor glitch with the updating of the spawner name in the Spawn List tree display panel on the left when you change the spawner name in the Spawn Detail panel. I'll fix that tomorrow (getting late here).
 

ArteGordon

Wanderer
Halciet said:
Hah hah, offline is fine with me. With this, I can create spawns on the go, then move them over to the server when I get home in the evening. I also REALLY like being able to see the exact spawn range on an overhead map; that's extremely useful for doing wilderness spawns (which I had been putting off doing until this was finished, heh heh).

I havn't read over all of the features yet, but is it possible to import all my other spawns from the server and compile them all into the MySpawner.xml file? That way I could have one large file that would spawn my entire world, which would be great, since I run two copies of my server on two seperate systems (production and development - one large file would let me mirror them perfectly for more advanced testing before I pushed from the dev server to the prod server).

And, one suggestion: perhaps bind the scroll button on the mouse to the zoom feature?

-Hal

There are a couple of ways that you could make one large file. You could either use the Merge option which loads in new .xml files but doesnt remove the currently loaded spawns.

You could also just make a big .xml file by doing an [xmlsave myspawner.xml or an [xmlsaveall myspawner.xml on your server and that will dump out all spawners for a facet or the entire world into the .xml file.

Note, you dont necessarily have to have a single .xml file since can always have multiple .xml files and then on the server just load them all together with one [xmlload command just by putting them all into a folder and doing an [xmlload on the folder instead of the individual files.

The mousewheel is bound to the zoom feature, but only when you click on the zoom control.

(edit)

the mousewheel binding requirement to manually set focus to the zoom control is not really a design feature (i.e. I dont like it either) but is just a current limitation of the map lib used. I'll be changing that.
 

Alari

Wanderer
This.. is incredible. :confused:;

Now all you need is an EZ-Quest program for making XMLSpawners with quests set up. =D
 
H

hudel

Guest
Good job ArteGordon, very usefull tool. Thanks for this little gem.
 

ArteGordon

Wanderer
thanks.

just a quick update to 1.00b

- fixed that name display bug in the Spawn List panel that was failing to update if you changed the name in the Spawn Details.

(edit)

- also changed the default mousewheel behavior when in the main map. Now it zooms by default (dont have to click the zoom control).
 

Alari

Wanderer
Well, I exported all my spawners ([xmlsaveall) and imported world.xml into the spawn editor. Right off the bat I encountered a problem. I compared the exported XML to what I've been working with and importing, and it's using the same parameters. (To make sure that [xmlsave hadn't fubar'd somehow. =)

I'd set up several spawners which have a location setting completely unrelated to the area the spawner actually controls. (I wanted the spawners themselves, the ones in question anyway, in a central area for easy access in-game but they're controlling different areas of one of the green acres areas) In the old spawn editor it correctly showed the areas of control, however in the updated spawn editor it shows the spawn areas all clustered around the central point where I actually have the spawners located.


Not sure if I've described this correctly. I can send you the XML snippet in question as well as screenshots of how the old spawn editor handles it and how the new spawn editor handles it.


I almost forgot to mention this other problem I ran into: I run at 1024x768, with large fonts set. If I choose "details", the window blows up hy00ge, way off the side and bottom, and the program freaks out a little as it tries to increase the window size beyond the actual borders of the screen. (Buttons no longer show up right, the map stays tiny, etc, even if I turn off "Details")
 

ArteGordon

Wanderer
Alari said:
Well, I exported all my spawners ([xmlsaveall) and imported world.xml into the spawn editor. Right off the bat I encountered a problem. I compared the exported XML to what I've been working with and importing, and it's using the same parameters. (To make sure that [xmlsave hadn't fubar'd somehow. =)

I'd set up several spawners which have a location setting completely unrelated to the area the spawner actually controls. (I wanted the spawners themselves, the ones in question anyway, in a central area for easy access in-game but they're controlling different areas of one of the green acres areas) In the old spawn editor it correctly showed the areas of control, however in the updated spawn editor it shows the spawn areas all clustered around the central point where I actually have the spawners located.


Not sure if I've described this correctly. I can send you the XML snippet in question as well as screenshots of how the old spawn editor handles it and how the new spawn editor handles it.

yeah, send me the xml snippet. It could have to do with having a spawn range setting that is not -1 in the .xml file. If spawn range is specified, then it recalculates the spawning region centered around the spawner. It is probably just the order in which I load in the props.

(edit)

hehe, ok I found it. The editor was automatically setting the SpawnRange whenever it saw the width and height of the bounding area the same. That ignored the fact that specifying the bounds with spawn range also requires that the spawner be in the center of the spawning region.

I'll fix it shortly.
 

Alari

Wanderer
Did you want what XMLSave generated or what I've been using? :> Both show up incorrectly in the spawn editor, but I wasn't sure.
 

ArteGordon

Wanderer
Alari said:
Did you want what XMLSave generated or what I've been using? :> Both show up incorrectly in the spawn editor, but I wasn't sure.

You can hold off on the xmls for the moment. I'll put in a fix and see if that takes care of it.
 

Alari

Wanderer
I'll try that and let you know how it likes my mangled XML. =D

Any idea on the other problem? (I forgot to put it in the post originally)
 

ArteGordon

Wanderer
Alari said:
Well, I exported all my spawners ([xmlsaveall) and imported world.xml into the spawn editor. Right off the bat I encountered a problem. I compared the exported XML to what I've been working with and importing, and it's using the same parameters. (To make sure that [xmlsave hadn't fubar'd somehow. =)

I'd set up several spawners which have a location setting completely unrelated to the area the spawner actually controls. (I wanted the spawners themselves, the ones in question anyway, in a central area for easy access in-game but they're controlling different areas of one of the green acres areas) In the old spawn editor it correctly showed the areas of control, however in the updated spawn editor it shows the spawn areas all clustered around the central point where I actually have the spawners located.


Not sure if I've described this correctly. I can send you the XML snippet in question as well as screenshots of how the old spawn editor handles it and how the new spawn editor handles it.


I almost forgot to mention this other problem I ran into: I run at 1024x768, with large fonts set. If I choose "details", the window blows up hy00ge, way off the side and bottom, and the program freaks out a little as it tries to increase the window size beyond the actual borders of the screen. (Buttons no longer show up right, the map stays tiny, etc, even if I turn off "Details")


I'll check out the window sizing issue.

I'll also think a bit more about how to interact with offset spawning areas, like perhaps adding an option to go either to the spawning area, or to the spawer location.

(edit)

hmm. not able to reproduce the sizing problem with 1024x768 and large fonts. I may have to poke around a bit more to figure out what the issue is.

testing out the displaced region fix right now
 
Top