+----------------------------------------------+
|    _  __                            __       |
|   | |/ /________  ____  _________  / /__     |
|   |   / ___/ __ \/ __ \/ ___/ __ \/ / _ \    |
|  /   / /__/ /_/ / / / (__  ) /_/ / /  __/    |
| /_/|_\___/\____/_/ /_/____/\____/_/\___/     |
|                                              |
| Version 3.2 Release date: 12th Jan 2009      |
| w/site: http://www.unrealize.co.uk           |
| email: xconsole@unrealize.co.uk              |
| MSN: g333z3r@hotmail.com                     |
|                                              |
+----------------------------------------------+


					What is XConsole?

XConsole is a mod that replaces your UT console and adds extra features and functions
in a small area at the top. It also adds some extra console commands.

For players:

	Easy change teams on non LeagueAS servers
	Change colours of your say/teamsay messages displayed in HUD
	Fast changing from playing to spectating and vice versa
	Logging in text or HTML with CSS support (works with CSHP but see notes below)
	Quickly dump console text to a log file using 'dump' command
	Turns on/off various types of messages in console for better reading
    Load/Save custom key configs
	Functions for LeagueAS match servers
	Demo recording
	
	
For admins and mods

	Front-end for server Admin, LeagueAS, UTPure, UTDC and ASH
	Server control for admins and LeagueAS mods
	Use the console in Command, Say, Teamsay, Admin or Moderator mode

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

					Updates to version 3.2:

Many setting formats in XConsole.ini have changed.
Now there is a player list on right side of console, irc style, with
configurable actions.

					Updates to version 3.14 rc1:

Added page for UTDC v2.x controls.

					Updates to version 3.12:

Fixed buggy buttons that got stuck behind and couldn't be pressed.


					Updates to version 3.11:

Fixed bug that logs in when login pass box clicked on with mouse.

					Updates to version 3.10:

Added demo manager tab

	There is no demo manger for Linux/Mac afaik so I decide to write one.
	Demos can be automatically or manually recorded. Demo filenames are stored in
	a text file which XConsole reads. There is no dll so it doesn't have the
	capability to list all your old demos, only the ones created by XConsole itself.
	Because it's totally written in uscript rather than	C/C++ it will work with any 
	operating system. 
	When you delete a demo from the list it does not delete the file itself, only the 
	written entry. This means that you will have to delete the files manually if you need 
	to.
	Read the Demo section in Pages below for usage.


Improved Logging

	Now when logging in normal mode player names and speech/events are in separate
	columns for better reading. There is also an option to colour names in team
	colours.
	Fixed some bugs in the safemode logging.



					Updates to version 3.01:

Made XConsole work better with StealthAdmin mod



					Updates to version 3.00:
Major changes:

League Assault

	Some people were getting kicked by LeagueAS but (fingers crossed) this is now
	fixed. The default now is not to load any of the logging parts. This is what
	was causing the kicks and client warnings. So you will have to give up logging
	if this happens. 
	But you can still use the 'dump' command in console to save	console text to either 
	html or text file. Do this *after* LeagueAS shows that your client is verified and
	connected or you will probably still get kicked.
	Any problems - just set LogPage=False in XConsole.ini

	Also the LeagueAS tab now has two extra buttons - 'listmaps' and 'allow mercs'.
	Let me know if extra commands/buttons would be useful.

Tab auto-complete

	Console now has limited auto-complete irc/bash style. Type first few letters
	of command or player name and press tab until correct command is displayed. 
	This is very new and may still be buggy. Obviously you cannot use the tab key 
	to open console	to get this to work.

	
UTDC

	The biggest addition is the UTDC page. It allows screen shots to be taken by
	player name, so no having to find out players IDs. Most of the settings can be
	controlled here too. To see the current state of a setting simply select it in 
	the	drop down boxes. The states are written into the console. To change any of
	the settings just select in the drop down box and press the on or off button.
	The settings you will need to adjust manually are the ones that need some sort
	of numerical input. Most of the controls are pretty self-explanatory.


Custom button page

	This is another addition and allows you to assign commands to buttons. Some
	examples are included. *Do not use the mass kick button offline!!* if you do,
	ut will freeze up or crash and all your goldfish will die.


Other changes:

	Now the Admin and LeagueAS login passwords are saved in XConsole.ini so it's
	faster to login.
	Fixed the focus bug so now when you open the console focus should be in the
	edit box every time (thanks go to Benjamin for help with that).

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

					INSTALLATION

	*Warning* I've been informed that some CSHP setups might see XConsole as a cheat
	and may cause you to be kicked or even banned from a server, depending on the
	setup. If you have any problems at all please email me with details. Hopefully
	the LeagueAS issues are now fixed.
	Any problems - just set LogPage=False in XConsole.ini

