[ASC] ATH Server Controller 
FOR : UT 436-440-451 Windows/Linux >DEDICATED< Servers 
Version 7.44 August, 2005 
By Mickal DEHEZ, & Cedric MEGNAT
Editing & Support by MSuLL
WebSite: http://asc.atomicunreal.com/


What is ASC ? :
================

+ ASC is an addon/serverActor for UT servers : client, admin tools && advanced mod for matches.
+ It was made for an UT CTF Server, but it is now compatible with all gametypes and mutators.
+ See features part for more information, but you should install and look at all functions in with the ASC window.


Issues With UT Pure :
======================
The ASC has known problems with UT Pure, as well as the old CSHP.
While Pure won't kick clients, if the client window is called to open, the window will open up >BEHIND< the playing screen (on the UT desktop).
To reach it is quite easy.  Hit escape (ESC), and there it will be.
Perform your desired action, close the window, and then hit escape again to return to the match.


Usage Tutorial :
=================
Inside the ASC's ZIP file is a tutorial for the use of the ASC.
While this will help you with the basic to more advanced settings, it will not cover level 7 (admin) topics.
I strongly suggest you read it after the installation, as well as anyone that will be using the ASC on your server (clients & semi-admins alike).
It is web-based, and you may very easily upload it to a directory on a webserver for public viewing.


QUICK INSTALL :
================

- Shut down the server
- Modify your unrealtournament.ini/server.ini:

[Engine.GameEngine]
......
ServerActors=asc745.asc_server
ServerPackages=asc745
ServerPackages=asc7cc

NOTE : you have to put ASC Server Actor ( ServerActors=asc745.asc_server ) at the >BOTTOM< OF THE LIST ( at least after PURE ).

- You will configure most of the ASC directly in game as "[7] ROOT USER". BUT you must configure the level passwords in "asc7.ini".

NOTES : Passwords do not have to be easy (put anything) because you can directly make someone to the proper level. Both Levels 0 and 1 don't require passwords.
SuperLvl=X This indicate the minimum level required to give level to others.

- Upload: asc7.ini,asc745.u,asc7cc.u to the /system directory
- Start the server, then shut it down after about 20 seconds.
- Now download the asc7.ini file and open it.  Now there will be many new entries into the configuration file.
- Look at the bottom for the values:
	KickTime=90
	bKickidlers=False

- If you wish to use the features of the built-in KickIdlePlayers V2 modification, you need to set this to True, and also set the amount of time before a kick.
- If you wish to change any other values, you may do it now, however most other options can be changed directly in-game over the ASC's controller interface.
- Save the asc7.ini file and upload it back to the server.
- Start the server and enjoy the game.

QUICK START :
==============

+ The first time you connect, ASC will open the remote controller window, and ask you to bind a key in order to open the ASC remote window.
+ If this window does not appear, say !OPEN and it will appear.
+ Then open the window and setup your level password to ROOT USER (PasswordLvl[7]). Reconnect and setup everything you need.

IMPORTANT :
============

+ The server will generate an ID for you in "asc7id.ini"
e.g. :
[asc7XX.asc_login]
ups=0411XXXX48
This is your own server ID, all clients will recognize your server with this ID.
Please save it, make a backup of your "asc7id.ini" file. You will need this ID for any update.
If you are running more than one server, copy the same asc7id.ini on all servers running ASC you have,
(Clients will be able to use the same level password for all your servers).

=========================
>>> [IMPORTANT NOTE] <<<
=========================
There have been rare occurances where the same ID is generated for 2 different servers.  To ensure this doesn't happen,
simply open the new ASC7ID.INI file and manually edit it with random numbers for values 5, 6, 7, and 8 ( denoted by 'X's here: ups=0411XXXX48 ).
Just be sure that your ID still only has 10 numbers when you are done.



+ If you are updating ASC, edit asc7id.ini in order to keep your id (ups).
example : change [asc743.asc_login] to [asc745.asc_login]

+ Sometimes the ASC-booter doesn't boot the server (an EPIC code problem), with the option "force mutate", 
ASC will check if mutators are enabled, if not it will consider that your server has crashed, and it will reboot. 
You must have at least one mutator working in "StartingMutators" to run this option. 
Make sure your server doesn't load any mutator by default. (any localmap= setting or any actorCLP will have to be deleted)



