Neither one of those things is true.
I removed, renamed actually, the only uoclient.cfg file present in my copy of the Modern Distro. I then launched POL and it started-up just fine.. It did not shut down and no warning was printed to the console. Obviously no listen port was printed to the console because there was no uoclient.cfg file of course. Also, obviously, with no uoclient.cfg file I could not log-in. In my never humble opinion POL should error out if this file is not present in the server.
The other issue is that the documentation clearly states that only one uoclient.cfg file is allowed, not recommended, not suggested but allowed. This also is not true. I have addressed this with both Turley and Nando. Turley explained that if it is changed now that it might break some shards that have more than one. Fair enough but not an adequate reason in my mind because it would be an easy fix for those few shards that it might break. All that would be needed is to consolidate the settings into one file. Nando's explanation was a better defense for not requiring only one instance of uoclient.cfg. He said that probably, because there are no active developers around from the days when uoclient.cfg was implemented, it was intended to be placed in packages set-up for different expansions. A good reason but if this is going to be the way it is then the documentation should be updated. Personally I think it is less confusing to have one uoclient.cfg file and have the different client's options in one place.
Tonight I decided to experiment with putting two (2) uoclient.cfg files in a server to see how it works. Here are the relevant settings from each file:
One was placed in /pol/config, the main config directory:
Code: Select all
Listener None
{
Port 2593
Encryption none
AOSResistances 0
}
Code: Select all
Listener None
{
Port 5003
Encryption None
AOSResistances 0
}
In my servers.cfg I have:
Code: Select all
GameServer Distro01
{
Name Distro-Local-5003
IP 127.0.0.1
Port 5003
}
GameServer Distro02
{
Name Distro-Local-2593
IP 127.0.0.1
Port 2593
}
POL only reported listening on port 5003:
Code: Select all
Game is active.
Listening for UO clients on port 5003 (encryption: 0,0x0,0x0)
So I did a little bit of experimenting and changed the IP to my LAN IP for the 2593 server and then I could login to both servers listed using either port. So I thought "maybe it's just a problem with the localhost IP." After all this would not be the first time Windows had a problem with its TCP/IP stack. I set both servers to my LAN IP and again I could only login on the client configured for port 5003. Just to be clear I used the actual IP address and not the "--lan--" setting.
Correct me if I am wrong but it is my understanding that the Internet Protocol allows multiple services to be able to access a machine on the same IP address using different ports. I do not know if this has to do with the "servers.cfg" part of POL or if it is a problem with the "uoclient.cfg" part of POL or both but this appears to be an issue, especially if someone was to set-up a login server with POL where they might be running two or more shards, say a live shard and a test shard.
This does bring-up a question with having more than one uoclient.cfg file. Because developers can have a player method script defined in that file, and there can only be one method script defined in the file, how would it work if I defined a different method script in each uoclient.cfg file or would it work at all?