To update:

	There are many new parts of the .ini file for version 3.00 that it is better
	to install as new. But if your previous version already has lots of custom gametypes
	set up, you could probably just add the extra bits. To use the UTDC, Demo or Custom
	pages check 'editing xconsole.ini' at the end of this file.
	You will want to add the [XConsole.XConsole_UTDCTab] and [XConsole.XConsole_CustomTab]
	sections and add UTDCPage=True/False and CustomPage=True/False to use these pages.
	You will need to add DemoPage=True for version 3.10 if you want to use the demo
	features.
	Also you will need to change LogPage=False if you are getting kicked by LeagueAS.

	Just unzip and copy XConsole.u to your System directory.


New install:

	Unzip into your main UT directory and all the files should go to the proper folders.
	Check the file list at the end of this file if you have problems.

Windows:

	1. Start UT and go to advanced options (type 'preferences' in console)
   	2. Go to Drivers section, click on 'Console' and choose XConsole
   	3. Close the window and restart UT for changes to take effect

Linux:

	1. Edit your UnrealTournament.ini [Engine.Engine] section and change the line 
	Console=UTMenu.UTConsole 
	to
	;Console=UTMenu.UTConsole
	2. Add the line Console=XConsole.XConsole under it
	Your UT ini file should be in ~/.loki/ut/System

To uninstall reverse this process

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

					PAGES

Individual pages (tabs) can be turned on/off by setting their value to true/false or 1/0 in
the [XConsole.XConsole_CW] section of XConsole.ini.

Default settings:

	ShowHidePage=True
	LogPage=False
	MacroPage=True
	AdminPage=True
	ServerPage=True
	PurePage=True
	ASHPAge=False
	LeagueASPage=True
	UTDCPage=True
	DemoPage=True
	CustomPage=True

If you are not any sort of admin you will probably want to change AdminPage,
ServerPage, PurePage, ASHPage and UTDCPage to False.

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


Team Options

	Teamsay (TS) colours can be set (note that LeagueAS overrides these)
	Normal chat colours and kills can be set
	Quick team change button
	Toggle spectating/playing button
	1st/3rd person button

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

Show/Hide

	Turn on/off various console messages
	Info shows various server info
	Trans toggles console transparency

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

Logging

	Log turns on/off logging
	Log Lock makes xconsole enter logging mode automatically when you start UT
	AS rounds sorts Assault rounds into one log
	Safemode logging logs the text from the console between map changes and should not be an
	issue with UTPure
	Timestamp puts the game time for every event in the log (not in safemode)
	Dump button dumps all console text to a file immediately

	Its best to turn logging on/off between maps and not on a server although the Dump
	button will work anywhere
	Date Style combo lets you choose between UK/Euro or US format date for logs (this also
	affects date/time at bottom of console)

LOGGING ISSUES

	CSHPs scan for rogue actors (which most chat loggers use) and so logging will work better
	in safe mode, or by using the dump button. If no logs are generated because of CSHP
	switch to safe mode. 
	If you still get kicked then make LogPage=False in xconsole.ini. Have I said this 
	enough yet?

Turning safe mode on/off:

    Use the 'Safe Mode' checkbox/command to do this. Its best to do this between games, 
    not while on a server. You can also use 'LoadTimer' and 'KillTimer' to do this.
        
    *note: when you first install XConsole it will be in safe mode by default

Pros of safe mode:

	Should work with CSHP but let me know if you find otherwise.
	
Cons of safe mode:
		
	You can't have any timestamps in the log because it's not 'real-time' logging
	1000 line limit per log
    Actually does the logging between map changes (ie offline) so quiting UT too fast 
	(or if it crashes) might lose the info and the log.

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

Macros

	Up to ten different key configs can be used

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

Admin

	Admins can login/out issue kicks/kickbans and summon items and cheats
	Cannon button kills all the team cannons
	View button allows view from any pawn on map
	Slomo drop down box changes game speed - set it back to 'Slomo' or '1' to reset
	JumpZ drop down changes jump height - set it back to 'JumpZ' or '357' to reset
	LeagueAS Mods can also summon stuff here

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

Server

	After logging in, level can be changed by selecting game type, map and mutators.
	The mapvote checkbox will select the MapVote version from xconsole.ini, which is set 
	to MapVoteLA13 by default.

	You can set MaxPlayers, MinPlayers, MaxTeams, TimeLimit, FragLimit, CapLimit and
	set/unset game password. Most of these settings will apply just by changing the 
	values without a map change, although it doesn't usually update the F1 scoreboard.
	
	When starting a league assault game and ticking insta box xconsole will run the team
	shock rifle mutator automatically.
	