FEATURES :
===========
- There are a ton, so the best thing to do is just install it and see for yourself!



- 8 levels, Login System and Commands :
Level 0 : NOT LOGGED / BOTS

Level 1 : PUBLIC PLAYERS

Level 2 : VIP PLAYERS
- are Not limited by the level 1 player limit.

Level 3 : SUPERVISORS
- Kick 
- Broadcast a message on the ASC HUD

Level 4 : OPERATORS
- are Not limited by the level 3 player limit.
- Change map 

Level 5 : MODERATORS
- Ban/Unban (By IP)

Level 6 : ADMINISTRATORS
- Match Administration
- Control players (Team,Slot ...)
- Control the advanced Tournament Mod :
- Force start
- Auto Pause
- Move players to another server by IP
- Control the advanced Passworded Mod :
- Allows Spectators without password
- Send password
- Not effected by built-in KickIdlePlayersV2

Level 7 : ROOT USERS
- Setup the server (boot, MOTD, levels size ...)
- Ban players by ASC ID
- Not effected by built-in KickIdlePlayersV2


Other Features

- HUD Colored Messages
- Built-In Kick Idle Players V2
- Team-kill, Respawn, Frags, and Tag protections
- Team-Balancer
- Anti-Spammer
- Booting (Random map, set mutators)
- Messaging MOTD
- Remote Controller Window

** All features might not be listed, there are so many.


Tag Protection allows admins to set so that nobody can enter with a fake server or clan tag on. 
For example, clan UrS has their members set at level 3. 
So their clan tag, "UrS" can not be worn by anyone that is not level 3 or higher.
If they do enter without the proper level, they are kicked. Once they either remove the tag,
or enter the proper level, then they may re-enter the server.

You can also set "SLOTS".
Let's say you have a 14 player public clan server. You can make 10 public slots,
2 more slots for "VIP" (clan/server friends), and a final 2 slots for members/admins/whoever.
This ensures that clan members can always play on their own server.
But some admins may not like this setup, and that's OK. It can be disabled.
 

The ASC can ban players, not only by their IP, but by their computer's ID.
So if you ban them from within the ASC (the user will have to be playing),
it is VERY hard to break through. Because even if their IP address changes,
their computer itself is still banned. To unban someone,
you must edit out their IP from the server.ini, then go to the server and click "Allow ASC Banned".
This allows the banned players into the server for 1 match. Once the banned player enters,
you select their name and click "UNBAN".


"KEYS" for the different levels are sent through the ASC. You simply select a player's name,
then select the action. This eliminates the need for having to take the time to e-mail them.
It's simple and fast.


The ASC comes with advanced tournament capabilites, 
including the ability to lock down the player count when the tournament begins (no extra players).
Also, it comes with the Auto-Pause mod. When tournament mode is enabled, the Auto-Pause mod can also be enabled.
This mod will instantly pause the game if any player leaves, making unfair teams.
Once another person comes to fill in that spot, the game automatically will resume.


SERVERS RUNNING ASC :
======================

Not all are known, to be honest, but go to ATOMICUNREAL.COM to see all community strangelove servers, which all run ASC.


THANKS TO :
============

+ Bruce Bickar, [TTH]PJMODOS, Major Disaster : For giving us good examples.
+ Gunner : For his help with the anti-teamkill mod.
+ RubberBaby : For trying it with his network.
+ All beta tester (all AToMICUNReAL's players).
+ And of course the UnrealWiki community.
+ ATHoS for allowing me (MSuLL) to edit this project.
+ Typhoon for the webspace to do all this from :D



Say Commands List:
====================

!open
mutate asc#get#window

!team
mutate asc#self#balanceteams

!vote
mutate asc#self#mapvote

!stats
mutate smartctf showstats

!asc
mutate asc#get#window

!red
mutate asc#self#team#0

!blue
mutate asc#self#team#1

!admin"
exec adminlogin

!adminlogin"
exec adminlogin

!muteall
exec muteall

!unmuteall
exec unmuteall

!pause
admin pause

!stop
mutate asc#set#stop

!forcemapvote
mutate asc#set#mapvoting

!reconnect
reconnect

!adminlogout
adminlogout

!disconnect
disconnect

!play
Change to playing slot

!player
Change to playing slot

!spec
Change to spectator slot

!spectator
Change to spectator slot