+----------------------------------------------+
|    _  __                            __       |
|   | |/ /________  ____  _________  / /__     |
|   |   / ___/ __ \/ __ \/ ___/ __ \/ / _ \    |
|  /   / /__/ /_/ / / / (__  ) /_/ / /  __/    |
| /_/|_\___/\____/_/ /_/____/\____/_/\___/     |
|                                              |
| Version 3.4.8 Release date: 12th Nov 2012    |
| w/site: http://www.unrealize.co.uk           |
| email: xconsole@unrealize.co.uk              |
|                                              |
+----------------------------------------------+


                                        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
        A featureful IRC client supporting auto join, auth etc.
        
        
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

See changelog.txt for info on changes etc.

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

        I've been informed that some CSHP setups might see XConsole as a cheat and may cause you
        to be kicked from a server, depending on the setup, but I think most admins are aware of
        xconsole by now so it shouldn't be a problem. If you have any problems at all please 
        email me with details.
        Most problems can be rectified by just setting LogPage=False in XConsole.ini

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


                                        INSTALLATION

All operating systems:

        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=False
        UTDC2Page=True
        DemoPage=True
        CustomPage=True
        IRCPage=True

If you are not any sort of admin you will probably want to change AdminPage,
ServerPage, PurePage, ASHPage and UTDC2Page 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'

        If you have DemoManager installed you will need to switch the demo engine setting in
        UnrealTournament.ini back to default:

        DemoRecordingDevice=Engine.DemoRecDriver

        NOTE:

        Deleting demos from the dropdown box does NOT delete the demo, only the name in the
        list. Reason for this is that deleting files isn't supported in UScript and it would
        need a .dll to do it, which would not work across platforms anyway, only in windows.
        I do not intend to make a .dll (at the moment anyway).

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

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

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

IRC

    An extended version of the default IRC client. Supports autojoin, autoauth and aliases.
    Supports tab completion for some commands and nicks but this may still be a bit buggy.

    To autojoin/autoauth you need setup some networks:

    /network add <shortcutname> <server>
    /channel add <shortcutname> <channel>
    /auth add <shortcutname> <authcommand>

    example:

    /network add uta irc.utassault.net
    /channel add uta utapug
    /channel add uta utassault
    /channel add uta myclanchannel
    /auth add uta msg nickserv identify <password>

    Now you can join server in server box, or by typing '/connect uta' and it will autojoin 
    #utapug etc and send the auth command *but only when status window is visible*.

    NOTE that there is a delay before joining which is configurable in xconsole.ini as 
    AUTOJOIN_WAIT. It's set by default at 250 (2.5 secs ish) but you can experiment a bit with
    this. If it's too fast then it will try to join channels before properly connected, which
    won't work.

    It also supports simple aliases:

    /alias add <shortcut> <command>
    /alias del <shortcut>
    /alias (lists aliases)

    Example:

    /alias add uta connect irc.utassault.net

    Then typing '/uta' will connect to utassault.net.


    Note: To remove any of the above settings use 'del' in place of 'add':

    /network del uta
    /channel del uta utapug

    OTHER IRC STUFF

    Added an autojoin function for kicks. (Can be turned off in XConsole.ini)
    There are a few extra commands for IRC:

    /networks or /nets                      Lists networks
    /channels or /chans                     Lists autojoin channels
    /auths                                          Lists autoauths
    /wut                                            Says the server you're currently playing on

    And a few commands have short aliases:

    /connect or /c
    /join or /j
    /part or /p
    /kick or /k
    /kickban /kb

    Note: You do not need to type a '#' in front on channel name for join etc.
    There is also a simple right click menu with /whois /msg /trout etc.
    Banning is now done on network address instead of UT's old method of nick.
    Fixed old UT bug when messaging nick/chanserv.
    Banning is now done by *!*@HOST-ADDRESS same as most IRC clients. The old behaviour
    was just to ban the nick ( nick*@* )


IRC BUGS:

    There are some bugs in UT's irc link code that strip colons and !'s from start of line.
    So if someone types a smiley :) you will only see the ).
    It also does not support /topic and /names properly.
    I did fix some bugs and made my own irc link but this gets detected as a cheat by
    League AS CSHP and will disconnect you, so for now it's better to put up with bugs.
    For some reason if you get forwarded to another channel then the user list is empty but
    does fill up when people join. I haven't figured out why yet. But I've only seen this
    on some big channels like ##linux on freenode.
    The console font size only changes the text area and input box font. UT doesn't seem
    to allow setting a lot of the other elements as far as I can tell.

TODO:

    Customisable right click IRC user menu maybe.


    That's about all the features so far. If you can think of anything extra worth adding
    let me know at xconsole@unrealize.co.uk


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


                                        CONSOLE COMMANDS
 
For a list of console commands type 'help commands' in UT

*notes: None of them 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.

Textured backgrounds

        There are three types of backgrounds - the console, IRC status and IRC channels.
        You can use any type of texture you like but obviously bigger the better. It does
        take maybe a little longer to load the console at startup, but I think it's worth
        it.

        Here's a list of textures you might want to check out:

        Botpack.BlueSkin2 (default)
        UWindow.BlackTexture (plain black)
        unreali.silver
        Botpack.ASMDAlt_a00 (an animated shock ball)
        Botpack.ASMDex_a00
        Botpack.bigshockmark
        Botpack.exp1_a00
        Botpack.exp2_a00
        Botpack.JBoulder1
        City.skyblu
        City.stucco4
        Genfluid.bluesky
        Skybox.nebula

If anyone has some other examples (from the default packages only) let me know and I will
update this list.


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.

UTDC2 is similar

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.

IRC

        A slightly improved version of the default IRC client.
        Supports autojoin channels, autoauth with nickserv etc, colours, hostname ban and more.
        There are some bugs with UT's IRC Link code though that removes : and ! from start of
        lines, i.e. if someone types a smiley ':)' you will only see the ')'

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

                                        BUGS

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

The .ini files will be created automatically on first use if they don't exist.

On unzipping the folder in your UT top folder this is the 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 

UnrealTournament\Help and UnrealTournament\XConsole-docs:

    xconsole-readme.txt = this file

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

Thanks to all the beta testers and feedback

Dave

AKA Quasi^ & <[NBS]>~V~

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


