Command Line Help Page
SemiAdmin Command Line Usage & Instructions «Bugs?»

Table of Contents

  1. Introduction
  2. Installation
  3. Getting Started
    1. Logging In/Out & General Access Commands
    2. Creating Groups
    3. Creating Users
  4. Privileges
    1. User
    2. Ban
    3. Game Play
    4. Kick
    5. Ladder
    6. Maps
    7. Bots
    8. Summon
    9. Warn
    10. Whip
  5. Commands
    1. User
    2. Ban
    3. Game Play
    4. Kick
    5. Ladder
    6. Maps
    7. Bots
    8. Summon
    9. Warn
    10. Whip
  6. Security Levels
    1. User Access Level
    2. Game Access Level
  7. Examples
  8. Troubleshooting
  9. To Do

 

Introduction - top

SemiAdmin is mutator for Unreal Tournament that allow you to setup usernames and passwords with varying levels of access to the server administration commands in Unreal Tournament. It is useful for situations in which you want to allow friends and clanmates to perform *some* of the functions of a server admin (such as changing maps or mutators) but not all of them (such as kicking other users). It also an extremely useful tool for all admins that lend their server to other clans to be used for matches and scrims, as you can configure those users so that they can access only match-related commands, and maintain the security of your server, without giving away the full server admin password. All commands are accessed with the "mutate <command> <parameters>" syntax.


Installation - top

Open the .ini file you're using for your server. Unless you have renamed it, this is the unrealtournament.ini file, found in the UnrealTournament\System directory of your Unreal Tournament installation. Find the [Engine.GameEngine] section and look for a group of lines that begin with:

ServerActors=

Add this line after the last "ServerActors=" line:

ServerActors=SemiAdmin.SemiAdminSA

Save the .ini, restart the server, and SemiAdmin will be enabled.

Getting Started

Logging In/Out & General Access Commands

Commands-

mutate ali <username> <password> - admin login
mutate alo - admin logout

When SemiAdmin is first installed, the default username and password are both "admin". You can change this once you have logged in to the server. To login to SemiAdmin, bring up the console, and type:

mutate ali admin admin

You should see a message stating that so-and-so has become a limited administrator. This means that you are now logged into SemiAdmin, and can now begin issuing commands.

From here, the first thing you should do is change the admin user's login name and/or password. This is not required, but it is highly recommended to maintain the security of the server. If you decide to change both the name and password, you must do each seperately; you cannot change the username and password with one command.

To change the admin's username, type the following into the server console, replacing <new name> with the name you would like to rename the server admin to:

mutate users mod admin name <new name>

To change the admin's password, type the following into the server console, replacing <new password> with the password you would like to use on the admin account:

mutate users mod admin pass <new password>

Keep in mind that if have renamed the admin account, you will need to use that name in place of 'admin' to change the admin password. So if I wanted to change the admin login and password to "Evolution" and "mypassword", the commands would be:

mutate users mod admin name Evolution

mutate users mod Evolution pass mypassword

Groups & Users

The next step is to create your groups. Groups are how SemiAdmin assigns permissions. You will never assign a permission (such as Bots or Maps) to a user. Instead, you will create groups and assign permissions to these groups. Users are then added to these groups and will inherit whatever permissions are applied to the group they belong to. A user may not exist in more than one group.

Creating Groups

Command-

mutate groups add <group name> <privileges> <user access level> <game access level> - Add new groups

To create a group, use the mutate groups add command. There are 4 parameters for this command - group name, privileges, user access level, and game access level. I'll explain each of these parameters, then give a few examples of using this command.

Group Name

This parameter is self-explanatory. It's best to use names that help describe what function the group will have, such as "borrowserver" for a group that will contain users of other clans that will borrow your server for matches. The group name must be one word (no spaces) and can be anything you like.

Privileges

Privileges are assigned using the one letter shortcuts for the privileges. The available privileges are: U (user) B (ban) G (game) K (kick) L (ladder) M (maps) O (bots) S (summon). See the section titled "Privileges". To add more than one privilege to a group, simply string the letters together, such as

mutate groups add mygroup BKMO 140 2

User Access Level A number from 0 - 255. This will be furthur explained in the section titled "Security Levels".
Game Access Level A number from 0 - 2. This will be furthur explained in the section titled "Security Levels".

 

Once you have created the groups you want, you will create users to be in those groups. If you would like to see sample configurations of SemiAdmin, I have created a few hypothetical scenarios so that you can see how the various privileges and security levels interact with each other. Click here to view the scenarios.

Creating Users

Privileges

