================================================================================
  NEXGEN SERVER CONTROLLER VERSION 1.07
  ZEROPOINT PRODUCTIONS, JUNE 2008
  D.SCHEERENS@GMAIL.COM
================================================================================



================================================================================
  TABLE OF CONTENTS.
================================================================================
 1. INTRODUCTION.
 2. QUICK INSTALLATION GUIDE.
 3. UPGRADING FROM A PREVIOUS VERSION.
 4. NEXGEN VERSION HISTORY.
 
 

================================================================================
  1. INTRODUCTION.
================================================================================
After about 6 months of work I'm glad to officially announce the latest server
controller system for dedicated unreal servers.

So what is this server controller anyway? Well I assume you've heard of ASC or
HUT. Nexgen is simply the sequel to these systems: it's a tool that facilitates
server administration by allowing administrators to modify & control the game
via an ingame control panel. 

Why yet another server controller, aren't two of them enough? No, because the
development on ASC and HUT has stopped. Since they are both closed source and
also lack maintainability it is no feasible option to continue their
development. Nexgen in contrast is open source and has been designed with
flexibility and maintainability in mind. 

Sounds good, but what does it really mean? Nexgen being open source means that
the source code of the system is public, so other programmers can contribute to
the development of the system, instead of just an individual that does the
development. Another special feature of Nexgen is that it has been designed to
support plugins. This will allow programmers to extend or use the functionality
of Nexgen in an easy way, without having to modify the server controller itself.
To demonstrate the advantage of a plugin system, Nexgen is divided into two
systems: the core and the extension plugin. The core system provides the basic
functionality and plugin support. The other system, the extension plugin, adds
extra functionality to the server controller. This setup has the advantage of a
relatively compact core system that is most likely to receive very little
updates (only bug fixes), while still having the ability to add new features to
the system via the extension plugin. 

Is it really worth upgrading from ASC or HUT to Nexgen? Definitely. Nexgen is
basically a combination of ASC and HUT with a lot of improvements and some new
features such as a new user account system, based on a combination of the
different systems used by ASC and HUT. The user interface of Nexgen is also much
more user friendlier then the ones of ASC and HUT. 



================================================================================
  2. QUICK INSTALLATION GUIDE.
================================================================================
 1. Make sure your server has been shut down.
 
 2. Lookup the admin password in your servers configuration file. You'll need it
    later to configure Nexgen.
 
 3. Copy the following files to the system folder of your UT server: NexgenCC.u
    and Nexgen107.u
 
 4. If your server is using redirect upload the NexgenCC.u.uz and Nexgen107.u.uz
    files to the redirect server.
 
 5. Open your servers configuration file and add the following server packages:
 
      ServerPackages=NexgenCC
      ServerPackages=Nexgen107
 
    Also add the following server actor:
    
      ServerActors=Nexgen107.NexgenActor
      
    If your server has IpToCountry installed, make sure you add this line after
    the IpToCountry server actor (ServerActors=IpToCountry.LinkActor).
  
 6. Save the changes to the configuration file and start the server. Note that
    the server controller will install itself automatically, so there is no ini
    file included with the Nexgen distribution.
 
 7. Start unreal and visit your server. If the installation was successful,
    Nexgen should now be running on your server.
 
 8. Now would be a good time to configure Nexgen. To do this open the control
    panel (say !open) and select admin login from the Client->Home tab. In the
    window that appears, enter your server administrator password (see step 2),
    and click on login.
 
 9. Once your password has been accepted a window will appear that tells you
    that your rights have been updated. Click the reconnect button to return to
    the server. Now you will have full access to all the tabs of the control
    panel. To configure your server goto the server tab and customize the
    settings to your preferences.



================================================================================
  3. UPGRADING FROM A PREVIOUS VERSION.
================================================================================
 1. Make sure your server has been shut down.
 
 2. Delete Nexgen1xx.u (where xx is the previous version of Nexgen) from your
    servers system folder and upload Nexgen107.u to the same folder.
 
 3. If your server is using redirect you may wish to delete Nexgen1xx.u.uz if it
    is no longer used by other servers. Also upload Nexgen107.u.uz to the
    redirect server.
 
 4. Open Nexgen.ini or your servers configuration file if the Nexgen settings
    are stored there.
 
 5. Do a search and replace where the string "Nexgen1xx." should be replaced
    with "Nexgen107." (without the quotes). Again the xx denotes the previous
    version of Nexgen that was installed on your server.
 
 6. If you have Nexgen.ini opened save the changes and close the file. Now open
    the servers configuration file.
 
 7. Goto the [Engine.GameEngine] section and edit the server package and
    server actor lines for Nexgen. They should look like this:
       
       ServerActors=Nexgen107.NexgenActor
      
       ServerPackages=Nexgen107
 
 8. Save changes to the servers configuration file and close it.
 
 9. Restart your server.
 


================================================================================
  4. NEXGEN VERSION HISTORY.
================================================================================

