================================================================================
 Universal Unreal Lite
 For Unreal Tournament (UT99)
 Version 1.11 Build 1
 December 2009
 Created By Matthew 'MSuLL' Sullivan
 http://www.unrealadmin.org/forums/forumdisplay.php?f=199
================================================================================




	*** FOR SERVERS WITHOUT NEXGEN SERVER CONTROLLER INSTALLED ***

 If you run the Nexgen Server Controller, you must install the
 regular (non-Lite) edition of Universal Unreal.

 Universal Unreal Releases: http://www.unrealadmin.org/forums/forumdisplay.php?f=199

 If you do not run Nexgen, or use ASC or HUT server controllers, you have
 selected the correct version of Universal Unreal.



================================================================================


I know it looks long and complex. It's really not :)

If you have questions or need support with installation and usage
of Universal Unreal, please visit the site above and post your
question in the official Universal Unreal forum.

Demo Installation:
http://www.ut-slv.com/universalunreal/

Screen Shots & Features:
http://www.ut-slv.com/universalunreal/index.php?p=help

================================================================================
  UPGRADING FROM A PREVIOUS VERSION
================================================================================
 1. Rename all instances of UniversalUnrealLite1xx-Buildx to
    UniversalUnrealLite111-Build1 in your server's configuration file.

 2. See the UT SERVER INSTALLATION GUIDE section below to check for any new
    settings you wish to use.

 3. The UT server component and the web component both transfer version
    numbers in communications to avoid issues with compatibility. Don't be
    concerned if Universal Unreal isn't working if you haven't updated both
    the UT server component and the web component yet. DO NOT RE-IMPORT THE
    UniversalUnreal.sql FILE, IT IS FOR NEW INSTALLATIONS ONLY!

 4. Individually transfer settings from the previous constants.php file
    to the new version. DO NOT SIMPLY COPY / PASTE THE ENTIRE CONTENTS OF THE
    OLD FILE INTO THE NEW ONE!

================================================================================
  TABLE OF CONTENTS
================================================================================
 1. INTRODUCTION
 2. REQUIREMENTS FOR UT
 3. REQUIREMENTS FOR WEB SERVER
 4. WEB SERVER INSTALLATION GUIDE
 5. UT SERVER INSTALLATION GUIDE
 6. CREDITS & COPYRIGHT NOTICES
 7. LICENSE
 8. VERSION HISTORY
 

================================================================================
  1. INTRODUCTION
================================================================================
What is Universal Unreal?

Universal Unreal is a system by which players can better connect
with each other for enhanced gameplay. Universal Unreal is a group,
or 'Universe' of servers with a common player base. For example,
UT Strangelove players and servers could make up a 'Universe'.
Players can create an account on your installation's website
to take full advantage of all the features of Universal Unreal,
both in-game and online.  It's a bit like Xbox Live, but free
and open source.

Universal Unreal also includes a player information system,
accessible from in-game and online. This system records
information like Nexgen client IDs, player aliases,
IP addresses, hostnames, and access history. The information
system also logs Nexgen mute, rename, kick, and ban actions,
to simplify administrative research needs.

For each community / grouping of servers, there only needs to be one
universe web server installation, and then each UT server is configured
to connect to it.
   


================================================================================
  2. REQUIREMENTS FOR UT
================================================================================
Universal Unreal Lite 1.11 is for servers that *DO NOT* run the Nexgen
Server Controller. If you run Nexgen, please do not use the "Lite"
versions, but instead the regular package, which is optimized for use with
the Nexgen Server Controller. This "Lite" build does work with ASC and HUT
Server Controllers.

Nexgen Server Controller: http://www.unrealadmin.org/forums/showthread.php?t=26835
Universal Unreal Releases: http://www.unrealadmin.org/forums/forumdisplay.php?f=199

This software requires an open TCP port (much like UT web admin).
For many hosts, the UT server port works just fine (7777 by default). And yes,
you can run both UT and Universal Unreal on the same port, as UT's communications
are UDP packets, while Universal Unreal's are TCP. You might have to
contact your server host to find out what ports are open. The following game
providers are known to already have ports open to TCP traffic:
 - JCHost (www.jchost.net) : Port 8080
 - GameServers (www.gameservers.com) : Port 7777
   


================================================================================
  3. REQUIREMENTS FOR WEB SERVER
================================================================================
PHP 4 or PHP 5
MySQL Database Server

