uoproxy README
==============

(c) 2005 Max Kellermann <max@duempel.org>

$Id: README 240 2005-12-26 22:51:06Z make $


What is uoproxy?
----------------

uoproxy is a proxy server designed for Ultima Online.  It acts as an
Ultima Online server, and forwards the connection to a 'real' server.

Some of the interesting features:

- transparent auto-reconnect after a server or network failure
  (e.g. DSL disconnect, server maintenance); the UO client won't
  notice, macros keep running without user interaction

- backgrounding the connection, i.e. quit your client and the proxy
  will stay online, for macroing off kill counters

- multi-headed (playing a character with multiple clients)

- character change without logout

- traversing firewalls

- transparent proxying

- faking your client IP - install uoproxy on 10 different servers, and
  have 10 different IP addresses although all clients run on your
  local computer

- faking client version and hardware info

- hide multi client operation

- block spy packets

- circumventing a shard's login server (most freeshards are insecure!)

- easy exploit development (if you know C)


Getting uoproxy
---------------

You can download uoproxy on the home page:

 http://max.kellermann.name/projects/uoproxy/


Installation
------------

uoproxy was developed on Linux, but will probably run on any POSIX
operating system, including Solaris, FreeBSD, MacOS X.  You need gcc
and GNU make to compile it.  Type:

 make

(Or "gmake" if you are not on Linux).  This will result in the binary
named "src/uoproxy".  Install the files on your system:

 cp src/uoproxy /usr/local/bin
 cp conf/uoproxy.conf /etc/

Edit the file /etc/uoproxy.conf, and fill in the 'server' and 'port'
variables.


Running
-------

Type

 uoproxy

Now point your Ultima Online client (encryption disabled) at the
machine running uoproxy.  UOGateway can be used to remove encryption
and to add the uoproxy server to your Login.cfg.


Credits
-------

Thanks to the people who deciphered the UO network protocol.  Reading
the sources of many free software projects helped a lot during uoproxy
development, namely: RunUO, UOX3, Wolfpack, Iris and others.


Legal
-----

Copyright 2005 Max Kellermann <max@duempel.org>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
