Nexgen Advanced Ban Manager ~ By Sp0ngeb0b
What's new in version 1.02?
Two critical bugs have been fixed, see changelog for further details. On top of that, version 1.02 introduces a new feature with regards to a possible ACE exploit, which allows possible cheaters to prevent ACE from initializing them. NexgenABM now allows the admin to determine a timelimit until each client's Hardware ID and MAC Hash must be available. If the client fails to provide this info in the specified time, he will automatically be kicked. The settings can be changed ingame in the Server -> Settings -> Plugins panel.
The main goal of the Nexgen Advanced Ban Manager is - as the name suggests - the improvement of the existing ban system in Nexgen. It offers reliable functions to keep unwanted players out permanently, as it makes use of the unique and not-changeable hardware Information detected by ACE. On top of that, NexgenABM also includes the ability to ban via the player's hostname. Both, IP and hostname bans offer support for Ban Masks, which allow range banning and precise specifications.
Nexgen's original Ban Control tab has been completely revised, creating the necessary space for including access to all ban parameters. Besides that, a polished Ban Search panel has been added to complement the User friendly interface.
Coming with NexgenABM is the use of the TCP implementation in Nexgen 1.12, which kicks the Client - Server communication of UT into a new dimension. It guarantees fast, smooth and reliable data transfer with low impact on the server performance. Nexgen's original ban data was sent using UT's replication netcode, which was slow, limited and uncomfortable. Client initialization often took around 10 seconds with a full ban list. NexgenABM's banlist instead even allows the double amount of ban entries (256) and initializes the clients in a few seconds. The TCP communication is also used
for another main feature of NexgenABM ...
... called the ACE Admin panel. As you might have already thought, it integrates important ACE functions in Nexgen. It's similiar to The_Cowboy's ACEManager, as the panel provides the possibility to easily request a ScreenShot of any player plus view the detailed ACE Infos of them.
Last but not least contains this plugin the complete functions of NexgenWarn, which can and must be dropped from the server in return.
For your comfort, NexgenABM comes with an integrated setup program, which will automatically transfer all existing ban entries from Nexgen's original ban system to the NexgenABM.ini file (and eventually erase the old data in Nexgen.ini).
Version 1.02 introduces a new feature with regards to a possible ACE exploit, which allows possible cheaters to prevent ACE from initializing them. NexgenABM now allows the admin to determine a timelimit until each client's Hardware ID and MAC Hash must be available. If the client fails to provide this info in the specified time, he will automatically be kicked. The settings can be changed ingame in the Server -> Settings -> Plugins panel.
- Use of the extended TCP netcode of Nexgen 1.12
Ultra fast client initializing and data transfer
- Ability to ban per Hardware ID, MAC Hash, Hostname and introduction of Ban Masks
Unwanted players can be kept out reliable
- Revised Ban Control tab
Featuring a search function
- New Panel: ACE Admin
Ability to view detailed hardware and security Info for each client, including a function to save the data to a file. You can now directly request a screenshot from each player, which will be saved on the server.
- Includes all functions of NexgenWarn
- ACE bypass detection
Code: Select all
Nexgen 1.12 ACE v 0.8 (any version using IACEv08c) IpToCountry (optional, enables Hostname Banning) Removal of NexgenWarn
(Click on image for full size)
Credits and thanks
- Defrost for developing Nexgen and especially for his nearly forgotten work on the great TCP implementation in Nexgen 1.12.
- AnthraX for his priceless work on ACE
- Thanks to Matthew "MSuLL" Sullivan for parts of his work from HostnameBan.
- [es]Rush and MSuLL for creating IpToCountry.
- The_Cowboy for ACE_Manager
- To my admin team from the 'ComboGib >GRAPPLE< Server <//UrS//>', for their intensive testing, bug-finding and feedback, and ofcourse for simply beeing the best team to have. Big thanks guys!
- aZ-Boy for bug reporting and his suggestion for the ACE bypass kick feature
NexgenABM101 (For Nexgen 112)
NexgenABM101N (For Nexgen 112N)
NexgenABM102 (For Nexgen 112)
NexgenABM102N (For Nexgen 112N)
Code: Select all
Q: Does this plugin require ACE absolutely? A: Yes, as it makes heavy use of ACE's features. Q: What ACE versions are supported? A: By now, only ACE versions 0.8g and 0.8h are supported. In theory, every version using the IACEv08c package should work. Q: Will there be a version for ACE 0.9? A: If this version is ever gonna be released to the public, there will for sure be an update of this plugin. Until then, I can not compile this plugin for 0.9 since I don't have the specific IACE file. Q: Do I have to run IpToCountry? A: No, IpToCountry is only optional. Note that you won't be able to perform Hostname bans if you don't run IpToCountry. Q: Why are spectators not affected by HardwareID and MAC bans? A: Since all public ACE versions only perform checks on players, there is no way to detect Spectator's hardware info. Q: Banned players rejoin the game for a few seconds before beeing kicked again. Why is there a delay? A: There could be 2 possible reasons for that: 1) The player is only hardware banned, and ACE needs some time to detect the hardware Info. 2) NexgenABM uses the original Nexgen setting whether to automatically update ban entries. If this feature is enabled, the plugin waits with kicking the player until all required info is received. Although the client may have already failed the first check (IP and ID bans), it will stay on the server until its Hostname and its ACE info is received. Eventually he will be kicked. Q: How many ban entries are supported? A: 256. Q: What admin permissions are required for accessing the ACE Admin tab? A: Clients must have Moderator rights to access the panel. Q: I'm using a custom Nexgen version and there's no compatible version of this plugin available. Am I allowed to recompile this package on my own? A: Generally, if you want a version of this plugin for a custom Nexgen version, ask me and I will do the job for you. If - for whatever reasons - you are unable to get in contact with me, you are allowed to recompile the plugin with respecting the conditions stated in section 5. Q: How does the ACE bypass detection work? A: NexgenABM constantly checks whether each client's Hardware ID and MAC Hash is available. If it isn't after the specified timelimit, it will assume that the player is trying to bypass ACE and kick him.
Interesting for programmers
While working with Nexgen's 1.12 TCP functions, I encountered a far-reaching bug in Nexgen's core file which will prevent empty strings in an array to be transfered correctly. A detailed explanation and solution can be found here: here.
Code: Select all
- Version 1.02: [Fix] RequestInfo and TakeScreenshot buttons mistakenly disabled for green, gold and teamless players [Fix] Critical bug in use with Bots [Added] Feature to detect ACE bypass attempts and kick the respective player - Hotfix 1.01: [Fix] Sometimes players were erroneously considered as banned
Feedback is welcome!