Readme
Readme
Version - 1.5
Author - The_Cowboy
Release Date - Jan 16, 2012
About ACEManager
ACEManager is an add-on for Anti Cheat Engine. Besides providing GUI for configuring various client side settings
and taking ACE snapshots, ACEManager provides powerful interface to ban players using HwID and other hashes.
Through this tool, one can see, all the information obtained by ACE, in-game. Like the true country ( of players behind
proxy ), Operating System, UT version, HwID's and other related information.
Requirements
Minimum
-------------
1) UnrealTournament G.O.T.Y v436
2) Working installation of ACEv08g/h
Recommended
-------------------
1) UnrealTournament G.O.T.Y v451
2) Working installation of ACEv08g/h
3) Working installation of IpToCountry ( any version )
ACEManager can also import Nexgen_Ban_Operators. For this feature you should have a working installation of
Nexgen(version).
Installation
Assumption - I assume that you have compiled my code and have ACEManager(version).u/.int files. Refer Coding and
Compiling section if you have not compiled it yet.
Server Install:
B) Open UnrealTournament.ini
- Be sure to add ACEManager ServerActor before ACE ServerActor.
- Also make sure that it is added after IpToCountry and Nexgen ServerActors
[Engine.GameEngine]
ServerActors=ipToCountry.LinkActor
ServerActors=Nexgen(version).NexgenActor
ServerPackages=ACEManager(version)
ServerActors=ACEManager(version).ACEM_Actor
ServerActors=NPLoader_v16b.NPLActor
ServerActors=ACEv08g_S.ACEActor
ServerActors=ACEv08g_EH.ACEEventActor
Client install:
Usage
1) Server install:
You can use the following features of ACEManager through that GUI.
-------------------
Configure ACE
-------------------
Available to all players. Basically does mutate blah blah for client-side settings.
Working of each button has been explained in GUI.
-------------------
SShot
-------------------
The most admirable part of the Manager, available to all players, is this page. There is no need to
know the ID of players and no need to remember those long commands. ACE snap of the players is just a click away!
-------------------
Ban Manager
-------------------
The most attractive and useful feature of ACEManager. This page can be accessed by the admins only, where they
can manage bans. ACEManager identifies 3 kind of admins
a)Root Admin ( of the server )
b)Nexgen_Ban_Oprator ( you know who )
c)ACEManager Admin ( the guy knowing the ACEPass ) - The right of ACEManager Admin is to manage bans and
take snaps only.
2) Client install:
Advantage??
If you join a server which doesn't have ACEManager. You can still use Configure ACE and SShot ( if you know the
password ) facility with this install.
Note : ACEManager, when opened through mod-menu, will not show Ban page.
CheckBanType:
0 = only HwID check
1 = HwID+ACEMacHash check
2 = HwID+ACEMacHash+UTDCMacHash check
bAllowAnyonetoSnap:
If set true, everyone is allowed to take snap. If set to false only admin ( see the definition in
Ban Manager section ) and players knowing password of ACE can take snap.
ACEPass:
Set it to some word if you want to appoint someone as ACEManager Admin.
Note:This password is a variable of ACEManager and is used by ACEManager only.
bDebug:
set it true so that it can log the events of ACEManager
(As a beta tester, you should always set it true )
CountryFlagsPackage:
The package for CountryFlags you want to display.
If you are a ServerAdmin then you can jump directly to FAQ section. Don't forget to see the ChangeLog file.
Frankly, I was surprised seeing the popularity of this add-on. It was not long before I realized that it is the "open
source" which is responsible for it, to a large extent. You have full rights to use and modify the code without my
permission as long as you don't claim it as your own and you don't obfuscate the code or remove the script text. I
will be more than happy if you can develop this tool, further, for the benefit of the community.
I have my in-box, full of queries related to compiling ACEManager for different versions of Nexgen. So I thought
would be better to write a tutorial instead of replying to everyone individually.
Follow simple steps (given in next page) and you won't find any difficulty in compiling a working version of
ACEManager.
1) So you have ACEManager folder ( containing classes and textures ) in front of you. Rename it to ACEManager
(version). To know how to find version, refer Versioning section.
2) Copy/Cut this folder to your UnrealTournament base directory ( yup, the folder containing system, music and maps
folder ).
3) Make sure the system folder contains the Nexgen(your_version).u, NexgenCC.u and IACEv08c.u files.
5) Add the following lines, in the end of the section, strictly in this order
EditPackages=IACEv08c
EditPackages=Nexgen(your_version)
EditPackages=ACEManager( version ( as that of the folder ACEManager(version) ) )
6) Make a shortcut of UCC.exe. Right click on the shortcut and open it's properties.
7) In the Target field, present in shortcut tab, write "make" ( without quotes ) after a space of what is already written.
9) You will see a black screen and some list scrolling on and on. Don't worry, it will be over soon.
10) After the screen disappears, you will find ACEManager(version).u file in your system folder :).
Note:Of course, there are other methods of compiling, like using WOT Greal, I have written this tutorial so that a
person having absolutely no knowledge of coding can compile ACEManager according to the version of Nexgen and
ACE .
You have full rights to release the package you have compiled, with or without modification of the original code. But
please follow this procedure while releasing-
- Prepare a TXT or PDF file mentioning of what exactly you have done. Don't forget to mention the date of release.
- While zipping the contents, you should include the original ReadMe, that is, this PDF file and ChangeLog file ( you
can mention your modification in this file ). You can also include your modified source code ( .uc files ).
Versioning
I committed a mistake while releasing ACEManager14. Since it was meant for testing purpose, I did not create any
versioning procedure which other developers could follow while versioning their version of compilation. As result,
large number of packages are now floating around and leading to confusion.
If you plan to compile a new version of ACEManager, please follow this nomenclature.
ACEManager<version-of-code><version-of-ACE><version-of-nexgen><your-version><number>
version-of-code - is the version of code I have written. For now it should be 15.
version-of-ACE - last two numerical in the version of ACE e.g 08 for ACEv08h.
version-of-nexgen - last two characters e.g for Nexgen112 it should be 12 for Nexgen112N it should be 2N.
your-version - should be something very random like the first letter of your name and first letter of today's day
eg T from The_Cowboy and S from Saturday thus version = TS.
FAQ's
Note:I don't have any idea how these hashes are calculated. Nor am I sure if they
can be used to ban a player( as there could be cases of duplications ).
Banning on basis of HwID is perfectly safe though, but it might be spoofed.
BPI[0]=(PlayerName="",playerIP="",PlayerHWID="",PlayerMACHash="",PlayerUTDCHash="",PlayerRealIP=""
,PlayerUTVersion="",PlayerOSString="",PlayerBanReason="",UTCommandLine="",CPUIdentifer=""
,CPUMeasuredSpeed="",CPUReportedSpeed="",NICName="",ACEMD5="",IsOccupied=False,bTunnel=False,
bWine=False)
BPI[i] is the array of banned player. This array stores all the info of banned players.( 'i' represents the index number )
Now when you ban any player this particular array element gets filled with information of the player. For instance,
BPI[0]=(PlayerName="The_Cowboy",playerIP="192.168.1.2",PlayerHWID="67A6ED6DBADI87y401628B304A3
E73F9",PlayerMACHash="AAD0BA4C976TFF2336CA63A169F2973",PlayerUTDCHash="3B7F24D4C857868
76873C81BC710522",PlayerRealIP="",PlayerUTVersion="436",PlayerOSString="Microsoft Windows 7/2008 R2
x86 (Version: 6.1.7600)",UTCommandLine="",CPUIdentifer="Intel(R) Core(TM)2 Duo CPU T6400 @
2.00GHz",CPUMeasuredSpeed="1992.939056",CPUReportedSpeed="1995.188407"
,NICName="Broadcom 802.11g Network Adapter",ACEMD5="",IsOccupied=True,bTunnel=False,bWine=False)
It would simply mean that the player named The_Cowboy has HwID=67A6ED6DBADI87y401628B304A3E73F9
and so on ...
Q = Can I manually ban players by adding information in ini?
A = Yes. Make sure to set IsOccupied = true after manually adding info in ini.
THANKS
# D aka Diwakar for his optimistic and encouraging attitude towards the project.
# Bruce Bickar aka BDB for mapvote.
# Mongo and DrSin for WRI code.
# [os]sphx ( his mod, Admin Tool, was of great help for designing UWindows ).
# Anthrax for ACE.
# back4more aka bfm for "exhaustive" beta testing and feedback.
# LetyLove for beta testing and maintaining the code for different versions of Nexgen :)
# All the Admins who use this add-on and give me the feedback.
ACEManager thread:
http://www.unrealadmin.org/forums/showthread.php?t=30023