SemiAdmin commands are grouped into privileges, based on what they do. There are 8 privilege groups, each containing their own set of commands. This section will explain what each group does, and list the traditional admin commands each privilege handles.

The privilege groups are as follows:

U - User Commands
B - Ban Commands
G - Game Commands
K - Kick Commands
L - Ladder Commands
M - Map Commands
O - Bot Commands
S - Summon Command
W - Warn Commands
Z - Whip Commands

Privileges B C K L M O W Z and S are either on or off. A group that has M privilege, for instance, is able to use all of the commands of the maps privilege, and a group that does not have M privilege, is able to use none of the commands of the maps privilege.

U and G however, are unique, in that the commands for these groups are furthur limited by access levels. Each group that you create will have a user access level and a game access level. The User Access Level controls which groups that group may modify (there are also other implications of this security level - see Security Levels for more information), while the game access level controls which of the "Game" privilege commands the groups may access.

Privilege U - User

Corresponding Server Admin Commands

None - A configurable multi-user admin system does not exist in Unreal Tournament by default

Description

User Privilege allows members of a group to add players to a group, delete players from a group, or modify a player's login name or password. Of course, this can present a problem, so the User Access Level was added to SemiAdmin to provide a way to control which groups a user with U privilege can modify. When you create a group, you must specify both a Game Access Level, and a User Access Level. The available settings for User Access Levels are 0 thru 254. 255 is reserved for Master Admin Group. When you login to SemiAdmin for the first time, it creates an 'admin' group that has a User Access Level of 255, adds a user to this group with a name of "admin" and a password of "admin". The admin group is defined as having all privileges, is able to modify all parameters of SemiAdmin, and can use all commands on any player. See User Access Level for a detailed explanation of the way the User privilege works.

NOTE:

Any group configured with U privilege will also have access to the commands in all other privilege groups. The only exception to this is the B privilege (this is by popular demand - it seemed to cause trouble to allow users with User privilege to also ban players). As a result, only groups configured specifically with the B privilege will be able to ban players.

In future versions, this may be changed. It is undecided whether User Access Levels will be applied to limit this functionality, or whether it will be discarded entirely.

Privilege B - Ban Commands

Corresponding Server Admin Commands

kickban <player name>

Description

Allows a user to Ban/Kick a player using either the player name or player id. The ability to ban a player by player id does not exist in Unreal Tournament. It was included in SemiAdmin to enable you to easily administrate players that use ascii symbols or control codes in their player name.

Privilege G - Game Commands

Corresponding Server Admin Commands

admin set <game class>.<setting> <value>
admin get <game class>.<setting>

Description

Allows a user to enumerate and modify default game parameters. All groups are configured with a game access level, though truly this parameter is only applicable to those groups with are given the G privilege. Different game parameters have different levels of importance and sensitivity to the server. SemiAdmin allows you to limit the amount of game settings a user can change by setting game access levels. For more information, see Game Access Levels. There are also several commands useful for in-game management which are as follows:

mutate stop

This will reset the map completely without causing any players to disconnect. All players will respawn as spectators and all bots will be removed.

mutate start

This will start the map after a STOP.

mutate pause

This will pause the action in a similar way to the admin pause command. The bug in the admin pause command however is fixed in this version, so no map time is lost at all during the pause.

mutate unpause

This will unpause the paused game.

Privilege K - Kick Commands

Corresponding Server Admin Commands

kick <playername>

Description

Same as the Ban command, except allows only kicking a player, not banning them.

Privilege L - Ladder Commands

Corresponding Server Admin Commands

None - This concept was introduced by SemiAdmin.

Description

While still unimplemented in version 0.07, the Ladder Privilege will allow a user to easily prepare a server for matches and/or scrims using one command -

ladder <type> <gamepassword> <map1>,<map2>,<map3>

as well as list the maps currently configured for the ladder.

Privilege M - Map Commands

Corresponding Server Admin Commands

switchlevel <mapname>

Description

Map commands allow users to switch maps, enumerate the next 3 maps to be played on the server, and quickly restart the current map being played.

Privilege O - Bot Commands

Corresponding Server Admin Commands

addbots <#>
admin addbotnamed <botname>

Description

Bot commands allow the user to add or remove bots. Users may add/remove a certain number of bots, or specific bots by name.

Privilege W - Warn Privilege - top

Corresponding Server Admin Commands

None

Description

Allows the user to issue a warning to a player or group of players. This may be for some transgression of the rules that does not warrant a kick but needs to be mentioned. Warnings are also stored on the server for future reference and may be used for dealing out futher penalties if repeat offences occur. Reason Codes can be added or edited with the appropriate user security levels. Warnings can be issued with by users with a Security Level of 1 or higher.
The "Warn" Console Commands are as follows:

mutate warn [private] <reason code> <player name>

Issues warning to a player based on their player name

mutate warnid [private] <reason code> <player id>

Issues warning to a player based on their player id

mutate warnpart [private] <reason code> <partial player name>

Issues warning to a player based on a partial name match. This will affect all players that are a match for the partial name

mutate warn list

Lists all players' id, name and IP

mutate warnings <lookup text> [clear]

Lists all warnings containing the matched text. The format of the WarnedList is as follows:

time: mm/dd/yyyy hh:mm:ss
admin: SemiAdmin Name
player: Player Name
IP: Player IP
action: actioncode
reasoncode: reasoncode
reason: reason text

Any of the text present in this line will be reported as a match. The optional CLEAR parameter will clear all of the matched warnings. User Security Level 3 is required to clear warnings.

mutate warningsid <player id> [clear]

This works the same as the mutate warnings command except the player name is retrieved from the player id and then the lookup is performed. User Security Level 3 is required to clear warnings.

Privilege Z - Whip Privilege - top

Corresponding Server Admin Commands

None

Description

Allows the user to deal with players that are causing compl;aints on the server but not of a nature that warrants a kick. Sometimes a kick is not as useful as one of the 'whipping' commands. To issue any of these commands, the user requires a Security Level of 2 or higher unless otherwise specified.
The "Whip" Console Commands are as follows:

Mute Commands
Unmute Commands
Zero Frag Commands
Respawn Commands

Mute Commands - top

Corresponding Server Admin Commands

?

Description

These commands mute the player based on their player name IP address. Any team say or broadcast messsges the player sends will not be seen by any players at all. The pattern match is based on the player IP address as well as the player's nickname. This makes it usually quite inconvenient for players that are muted to get unmuted unless an admin does it.
The mute commands are as follows:

mutate mute [private] <reason code> <player name>

Mute is based on an exact match of the player name

mutate mutepart [private] <reason code> <partial player name>

Mute is based on a match with part of the player name This command can be used to mute several players with similar nicks.

mutate muteid [private] <reason code> <player id>

Mute is based on the player id

Unmute Commands - top

Corresponding Server Admin Commands

?

Description

These commands unmute a player that has previously been muted. The unmute commands are as follows:

mutate unmute [private] <reason code> <player name>

Unmute is based on an exact match of the player name

mutate unmutepart [private] <reason code> <partial player name>

Unmute is based on a match with part of the player name This command can be used to unmute several players with similar nicks.

mutate unmuteid [private] <reason code> <player id>

Unmute is based on the player id

mutate unmuteall

Clear all current mutes

Zero Frag Commands - top

Corresponding Server Admin Commands

?

Description

These commands set a players score to -1. The zero frag commands are as follows:

mutate zerofrag [private] <reason code> <player name>

Zero frag is based on an exact match of the player name

mutate zerofrag [private] <reason code> <partial player name>

Zero frag is based on a match with part of the player name This command can be used to zero frag several players with similar nicks.

mutate zerofrag [private] <reason code> <player id>

Zero frag is based on the player id

Respawn Commands - top

Corresponding Server Admin Commands

?

Description

These commands force a player to respawn. This can be useful in team games where a player is hiding "off the map" with the flag or something. The respawn commands are as follows:

mutate respawn [private] <reason code> <player name>

Respawn is based on an exact match of the player name

mutate respawn [private] <reason code> <partial player name>

Respawn is based on a match with part of the player name This command can be used to respawn several players with similar nicks.

mutate respawn [private] <reason code> <player id>

Respawn is based on the player id


Reason Codes - top

Several actions that admins can perform require a reason code to be provided. These codes are configurable and may vary for each server.

The reason codes commands are as follows:

mutate reason list
mutate reasoncodes

Lists all reason codes for the server

mutate reason add <reasoncode id> <reason text>

Adds a reason code for the server. Requires User Security Level of 3 or higher.

mutate reason edit <reasoncode id> <reason text>

Edits a reason code for the server. Requires User Security Level of 3 or higher.

Privilege S - Summon Command

Corresponding Server Admin Commands

summon unreali.<pawn name>

Description

Allows the user to summon pawns.

 

Commands

SemiAdmin uses its own set of commands to influence the game. Instead of using 'switchlevel CTF-Face.unr' for instance, you will use 'mutate map CTF-Face.unr'. The following is a list of all available commands for each privilege.

Key:

<>- Parameter is mandatory. It must be included or you will recieve an error.

[ ]- Everything inside of these brackets is an optional parameter. You may include this parameter is desired, but the command will still work