=== NEXGEN v1.07 ===============================================================
 - Fixed: Game never starts when game wait time is set to 0.
 - Fixed: Global and admin server password not being read from the servers config file.
 - Fixed: Removing an account type did not update the user account list.
 - Fixed: Changing a players name via the Nexgen control panel didn't update the player lists.
 - Fixed: Ban system not working anymore since version 1.06.
 - Changed: Maximum length of mutator list size increased (fixes the missing mutators issue).
 - Changed: Control panel height has been slightly increased.
 - Changed: Language variables have been changed to constants in order to reduce memory usage.
 - Changed: Improved performance of the configuration replication control subsystem.
 - Added: Option to prevent players from losing a frag when they switch to another team.
 - Added: Option to disable the Nexgen controlled game start.
 - Added: Support for tournament mode when Nexgen controlled game start is enabled.
 - Added: Special privilege to be able to ban players from the server that have an account.
 - Added: Option to enable / disable tournament mode.
 - Added: Map checking before loading a map during the boot phase.
 - Added: A warning message is shown once the server restarts after a crash.
 - Added: New privilege to hide a players admin status.
 - Added: Better support and control over the logging of administrator actions.
 - Added: Option to make Nexgen create log files.

=== NEXGEN v1.06 ===============================================================
 - Fixed: Accessed none warning in NexgenClient.setEncryptionParams().
 - Fixed: Unrelevant client controllers getting activated when viewing another player.
 - Fixed: Improper handling of players that disconnect before the Nexgen login procedure is complete.
 - Fixed: False 'enemy has the flag' messages shown in CTF games.
 - Fixed: Zone names shown when spectators use teamsay.
 - Fixed: Several plugin hooks not working correctly.
 - Fixed: Clients that have a different character set then the server can't initialize.
 - Fixed: Banning or kicking a player not working correctly if the player has an expired ban entry.
 - Changed: Admins or vips will no longer use free player slots.
 - Added: Support for the Nexgen message HUD for custom game types.
 - Added: Plugins can now also add client settings instead of only server settings.

=== NEXGEN v1.05 ===============================================================
 - Fixed: Custom game type description string not read from .int files.
 - Fixed: Zone names not appearing in the Nexgen HUD when using voice or teamsay commands.
 - Fixed: Some special messages aren't displayed in the center of the screen with the Nexgen HUD.
 - Fixed: Changing a players name doesn't save the name clientside in user.ini.
 - Fixed: Spectators not able to join a server when all player slots are used.
 - Changed: Plugin & GUI framework extended.
 - Added: Compatibility mode for UTPure.

=== NEXGEN v1.04 ===============================================================
 - Fixed: Game pauses during a match when a spectator leaves the game.
 - Fixed: Game not responding to certain events when the game is paused.
 - Fixed: Nexgen doesn't initialize clients joining a paused game.
 - Changed: Everyone can start the game even if an administrator is present, except in match mode.
 - Changed: Default player join and leave messages are suppressed.
 - Changed: Nexgen messages are displayed in a different color.
 - Added: Keybind for administrators to pause/unpause the game.
 - Added: Separate idle time counter for the time spend with an open control panel.
 - Added: A warning sound is played if the idle time remaining is below 15 seconds.
 - Added: A welcome message for player that are new to Nexgen.
 - Added: Retry button on the 'client ID already in use' dialog.

=== NEXGEN v1.03 ===============================================================
 - Fixed: Server crashes with: 'AActor::TestCanSeeMe'.
 - Fixed: Team balancer sometimes switches a player that has the flag.
 - Fixed: Duplicate client id's not detected.

=== NEXGEN v1.02 ===============================================================
 - Fixed: Teambalancer not working in some cases.
 - Fixed: Admins sometimes not being able to switch players to another team.
 - Fixed: Boot control panel not updated if settings are changed by another admin.
 - Changed: Increased player data storage capacity.
 - Changed: Account managers can no longer grant or revoke rights not owned by themself.
 - Changed: Account managers can no longer edit accounts of server administrators.
 - Added: Additional plugin hooks.
 - Added: Weapons can be excluded from cancelling spawn protection.
 - Added: Server reboot delay.
 - Added: !TEAMS and !GOLD commands.
 - Added: Control panel includes option to add and remove HUD class replacements.
 - Added: Additional right for allowing administrators to use the match setup control panel.
 - Added: A warning is displayed if a Nexgen.ini file is present at the client.

=== NEXGEN v1.01 ===============================================================
 - Fixed: Restarting a game changed the names of players.
 - Fixed: Player names sometimes not being colorized.
 - Fixed: Client crashes with "Assertion failed: Font".
 - Fixed: Mutator not showing up in the active mutator list.
 - Fixed: Changing a players name on v451 servers.
 - Fixed: Unable to enter a value in the separate by tags input fields.
 - Fixed: Spectators with a colon in their name can't execute message commands.
 - Fixed: Messages send by spectators written twice to the log.
 - Fixed: Chat messages send by spectators were not displayed in the chatbox.
 - Fixed: Various timings not being independent of the game speed.
 - Fixed: Joining spectators getting spawn protected.
 - Changed: The Nexgen window will now close once open mapvote is pressed.
 - Changed: No screenshot will be taken if a player has spend less then 30 seconds on the server.
 - Changed: Received private messages now include the admin title of the sender.
 - Added: A two second delay before a screenshot is taken automatically.
 - Added: Time remaining is displayed for games with a time limit in the Nexgen HUD.
 - Added: Encrypted password storage and transfer for enhanced server security.
 - Added: Mutator hooks to the plugin system.
 - Added: Option to reboot the server in the boot control tab.
 - Misc: First public release version of NEXGEN.

=== NEXGEN v1.00 ===============================================================
 - Misc: First public test version of NEXGEN.
 