To function properly, Universal Unreal will require
PHP's SESSION features, as well as the functions
ini_set, fopen, stream_set_timeout, and stream_set_blocking.
Most hosts will have these features enabled by default.
If Universal Unreal doesn't work as expected, check with your
web server host to ensure that these features are enabled.

If your web server host blocks the above functions,
Universal Unreal can make use of the cURL PHP libraries,
if they are installed. To activate this feature, find

define("QUERY_METHOD",0);

and set it to

define("QUERY_METHOD",1);

...in the constants.php file.  See step #2 below for information
about the constants.php configuration file.


================================================================================
  4. WEB SERVER INSTALLATION GUIDE
================================================================================
 1. Import the file 'UniversalUnreal.sql' into your MySQL database. If you
    are not sure how to do this, contact your web hosting provider.
 
 2. Open the file /html/include/constants.php with a text editor and fill in
    the appropriate data. Remember these settings, you will have to use them
    again when configuring the UT component.

 3. If upgrading from a previous version, individually transfer settings from
    the previous version to the new version. DO NOT SIMPLY COPY / PASTE
    THE ENTIRE CONTENTS OF THE OLD FILE INTO THE NEW ONE!
 
 4. Upload all files and folders located in the /html folder of this package
    to your web server.
 
 5. Open a web browser and navigate to your site. Check for any error messages
    generated by PHP or MySQL. If everything looks good, register for your
    account. Universal Unreal automatically grants the first account
    administrative privileges.

 6. *IMPORTANT* To add UT servers to Universal Unreal, login to your installation
    and go into the 'Administration' area of the site by clicking the link in the
    navigation pane. Click on 'UT Server Configuration' to add / remove server
    entries. Unless you explicitly add the server entries, servers will otherwise
    not be able to connect with the web server component!

 7. As users register, if you wish to grant them 'Query Admin' or 'Administrator'
    status, you can change the properties of their account from the
    'Administration' area.



================================================================================
  5. UT SERVER INSTALLATION GUIDE
================================================================================
 1. Add the new server entry to the web server component. See step 5 above.

 2. Make sure your UT server has been shut down.
 
 3. Copy the UniversalUnrealLite111-Build1.u, NexgenCC.u, and
    UniversalUnreal_CredManager.u files to the /SYSTEM folder of your UT server.

    Copy the UniversalUnrealLite111-Build1.u.uz, NexgenCC.u.uz,
    and UniversalUnreal_CredManager.u.uz files to your redirect server if applicable.
 
 4. Open your UT server's configuration file and add the following
    ServerPackages and ServerActors lines. Make the ServerActor line the *LAST*
    line in the ServerActors area:
 
ServerPackages=UniversalUnrealLite111-Build1
ServerPackages=UniversalUnreal_CredManager
ServerPackages=NexgenCC
ServerActors=UniversalUnrealLite111-Build1.ServerActor

    Note: you might be asking: why do I need this NexgenCC.u file when this
    version isn't supposed to require Nexgen? The reason is that some of the
    functions of the NexgenCC file are needed to operate Universal Unreal
    correctly.  This does mean that Nexgen itself is actually installed or
    running at any time.

 5. Add the following segment to the bottom of your server's configuration
    file and configure it appropriately:

[UniversalUnrealLite111-Build1.UniversalUnreal]
UniverseID=universe_name <---- universe ID and password must match the
UniversePass=password_here <-- values set on the web server component!
UniverseHost=www.yourwebsite.com
UniverseFilePath=/universalunreal/utinterface.php
UniversePort=80
ServerURL=255.255.255.255:7777
TCPServerPort=7777
ShortServerName=sAs <-- short name for your server, users will type this,
                        make it brief! Valid characters are: 0-9 a-z A-Z

LookupsPassword <-- to perform universal unreal lookups, a user can either be
                    logged in as admin, or enter the administrator password, or
                    enter the password entered on this line, if configured.
                    This allows "semi-admins" to perform lookups without being
                    full server administrators.

bDisableDuringMatchMode=False <-- disable during Nexgen match mode?
                                  leaving this False is highly recommended

bHideHUDForGuests=False <-- disables automatic HUD display for non-members,
                            however saying !hud / using F7 still activate it

ServerListYOffset=0 <-- offsets the server list on the HUD by y percent of
                        the total screen height, can be positive for down,
                        or a negative value to move it up;
                        not recommended unless specifically needed by users

