Nexgen Player Lookup System version 2.02 ~ By Sp0ngeb0b
What's new in version 2.00?
Nexgen Player Lookup is back! The concept of a complete lookup database for an UnrealTournament game-server running the Nexgen Server Controller is a must have for every server admin. But unfortunately, my original work in version 1.00 was more or less buggy and limited. So I got up and completely rebuild the system and put version 2.00 out of the ground. It adresses all of the things that disturbed me on version 1.00 and offers a reliable system with a lot new features! Short facts:
- Restructured Database
Faster access and operation + 25.000 possible entries
- New system for updating the database
Completely ereases the impact on playerjoins and prevents possible timeouts
- Ultra fast searches and 100% reliable data transfer to the admin
Say good bye to minutes of wait time and corrupted data transfers
- Hardware IDs and MAC Hashes can now be recorded aswell
- Completely overworked admin panel
Version 2.02 brings some important fixes for several bugs included in the former versions. Importantly,
a huge mistake which corrupts the entire Database has been repaired, aswell as coming with an auto-
matic database repair method.
(Click on image for full size)
Nexgen Player Lookup is a plugin for the NexgenServerController which offers a worked out database system for UnrealTournament. It will keep track of every single player who ever connected to your server and stores all important data:
- Player Names
- Player IPs
- Player Hostnames
- Player Hardware ID
- Player MAC Hash
- Actions against this player (amount of warnings/mutes/kicks/bans)
- Number of visits on your server
- Last visit timestamp
For identifying, NexgenPlayerLookup uses the unique Nexgen ID of every player.
... but wait, this is not all:
The main advantage of NexgenPlayerLookup is that it doesn't require any additional resources (like a web database), ofcourse except Nexgen. You can run this directly and only on your server! The database is able to store a maximum of 25.000 entries. Besides this, the plugin comes with a powerful in-game tab located in the NexgenServerController. You can give your admins the right to use this tab, which will give them access to do lookups for online players, and also includes the ability to perform complete database searches for a specific Nexgen ID, Player Name, Player IP, Player Hostname, Hardware ID and MAC Hash!
Credits and thanks
- Defrost for developing Nexgen and especially for his nearly forgotten work on the great TCP implementation in Nexgen 1.12.
- Thanks to Matthew "MSuLL" Sullivan for parts of his work from HostnameBan and his previous idea and work on UniversalUnreal.
- [es]Rush and MSuLL for creating IpToCountry.
- AnthraX for his priceless work on ACE
- 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 additional BETA testing
Code: Select all
Q: What mods are required to run this plugin? A: Only Nexgen112 and subversions. All other mods listed in (3) are optional and will expand the experience of NexgenPlayerLookup. Q: Why should I update to version 2.00? A: To cut a long story short: Version 2.00 outclasses 1.00 in many ways. Read (1) and (9) for a detailed explanation. Q: How do I enable Hardware ID and MAC Hash detecting? A: You need to have NexgenABM installed. If it detects the player's hardware info, NexgenPlayerLookup will do it aswell. Q: The hardware info of some players are not saved? A: Hardware info is limited by ACE to players only. Probably the specifc clients have only been connected as spectators yet. Q: Will the NexgenPlayerLookupDataBase package cause package missmatches? A: The package is only supposed to be serverside. New releases of the plugin will also require new versions of this package. But since it's only serverside, no renaming is needed. You can simply overwrite this file on the server. Never add it as a ServerPackage, nor add it to your redirect though. Q: I'm updating from version 2.00/2.01, will my database be recovered? A: There was a heavy bug in the previous versions, leading to the database becoming corrupted and the mod not working correctly. Version 2.02 comes with an automatic database repairing method, which should repair the database and recover all data, so nothing is lost. Make sure you create a backup of your (corrupted) database before updating, and wait until the repairing has been finished before using the server (restarting/mapswitching etc). The is log output in the servers ucc.log which indicates the status of the repairing.
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.
Version 2.01 fixes the client timeouts. Read the detailed changelog in NexgenPlayerLookup.uc for further explanation.
Code: Select all
- Version 2.02: [Added]: - DB repairing algorithm for version 2.00 and 2.01. [Fixes]: - DB getting heavily corrupted. - Search by ID not working. - Not all search results were transfered. - Hostnames not being saved. - Version 2.01: [Fix] - Login timeouts (both, Connection and Nexgen timeouts) have been fixed for good. - Version 2.00: [Changes]: - Database has been restructured for faster access and operation. - Database changes are only made on game-end from now on. This drastically reduces impact on the serverperfomance during player joins. - Data transfer between server -> client has been completely overworked. Now provides fast and reliable data transfers with guaranteed no packageloss. - Database searches are now performed serverside and only the results are being sent to the client. This abolishes the need to request the complete data. - The control panel has been completely revised. - Total amount of entries has been increased to 25.000 [Fixes]: - Drastically reduction of serverperfomance on player joins. Fixes the 'join-lag' and possible timeouts. - Data getting lost during sending to admins. - Huge lag spikes when performing searches. [Added]: - Ability to directly perform complete database searches within a few seconds. - Player's Hardware ID and MAC Hash can now also be recognized by the plugin. - Admins can now also search by Hardware ID and MAC Hash. - The complete lookup of a player can now be saved clientside to a txt file.
Feedback is welcome!