==============================
NexgenXCGE server actor readme
==============================

=============
Installation:

Requires XC_GameEngine.
On the Server/Game main ini:

[XC_Engine.XC_GameEngine]
ServerActors=NexgenXCGE_01.NexgenXCGE_PreLogin

If you don't have a XC_GameEngine entry, copy it from GameEngine instead of making a new one or ugly things happen.


===========
Description

This PreLoginHook actor will allow the IP component of Nexgen bans to reject players
before they even get to load the map, just like default ip bans.
The ban reason is also displayed on the client's Log.

In theory, all versions of Nexgen and NexgenABM should be supported.

This is extremely useful for saving server resources and keeping those
able to bypass NexgenABM bans out.


====================================
PreLogin hook Description for coders

This is a PreLoginHook actor (subclass of XC_Engine.PreLoginHookElement),
it autoregisters itself to XC_GE's PreLoginHooks list and gains the ability
to interfere with a player's PreLogin function.

How does this happen?

event PreLogin( string Options, string Address, out string Error, out string FailCode)
{
	HOOK: PreProcess PreLogin (runs thru all PreLogin hooks)
	//default code start
	...
	//default code end
	HOOK: PostProcess PreLogin (runs thru all PreLogin hooks)
}

Then both of these are called on your actor:

function PreLoginHook_PreProcess // Called before PreLogin
(
	string Options,
	string Address,
	out string Error,
	out string FailCode
);

function PreLoginHook_PostProcess // Called after PreLogin (only if passes PreLogin)
(
	string Options,
	string Address,
	out string Error,
	out string FailCode
);

This allows every hooked actor to alter the Error and FailCode values with simple unrealscript code.
The only requirements is to simply spawn the actor via ServerActors or any other means.