UniverseAboutURL=http://www.yourwebsite.com/universalunreal/index.php?p=about
CollectPlayerData=True <-- enable player data system
MaxTimeout=20
ErrorLimit=10
resolvedAddress= <-- set manually if server can't resolve web host IP from DNS
bNeverPurgeAddress=False <-- set True if your server has DNS resolution issues
                             or if you had to set the value of resolvedAddress
                             manually
bDebug=False
  
 6. Save the changes to the configuration file and start the server.
    Enter the server and issue the command !moreinfo, followed by
    your short server name ( ie. !info sAs ). This makes the
    web server receive and send back data and is a great way to
    ensure everything is working as it should. If you get a message
    with the map name and number of players on the server, you
    have configured everything correctly and you are ready to go.
    If not, check out the UT server logs and see if there are any
    errors mentioned. Also you might have to contact the game host
    to ensure that you've selected the proper port on which to run
    Universal Unreal.

 7. If you wish to grant access to Universal Lookups, which gives users
    the ability to get player data from in-game, either provide them
    with the server administrator password, or the LookupsPassword,
    which can be found above in the configuration section.


If you have issues with the setup and usage of Universal Unreal,
post the nature of the issue you are experiencing here:
http://www.unrealadmin.org/forums/forumdisplay.php?f=199



================================================================================
  6. CREDITS & COPYRIGHT NOTICES
================================================================================
Universal Unreal was developed by Matthew 'MSuLL' Sullivan, with much
assistance and support from Daan 'Defrost' Scheerens, the creator of Nexgen,
which enables the whole thing to run as it should. Additionally, many parts
of Universal Unreal depend on large code segments and adaptations from Nexgen.
Defrost, without your assistance Universal Unreal would not exist. Thank you
so very much for all your work with this project.

Universal Unreal logo design by soOthing.rash aka low~tide.

Universal Unreal's UT-based HTTP client was evolved from its original
implementation in IpToCountry by Rush and AnthraX. Without their previous work
with improving the UBrowserHTTPClient, I'm not sure if I would have ever
got this program off the ground.

PHP authentication methods and session handling were created by Jpmaster77
a.k.a. The Grandmaster of C++ (GMC), from his project 'Login System v.2.0'.

HTTP special character encoding / decoding inspired by LinuxCharsetFix by AnthraX.

Voice notifications recorded from AT&T text-to-speech engine (voice: Mike).

Web layout and CSS from the 'rhuk_milkyway' template default to Joomla! 1.5.

Thanks to:
Mr.Strangelove for some wonderful extra features in the web-based query system.

Azazel and the entire team at UnrealAdmin.org for years of great support,
and a forum from which to launch this new program.

|KOA|The_Dave and Slim_Shady for being right behind me every step of
the way for all these years. When I ask for root access to your databases
and web servers with no explanation, you two never ask questions. Thanks
for the trust and support guys.

GF-REX, Crossy, Mr.Strangelove, Shatter, DeadlySin, Spongebob, SuB, and all
the players of WhartHog's PigPen UT Server.

The players of the UT strangelove community and all the players and server
admins of the following servers:
KOA Public Clan Server
KOA Private Clan Server
Fk Clan Server
WhartHog's PigPen
PsK Clan Server
IG Clan Server
NY Old Skool StrangeLove Server
OsL Clan Server
KOA Private Clan Server
UrS London Clan Server
UrS Amsterdam Clan Server
sYs StrangeLove Server

Epic Games for making this game. Creating a game that lasts over ten
years and still thrives is not a small feat.
   


================================================================================
  7. LICENSE
================================================================================
This project is open source. However, the following restrictions apply:

 - You may not remove any credits listed on the 'Credits' web server component page.

 - You may not remove or modify the PayPal donation button on the 'Credits'
   web server component page.

 - You may not modify the link to the credits page on the bottom of every web
   server component page.

 - You may not sell this code. All code for this project was created by
   those listed above from their own open source projects.
   


================================================================================
  8. VERSION HISTORY
================================================================================

== Universal Unreal Lite v1.11 Build 1 [December 29, 2009] ==
 - [Changed] Recomplied for version compatability with non-Lite build

== Universal Unreal Lite v1.10 Build 5 [June 13, 2009] ==
 - [Added] Real-time player information on web component for each server
 - [Fixed] Compatibility with non-English language versions of Unreal Tournament
 - [Fixed] Misc. bugs

== Universal Unreal Lite v1.10 Build 3 [May 7, 2009] ==
 - First port from Nexgen-based builds, initial public release