0% found this document useful (0 votes)
74 views6 pages

Readme

ACEManager is add-on software for the Anti Cheat Engine that provides a graphical user interface for configuring client-side settings, taking snapshots of players, and banning players using hardware IDs and other hashes. It requires Unreal Tournament 2004 and a working installation of Anti Cheat Engine version 8 or higher. The document provides instructions for installing and using ACEManager on servers and clients, compiling the source code, and versioning conventions.

Uploaded by

Ravi Mohan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views6 pages

Readme

ACEManager is add-on software for the Anti Cheat Engine that provides a graphical user interface for configuring client-side settings, taking snapshots of players, and banning players using hardware IDs and other hashes. It requires Unreal Tournament 2004 and a working installation of Anti Cheat Engine version 8 or higher. The document provides instructions for installing and using ACEManager on servers and clients, compiling the source code, and versioning conventions.

Uploaded by

Ravi Mohan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Product – ACEManager ( Source Code )

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).

Note: Different versions of Nexgen require different versions of ACEManager.


Again Note: I have coded ACEManager such that it strictly depends on the particular version of Nexgen and ACE. If
you have some homemade versions of any of these, you might want to refer Coding and Compiling section. If you dont
use nexgen on your server, then just compile ACEManager using any nexgen( version ).u file and make sure that this
file is present in your system directory.

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:

A) Move ACEManager(version).u/.int contents to your System folder.

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

C) So now your UnrealTournament.ini should look like

[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:

A) Move ACEManager(version).u and ACEManager(version).int to your System folder.

Usage

ACEManager can be used in two ways.

1) Server install:

If it is installed in server then -:

Open the ACEManager GUI in-game, by typing "mutate ace manage".

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:

Open GUI in-game through the mod menu.

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.

INI Settings ( Server install )

Following variables can be found in ACEManager.ini

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.

Coding and Compiling

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.

4) Open UnrealTournament.ini and scroll to [Editor.EditorEngine] section.

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.

8) Click on OK and double-click on the shortcut.

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 :).

11) Open notepad and write


[Public]
Object=(Name=ACEManager(version).ACEM_MenuItem,Class=Class,MetaClass=UMenu.UMenuModMenuItem)
and save it as ACEManager(version).int ( instead of .txt ).

12) So now you are ready!!

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 .

Again Note:Different versions of ACE might require minor changes of code.

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.

number - To distinguish the successive versions you may compile :P

ACEManager150812TS1 is a valid example.

FAQ's

Q = Why this thing is better than other banning mods?


A = This 'thing' uses the HwID generated by ACE, as banning parameter. Not only this, but MACHash and UTDCHash
can also be used as banning parameters.

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.

Q = Banned player is now kicked instantly from server. How?


A = Well, I did something new in this installment( v1.5 ). What you should know is that for many cases the banned
player will be kicked even before ACE actors are spawned :). So in a way, your server will experience lesser load.

Q = What is this ACEManager_BanList.ini?


A = All the information of the banned players is stored in this file.
You might be seeing this type of file for first time. But on applying some brains you can figure how it 'ticks'.
Let me demonstrate

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.

Links & Contact

For any queries regarding ACEManager contact me @ Unrealadmin.org.

ACEManager thread:
http://www.unrealadmin.org/forums/showthread.php?t=30023

You might also like