Jump to content

UAdmin Installed


Fatty

Recommended Posts

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...