UO Auto-Map Dedicated Server
Short for UO Auto-Map Dedicated Server, UOAMSVR is a stand-alone, light-weight, high-performance, general-purpose UOAM server that runs either as an NT service or as an icon in the status area of the Windows task bar. It is designed to allow server administrators to easily set up and configure a powerful UOAM server capable of serving multiple groups of players at the same time.
If all of that sounds like Greek to you then may I suggest that UOAMSVR is probably not for you. Because UOAMSVR is targeted at system administrators, I do not intend to spend nearly as much time explaining how it works as I have spent explaining UOAM. If you aren't already very familliar with how UOAM's linking feature works then you are reading the wrong document.
Likewise, if you aren't planning on setting up a dedicated UOAM server then UOAMSVR is not for you. There's very little that UOAMSVR does which UOAM can't do and if it isn't immediately obvious why you would want UOAMSVR then you probably don't want it at all.
What UOAMSVR Does
It enables your computer to behave as if it were running a whole bunch of individual UOAM servers each managing their own set of players. It runs on any machine capable of running UOAM. On NT systems, it is capable of running as an NT service. It can be administered directly on the machine or remotely. It runs in a very small footprint both internally and visually. Most of the time the only visible indication you will have that it is running will be a small icon on the task bar (see the screen shot above and to the right) and if it's running as a service you won't even see that.
What UOAMSVR Does NOT Do
It does not display a map. It does not show where players are in the game world (connect to it with UOAM if you want to see that). It does not interact with Ultima Online in any way.
How It Works
Type UOAMSVR -? for a list of command line options. (Don't know what a command line option is? Click here.)
Use the -pw option to specify an administrator password. You will ALWAYS want to use an administrator's password. If you don't specify a password, then UOAMSVR will chose a blank password for you allowing virtually anyone to mess around with your UOAM server's configuration.
By default, like UOAM, UOAMSVR listens over port 2000. You can change the port by using the -p command line argument.
When you run UOAMSVR it will place a small icon on your task bar and immediately begin listening for UOAM clients.
Naturally clients will need to know your IP address to connect. I'll assume you know how to figure out what your IP address is.
If you double click on the icon, it will bring up a dialog that looks like the one to the right.
Notice that this dialog looks just like the UOAM Info pane with one important exception: at the bottom of the dialog is a small group box that lists the number of active sessions and the number of players that are currently connected to your server.
A definition is in order here. A session is a set of players that are all visible to one another. Players are assigned to a session based upon the password that they use when they connect to your server. In other words, each time a player connects to your server with a different password, they create a new session.
In its default configuration UOAMSVR has no password restrictions and therefore it can host a potentially unlimited number of sessions at one time. I'll explain how you can change this behavior when I talk about the Configuration dialog.
If you right-click on the UOAMSVR icon you will get a pop-up menu. One of the options on that menu will bring up the Clients dialog shown at the right.
This dialog shows all the sessions that are currently active (have at least one player in them) on your server. Clicking on a + box will open up the session and list all of the players that are currently connected to that session.
Notice that sessions are shown in square brackets [like this] and players are shown indented under their session.
You can right-click on any player in this list and ban that player.
Banning a player prevents him from connecting to ANY session on your server until you revoke the ban. (Even if you shut the server down and restart it later.)
Another option on the UOAMSVR icon's pop-up menu will bring up the Configuration dialog shown at the right.
This dialog allows you to restrict the set of sessions you wish to host on your server and it also allows you to directly manage the list of banned players.
Right-click on either list to see a context menu that allows you to manage the entries in the list.
When you first start UOAMSVR your sessions list will probably be empty and therefore this dialog will probably tell you that you have no session restrictions. If there are any entries in this list then your server will only accept connections using one of the passwords in this list.
WARNING! Any players who are connected to active sessions that are not recognized by UOAMSVR will be dropped by the server. Be particularly careful adding the first entry to this list as it will immediately invalidate any other active sessions that are currently connected to your server.
The legal sessions list is stored in a text file named SESSIONS.TXT (one session to a line) which is located in the same directory as UOAMSVR.EXE. UOAMSVR will periodically check to see if it needs to update this file (because you made a change in the UI) and it will also check to see if this file has been changed. This means that you can inspect or change the allowed sessions list directly from the command line just by inspecting or changing the SESSIONS.TXT file.
The banned players list shows the IP addresses that are banned from connecting to your server. Like the session list, the banned players list is stored in a text file named BANNED.TXT (one IP address to a line). UOAMSVR also periodically checks to see if this file needs to be updated or if it has been changed.
If you start UOAMSVR with the -c option it will attempt to connect to a UOAMSVR server remotely. If it succeeds then you will be able to manage the server as if it were running on your machine.
The only difference is that closing UOAMSVR will not shut down the remote server, it only closes your instance of the management console.
UOAMSVR on XP
On Windows XP (or NT or 2000) there are two additional command line options you can use with UOAMSVR.
The -r option registers UOAMSVR as an NT service. (Don't forget to specify a password!) The UOAMSVR service will be registered to auto-start at boot. You can also use NT's service management facilities to change that setting or start and stop the service by hand. A tutorial on managing NT services is beyond the scope of this document but take a look at the services applet in the control panel. That should get you headed in the right direction.
The -u option unregisters UOAMSVR as a service.
Once the service is started, you can run UOAMSVR from the command line to connect to your service and manage it. UOAMSVR will automatically detect that you have a service running and attempt to connect to it as a remote management console. Closing the console will not stop the service. You need to use NT's service commands for that.
UOAMSVR is easily capable of serving hundreds of players connected over dozens of sessions. While stress testing, we had nearly 1000 UOAM clients connected over some 50 sessions and the server didn't even work up a sweat. However, don't think that it's going to be able to serve hundreds of people all connected to the same session.
My experience has been that when you get around seventy players all connected to the same session, the UOAM clients begin to be overwhelmed with the amount of data they are receiving from the server and they occasionally begin dropping their connections to the server.
Rest assured that this does not harm the server in any way but it does mean that if you start trying to cram too many people on to a single session then you can expect that people are going to be dropped. If this happens, it's time to split the group up. (Of course by then you will have already noticed some serious clutter on your map from the names of all the players you're tracking so I suspect this won't really be much of a problem for anyone.)
And now that you've read all of that (you DID read it didn't you?) you can download UOAMSVR v2.1 here.