Fatty April 4, 2004 Share Fatty GC Founder April 4, 2004 I've got it installed, but not configured. Looks promising! //==============================================================// UAdminMod // Version: 0.9.4 BETA // // Author: TBone // Email: TBone@Fragskill.com // Web: www.Fragskill.com // // Using this mutator as a base is PROHIBITED. // Reworking and redistributing this mutator is PROHIBITED. // // Copyright © 2004. // All rights reserved. //============================================================== 1. Description 2. Installation 3. Configuration (Includes Quickstart) 4. General Commands 5. Reserved Slots and Automatic Logging In of Admins 6. Name/Nick Filter 7. Known Issues 8. Planned Features 9. Credits 1. Description NOTE: RUNNING THIS MUTATOR WILL *NOT* DISQUALIFY YOUR SERVER AS A "STANDARD SERVER"! Inspired by the orignal AdminMod from Half-Life, UAdminMod was created to put the control of YOUR server back into YOUR hands. UAdminMod provides Reserved Slot functionality, a custom messaging system for displaying server messages, a slew of commands to help keep your players "in line", a team balancer, nick/name filters, and even automatic admin login when an admin joins the server. All of these features are highly configurable and can easily be enabled/disabled. All command usage, blocked nicks, etc, will be logged to /UT2004/UserLogs/UAdminMod.log NOTE: This mutator has a built-in feature to protect against the Unreal Tournament 2004 server exploit detailed here: http://www.securityfocus.com/bid/9840/info/ . There is no guarantee that UAdminMod will protect against this exploit. 2. Installation (Server Only) NOTE: This mutator will not load in Single Player/Instant Action. It's sole intended purpose is to be run on a UT2004 server (Listen or Dedicated). To install this mutator, simply extract the following files to UT2004's 'System' directory: UAdminModV094.u UAdminModV094.int UAdminModV094.ucl The UAdminModV094.u.uz2 file is simply a compressed version of the .u file. If you have a redirect server, place the .uz2 file in the appropriate directory. Otherwise, discard it. If you have absolutely no idea what I'm talking about, discard it. Once you've done this, add it to the list of mutators in your server's startup command line. For example: ucc server CTF-Citadel?game=XGame.xCTFGame?mutator=DualAssaultRifles2k4.DualAssaultRifles,UAdminModV094.UAdminMod Next, you need to add the mutator to your ServerPackages. Do this by opening your server's configuration file (usually UT2004.ini) and finding the [Engine.GameEngine] section. Somewhere in this section, add the following line: ServerPackages=UAdminModV094 DO NOT FORGET TO DO THAT! Finally, you need to copy the contents of UAdminModV094INI.txt to your server's configuration file (UT2004.ini by default). If you don't care about configuring UAdminMod at all, you can skip this step; the settings will automatically be added to the file the next time you start your server. 3. Configuration (Server Only) QUICKSTART: Nothing *needs* to be configured. By default, all commands will be available to admins and the balance teams command will be available to all players. All command executions will be logged to UT2004/UserLogs/UAdminMod.log, and the custom message system will be turned off. Reserved Slots will be disabled, and so will the Name/Nick Filter. SLOWSTART: First off, each of the admin commands can be enabled or disabled by setting bEnabled to true or false in their respective section. This is pretty self-explanatory. For instance, to disable the uam_slay command, go to the section labeled [uAdminModV094.UAMSlay] and change bEnabled to false. Some sections (ie, [uAdminModV094.UAMBalanceTeams]) have a setting called bAdminCmdOnly. When false, any user can execute the command. When true, a user must be logged in as an admin in order to execute the command. By default, anyone can run the balance teams command, help command, and players command. Most sections and properties relating to UAdminMod are pretty self-explanatory, but here are some details. [uAdminModV094.UAdminMod] bNotifyOfUAM = true If true, a message will be broadcast to your players that the server is running UAdminMod. The frequency of this broadcast is determined by iNotifyInterval. iNotifyInterval = 305 The frequency (in seconds) that users are notified that your server is running UAdminMod. It is set to every 305 seconds by default (5 minutes + 5 seconds to throw it out of sync with any other messages being displayed by UAdminMod). This is an integer value (whole number). The other values in this section are covered under "Name/Nick Filter" further down in this document. [uAdminModV094.UAMBroadcastHandler] bDspCustMsgs = False If true, the server will broadcast your custom messages. iMsgInterval = 240 The interval (in seconds) at which your custom messages are displayed. This is an integer value (whole number). CustomMessages = You may have up to 25 custom messages. These are the custom messages to broadcast. You may have up to 25 messages. Adding a new custom message is just like adding a ServerPackage: Simply create a new line in [uAdminModV094.UAMBroadcastHandler]: CustomMessages=My new custom message. If you exceed 25 CustomMessages, UAdminMod will begin pruning the oldest entries from the list until it is back to 25. The other settings in this section track which players are muted/llama'ed and are not intended to be modified directly. [uAdminModV094.UAMSlap] iSlapDamage = 10 This is the amount of damage done to a target player when slapped. This is an integer value (whole number). fSlapMomentum = 100000.000000 This is the amount of momentum the target player receives from a slap. I do not recommend setting this higher than 100000.000000; otherwise, you're pushing people halfway across the map. This is a floating point value. [uAdminModV094.UAMBalanceTeams] bAdminCmdOnly = false If false, any player can execute the command. If true, players must be logged in as an admin to use it. iCmdFrequency = 60 This is the frequency that non-admins can execute the command, assuming that bAdminCmdOnly is false. Regardless of this value, admins can execute the command at will. For instance, if someone balances the teams, the command is locked out for x seconds (except for admins). This is an integer value (whole number). Further configuration includes the Reserved Slots, Auto-Login for admins, and the Name/Nick Filter. See their respective sections for more information. Those 3 systems are off by default. If you do not need these three systems, then you are finished with the configuration. 4. General Commands Note: When applicable, 'x' refers to the target player's unique player ID. These IDs can be obtains by typing MUTATE UAM_LIST in your console. Command: Help Usage: mutate uam_help Description: Displays the list of UAdminMod commands in the console. Command: Players Usage: mutate uam_players Description: Displays a list of players and their player IDs in the console. Command: Change Team Usage: mutate uam_changeteam x Description: Moves x to the other team. Command: Llama Usage: mutate uam_llama x / mutate uam_unllama x Description Changes x's name to "Llama" and prevents them from speaking coherently... Oorgle! Players will have the ability to change their names back to whatever they please, but they will not be able to speak "well" until you uam_unllama them. For performance reasons, there is a max of 20 entries in the llama list. Once the list is full, the oldest entry is removed to make room for a new entry. Command: Mute/Unmute Usage: mutate uam_mute x / mutate uam_unmute x Description: Prevents x from speaking / Allows x to speak. For performance reasons, there is a max of 20 entries in the mute list. Once the list is full, the oldest entry is removed to make room for a new entry. Command: Reset Score Usage: mutate uam_resetscore x Description: Resets x's score to 0. Useful if someone is exploiting a map or something of the like, and is just racking up points. Command: Slap Usage: mutate uam_slap x Description: Slaps x and detracts a small amount of health (10 points by default). Command: Slay Usage: mutate uam_slay x Description: Kills x. Use with mercy. Between the deafening thunder, the blinding lightning, and the Sphere of Death, getting slayed really sucks. Command: Balance Teams Usage: mutate uam_teams Description: Evens the teams. If one team has 2 or more players than the other team, UAdminMod will begin shifting players over to the shorthanded team, beginning with the newest player to join. By default, this is a public command. You do not need to be logged in as admin to use it, however, admins can disable the public use of this and restrict it to admins only. Also, admins can configure the frequency that this command can be called. By default, players can only call it once every 60 seconds. Admins can call it at will. Command: Vomit Usage: mutate uam_vomit x Description: Causes x to chuck all of his/her inventory. They will not be able to pick up anything until they respawn. Quite a frustrating experience. Have some cool ideas for more commands? Let me know!!! 5. Reserved Slots and Automatic Logging In of Admins Both of these systems are implemented via UAdminMod's custom AccessControl. This is derived from Unreal Tournament 2004's Advanced Administration system and does not modify any existing functionality; it ONLY adds the reserved slots functionality and the ability for admins to be automatically logged in. In order to use these two features, you must first tell your server to use this AccessControl class instead of the default one. Note that by doing this, you will inherently be using the Advanced Administration system. If you do not want to use the Advanced Administration system and only wish to use the Basic Administration system, then ignore this entire section... but you won't be able to use reserved slots or have admins automatically logged in when they enter the server. If you are unsure of which system your server uses, look under the [Engine.GameInfo] section in your server's ini file. If the AccessControlClass is set to Engine.AccessControl, then your server uses the BASIC system. If it is set to XAdmin.AccessControlIni, then your server uses the ADVANCED system. Keep in mind that this can also be set in your server's start-up commandline, and that will override the setting in your ini file. If you find that UAdminMod's access control is not being loaded, make sure you're not overriding the ini setting in the start-up commandline. So, without further ado... Change the AccessControlClass under [Engine.GameInfo] to UAdminModV094.UAMAccessControlIni If you did this properly, you'll see the following text in your server's log/console at start-up: UAMAccessControlIni: ---------------------------------------- UAMAccessControlIni: UAMAccessControlIni successfully loaded. UAMAccessControlIni: Author: TBone UAMAccessControlIni: Email: TBone@Fragskill.com UAMAccessControlIni: Web: www.Fragskill.com UAMAccessControlIni: ---------------------------------------- You may see additional text inside the block, but that's okay. As long as the block appears, you're good to go. Next, locate the section [uAdminModV094.UAMAccessControlIni] Here are the settings and their default values: bEnableReservedSlots=False The reserved slots system is off by default. To turn it on, change this to True. bMakeRoomByKicking=True When false, the server will make a reserved slot by adding a slot to the server for the player joining. This new spot will be eliminated automatically when someone leaves. The server will create new slots as long as iMaxExpansion has not been exceeded. Once iMaxExpansion has been reached, even players with reserved slots will be unable to join. If you set this to true, then the reserved slot will be created by kicking the last player to join the server who is not an admin and who does not posses a reserved slot. Folks who rent their servers from a host are advised to use this option to avoid exceeding their agreed upon player limit. That is why True is the default value. bUsePassword=True When true, players will be prompted to enter a password in order to access a reserved slot. When false, reserved slots will only be given to players who's player ID hash is listed in this section (ie, ReservedHash=1234567890, see ReservedHash below if you set this to False). NOTE: When someone enters the server with a reserved slot by entering a password, their hash will be stored to the configuration file. This will prevent them from ever being kicked off the server when other players with reserved slots join. iMaxExpansion=5 This is the max number of additional slots the server will create for reserved slots. If bMakeRoomByKicking is true, this setting is irrelevant. sReservedSlotPW= This is the password for accessing a reserved slot. For your protection, the default value is an empty value and if you don't set it but you set bUsePassword to True, UAdminMod will disable the reserved slots system. If you control access by using the password option (bUsePassword=True), you MUST specify a password. sOldReservedSlotPW= Do not modify this. This is used internally to track changes to sReservedSlotPW. For instance, if you have 10 player hashes in your config file and you want to change sReservedSlotPW, then UAdminMod will detect the password change and reset the ReservedHash values so that players without the new password cannot join. Once they join with the new password, their hash will be re-added to the list. Now, if bUsePassword is false, this is ignored. If bUsePassword is false, changing either of the password values will have no effect. ReservedHash=1234567890 You can add up to 25 ReservedHashes. Adding a new reserved hash is just like adding a ServerPackage: Simply create a new line in [uAdminModV094.UAMAccessControlIni]: ReservedHashes=23s83s83kdfhfkg83484kdkfg3494 If bUsePassword is true, ReservedHash entries will be made by UAdminMod to track players who have supplied the correct reserved slot password. This ensures that they are never kicked by another player accessing a reserved slot. if bUsePassword is false, these lines are used by you to enter the hashes of players who you want to have reserved slot access. To obtain your hash, open UT2004.log in your /UT2004/System directory. Look for a line like "id=1212445lksdlsdfsfeee". That is your hash. So, let's suppose your hash was 1234567890: You would then add the following line: ReservedHash=1234567890 The existing ReservedHash=1234567890 in the file is just an example line. You can change/delete it if you wish. If you exceed 25 ReservedHashes, UAdminMod will begin pruning the oldest entries from the list until it is back to 25. PrivClasses=XAdmin.xKickPrivs PrivClasses=XAdmin.xGamePrivs PrivClasses=XAdmin.xUserGroupPrivs PrivClasses=XAdmin.xExtraPrivs DO NOT MODIFY THESE! bAutoAdminLogin=False If true, UAdminMod will remember up to 25 admins' login info. The first time an admin logs in, their data along with their hash is stored to the config file (under AdminRecord). The next time they join the server, UAdminMod will compare their hash to known admin accounts (AdminRecord lines) and log them in with their information if it finds a match. If you exceed 25 AdminRecords, UAdminMod will begin pruning the oldest entries from the list until it is back to 25. This is independant of the reserved slots system but does require you to use UAMAccessControlIni as your access control class. NOTE: If your server is already password protected, then the Reserved Slots password will suffice as a game password. For instance, if your server's password is 'abc' and your reserved slots password is '123', then '123' will get you into the server as a catch-all password IF IT'S FULL. If the server is not at capacity, the reserved slot password will not work. If there are additional features you would like added to the reserved slots system, please let me know. I will entertain all (reasonable) requests. 6. Name/Nick Filter UAdminMod has a feature that allows you to prevent players with certain words/characters in their name from joining your server. You can even set UAdminMod to ban such players. This feature requires caution on your part. Be VERY careful about the values you screen from your server. You don't want to accidentally prevent half the players from entering your server because you specified "elf" instead of "[Elf]" in your blocked nicks list. Find the [uAdminModV094.UAdminMod] section and note these settings: bFilterNicks=False This feature is off by default. Enable it by setting this to True. BlockedNicks=[Elf] BlockedNicks=[ELF] This is a list of blocked nicks. You can have up to 50 nicks in this list. Adding a new nick is just like adding a ServerPackage: Simply create a new line in [uAdminModV094.UAdminMod]: BlockedNicks=Value Out of the gate, UAdminMod filters the tag [Elf] and [ELF]. If you do not wish to filter Elf members from your server, remove these two lines. They exist as an example of how to use this feature. Note that "[Elf]" and "[ELF]" are not the same. These values are case-sensitive. When entering new values, BE AS SPECIFIC AS POSSIBLE! If you want to prevent a certain clan from entering your server, make sure you enter their tag EXACTLY as they wear it, including the brackets, case, etc. If your values are too non-specific, you'll unintentionally prevent others from entering your server. This is why I only recommend using this feature if you have a very specific person or persons you need to block, but you haven't yet had the chance to ban them. bBanBadNicks=False If False, players who's names match a value in your BlockedNicks list will only be kicked from your server; they will not be banned. They will receive a friendly message explaining exactly why they were prevented from entering, and they will receive the admin's email address. If True, however, players who's names match a value in your BlockedNicks list will be permanently banned from your server. Due to a small bug in Unreal Tournament 2004's ban system, I was unable to present banned players with a custom message explaining why they were banned. As a result, they will receive the generic ban message. However, if they were kicked, they WILL receive the UAdminMod blocked-nick message. Due to the nature of this feature, I urge extreme caution using it. I was very hesitant to include it, but it's here for the sake of completeness. 7. Known Issues None 8. Planned Features a. Optional auto-demorec. b. Menu system for quick command execution. 9. Credits The Wiki and the members of the BeyondUnreal Coding forum. Jason "Frogger" Busch for assisting with the closed BETA testing. Payback from BeyondUnreal for pointing out the fix to the server exploit detailed at http://www.securityfocus.com/bid/9840/info/. The fix is included in this mutator but is not guaranteed to protect against the UT2004 server exploit. Link to comment Share on other sites More sharing options...
Bubblegum Bandit April 4, 2004 Share Bubblegum Bandit Member April 4, 2004 Command: Vomit Usage: mutate uam_vomit x lol Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now