Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fungos/uoproxy

Fork of https://gitorious.org/uoproxy/uoproxy
https://github.com/fungos/uoproxy

Last synced: 22 days ago
JSON representation

Fork of https://gitorious.org/uoproxy/uoproxy

Awesome Lists containing this project

README

        

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

(c) 2005-2012 Max Kellermann

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 the
following to compile it:

- gcc
- GNU make
- libevent development files (package "libevent-dev" or "libevent-devel")

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:

make install

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.

Running with Razor
------------------

As of version 0.4, uoproxy is once again compatible with Razor,
thanks to patches from Calin Culianu. Tested and works with Razor
1.0.12. You need to set the 'razor_workaround yes' configuration
option in the config file to enable compatibility with Razor. The
Razor workaround involves telling the UO client to reconnect to
uoproxy on login (which is what Razor expects). This has the added
side-effect of enabling server-side compression, which is also what
Razor seems to expect.

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-2010 Max Kellermann

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.