============================================================================================

League Assault

	Moderator login/out - mods can change level, summon items, turn on practise mode, stop the
	countdown and kick players
	LeagueAS commands issued via buttons:
	XHUD = ToggleExtendedHUD (shows more detailed objective info)
	Mute = ToggleMute (cycles through mute enemies, mute all, mute off)
	Show Score = show match score
	List maps = show map list
	Allow mercs = allows opponents to use mercs
	Kick and Ban buttons and a player list to kick cheaters (only admins can ban)
	Player list updates via refresh button or console reopened
	Del Passwords button will delete your saved passwords

	* I've now added a clause that only lists players with ping>0. This is because on some
	servers	server actors were showing with name "Player" and ID=0 - sometimes 2 or 3 at 
	once. This means that players will only be listed once F1 shows their ping. If they are
	not listed, wait a sec and either press refresh or close/reopen console.
	
============================================================================================

UTPure

	Pure commands can be issued via the various buttons
	Pure ON/OFF = enable/disable cheat protection (needs map restart)
	Show IPs = Lists player IPs in console.
	Netspeeds = Show player netspeeds.
	Tickrate = Show server Tickrate.
	Info = Show CSHP settings and info.
	Fix Teams = If enabled, balances the teams.
	Next Teams = Quickly changes your team.
	1st Person = Goes to 1st person view - ie behindview 0 - useful for speccing cheaters.
	3rd Person = Resorts to normal view.
	Show IDs = Lists unique player IDs - needed to kick cheaters.
	To kick/ban a player click 'Show IDs' button to find a players ID number, use one of the
	drop-down boxes to select his ID and press Kick ID or Ban ID button. The point of using 
	IDs is because of some aimbots that change the players name to that of another player, 
	which makes	normal kick/banning harder

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

UTDC

	Most settings can be seen by using the drop down boxes. The current setting is displayed
	in the console. Use on/off buttons to change settings.
	Screenshots can be made by using the shot dropdown box. This also only lists players
	with ping>0.
	You will need to change UTDCVersion settings in xconsole.ini for the version on your
	server. Default is v18. 
	Semi-admins and mods type your shot password into the 'Shot Pass' box and click 'save'.
	This will store the pass in XConsole.ini so you won't need to keep retyping it.
	If you are semi-admin on more than one server with different passes, just type in the 
	password.

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

Demo

	Play, Stop, Del (delete) and Rec (record) buttons offer manual control of demos.
	Auto Mode can be set to automatically record demos. The choices are:
	All - online and offline demos
	Online only
	No auto - dont auto record anything

	The Play Mode controls set how to play back demos.
	?noframecap will play back as fast as possible
	?timebased gives a smoother playback on some machines
	1st person locks you into one players view
	3rd person lets you move around as a spectator
	You can filter which gametypes are recorded

	Demos are stored in format Map-Year-Month-Day-Hour-Minute-Second.dem
	Demo name are stored in XDemos.ini. When deleting demos they are only deletd from
	this list. If you need to delete demos properly you will have to do it manually.
	To completely clear the list simply delete XDemos.ini.
	
	In auto mode a small window [Auto-Demo] appears in the bottom left corner of the
	screen at the start of each map. If you don't want to see this window it can be
	toggled on/off with the command 'ShowDemoWin'

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

ASH

	This page is turned off by default as I'm not sure if ASH is still being updated
	ASH commands can be issued via the buttons/drop-down boxes, with the exception of 
	changing replacement aimbot keybinds (MUTATE ASH ReplacementABKeybinds <? | Keybind>)
	due to lack of space and being a command that probably isnt used often in-game.
	To add/remove an admin type 'name | IP' in the text box and click Add or Del button.
	Use up/down arrows to scroll back/forward through admin history.
	
	"?" - Displays the current value of a command
	ON - Turns the command ON
	OFF - Turns the command OFF

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

					CONSOLE COMMANDS
 
 	Trans              Toggles console transparency on/off
 	Beep               Toggles console message beeps on/off (only script messages)
	TimeOn		       Shows date and time at bottom of console
	TimeOff		       Turns off above
 	Help or ?          Shows help
	Log                Logging on/off - does not save state when you shut down UT
	Lock               Log Lock on/off - on will auto start logging every time UT boots up
	TimeLog		       Log Timestamp on/off (not in safe mode)
	Rounds		       Assault logging in rounds on/off
	SafeMode	       Safe mode on/off 
	/C /S /T /A	/M     Change console mode - 'command','say','teamsay','Admin','Moderator'
	/Me				   Displays your name IRC style if used at the start of a line
	Info		       Some info about server, map, date, time etc.
 	ShowDemoWin        Toggle display of [Auto-Demo] window.
	DeletePasses	   Deletes saved passwords
	
	Use / as an escape character to type console commands while in speech modes

CONSOLE/BIND/EXEC COMMANDS

    Echo               Echoes text to console
    Exo                Echoes test to console + HUD
	Dump		       Instantly dumps console text to a [Dump] log file
	Time		       Shows date and time in console
	SayTime			   Says the time
	SayDate			   Says the date

*notes: None of these are case sensitive
        In say or teamsay modes, you must use '/' to make any console commands
        To swap back to command mode from admin, say or teamsay use '/c'
        Bind/Exec commands work from keybinds and in an execed file but usually only 
		offline so eg use 'Disconnect | Dump' in a keybind.

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

Editing xconsole.ini

	There are a few things you may need to set up by editing the ini file.

Server stuff

	The UseLocalMapList option will read the maps in your unrealtournament.ini. The easiest
	way to set this up is to go into the practise session options, open the map list window
	and change the maps cycled list to reflect the maps on the server. Do this for each 
	gametype you need. Using this local list GREATLY SPEEDS UP THE LOADING TIME!

	MapVote= change to reflect your server's version. Default is MapVoteLA13.BDBMapVote
	Mutators[0-19] can set for more mutators than the default tick box ones.

	You can now set up to 4 custom gametypes with 64 maps. Example using custom map list 1:

	set GameName[0-19] to your custom game name
	set UseCustomMapList1=True
	set MapList1Pos= to the position in the dropdown menu where you want the gametype listed
	set Prefix[0-19] to the prefix of the maps
	set GameClass[0-19] to the custom gametype class
	set Mutators[0-19] to add any custom mutators separated by commas
	set CustomMapList1[0-63] to list your maps (no need to add .unr)

	MapList1Pos starts at 0

	Example for Sniper Jailbreak:

	GameName[6]=Sniper Jailbreak 
	UseCustomMapList1=True
	MapList1Pos=6
	Prefix[6]=JB
	GameClass[6]=Jailbreak.Jailbreak
	Mutators[6]=Botpack.SniperArena
	CustomMapList1[0]=JB-Warehouse-III
	CustomMapList1[1]=JB-Freya][-III etc

	If map list fails to load properly, it is usually because the MapListPos is set wrong.
	You can usually find the game class by opening its .int file in notepad.

	
Log formats if LogPage=False

	LogMode=0/1 defines whether dump/logging is in html or text .log format.
	DateStyle=0/1 defines UK/Europe or USA style.

UTDC (Version 3.00+)

	There are two settings here:

	[XConsole.XConsole_UTDCTab]
	shotpassword=<pass> is for semi-admins. If you are a full admin leave it blank.
	UTDCVersion= is the version of UTDC your server runs. Default UTDCv18.

Custom Buttons (Version 3.00+)

	You can define these very easily. E.g:

	[XConsole.XConsole_CustomTab]
	ButtonText[0]=Mass Kick
	ButtonText[1]=End Assault
	...
	Com[0]=admin killall playerpawn
	Com[1]=admin killall fortstandard
	...

Demo (Version 3.10+)

	You need to add DemoPage=True/False in [XConsole.XConsole_CW] section if upgrading
	to 3.10 from 3.00 and you want to use the demo page.

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

					BUGS/TO DO

For any problems, bugs, crashes etc please mail me at xconsole@unrealize.co.uk including:
 
	Your UnrealTournament.log in the UnrealTournament\System folder (make a copy before 
	restarting UT)
	Your XConsole.ini file (erase those passwords though)
	Which server you were playing on
	Which map you were playing
	What commands, buttons etc you were using if it made UT crash
	What type CSHP on the server if you know


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

					FILE LIST

UnrealTournament\System\:

 		XConsole.u = the main package
 		XConsole.ini = saved settings
 		XConsole.int = info for UT about the package needed for advanced options
        XMacros.ini = saved key macros settings
		XDemos.ini = demo file list (gets created automatically)

UnrealTournament\Help\XConsole\:

 		readme-xconsole.txt = this file

UnrealTournament\XLogs:
		
		style.css
		favicon.ico	
		
============================================================================================

Thanks to Benjamin for ideas, testing and helping with all those accessed nones ;)

Dave

AKA Quasi^, <[NBS]>~V~, and HeadCase

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


