DarkByte will strike back with SemiAdmin

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

DarkByte

LLama Killer
Nov 19, 2000
77
0
0
57
Montreal, Qc, Canada
Visit site
Hello server admins,

My post here is about a Mod that i'm creating for UnrealTournament that i call SemiAdmin. It is about 65% done.

You are probably wondering what SemiAdmin is and you may already have a part of the answer because the name sounds like something you could want.

How many times did you find yourself worrying about giving your administrator password to complete strangers because they wanted to have a scrimmage or a clan match on your server. Then, once they started, you have to hang around in case they need a map change or some feature added/removed. Your server is now back to free play and you connect to the web admin and start looking at the logs and you see many messages about that guy which is cheating, that's if the server is not already empty because players left. Or you start receiving complains about a player that just idles on the server because he had to go eat and forgot to disconnect or he is just plainly not wanting to leave his spot on your server. Sounds Familiar ?

SemiAdmin is, in its essence, a delegation tool for server owners and administrators. It allows the server owner to manage a list of trusted player and assign to them, specific privileges for his server. Those privilege go from ability to kick or ban player up to the ability to manage the trusted SemiAdmin user list. I will list all the privileges that are available later in the post.

Now, you may ask, how does one get to be able to kick players if i didnt give him my admin password ? Its simple, he has to login using a username and password that you assigned to that trusted player. When you create his user account, you also decide which privileges the user has.

Here is the list of the privileges that you can (or will be able to) assign to the user accounts:
  • ability to kick players (like cheaters or idlers) (done)
  • ability to ban players (mostly cheaters) (done)
  • ability to change the map being played (done)
  • ability to control the number of bots for the currently played map (does not persist) (done)
  • ability to control gameplay settings like the maximum number of players or the game type (in progress)
  • ability to setup the server for a ladder match.
  • ability to add/remove/modify users. Also known as a user manager. (done)
now, these are only the privileges that I came up with but i am open to suggestions.

SemiAdmin has the advantage of being server side only, no download is required by the players. SemiAdmin is controlled using the 'mutate' command. It also has the advantage of being transparent to ngStats, so you do not have to fear about your server going in the MOD section of the stats.

You should now understand better what SemiAdmin is and can now decide if it is something that interests you.

All those who are interested about SemiAdmin can track the official SemiAdmin Forum at Midnight Interactive.
 

DarkByte

LLama Killer
Nov 19, 2000
77
0
0
57
Montreal, Qc, Canada
Visit site
1) Because it doesnt require WebAdmin, althought i will eventually create a web interface for it.

2) WebAdmin doesnt allow you to change the settings from the console line of UT.

3) I will also create a GUI at some point that will make it easier and visual while in the game. the GUI will be client side only and wont require the server to send it.

4) I believe SemiAdmin will give you more control on what kind of privileges you wanna give to the trusted users than AWA does.

5) SemiAdmin will allow you to change/set even more setting than AWA does.

6) SemiAdmin will also have Save Slots for saving custom server setting and restoring them with 1 command line.

7) Room to delegate to 50 users, each with their own privileges.

8) SemiAdmin will be easily adaptable for new game types. It will be easy to add a Settings Central for TO 2.0 for example.

9) SemiAdmin will support Leagues and Ladders and easily setup the server based on their decided server settings depending on which ladder you adhered to. No more scanning the league rules to know if it was 20 mins or 200 frags or such.

10) Do you need something more ? just ask for it :)
 

usaar33

Un1337
Mar 25, 2000
808
0
0
Unknown
www.UsAaR33.com
1337!

this is 1337!
:)

I actually once had an idea to make a mod which gives players (all of them) some privilages. i.e. spawning stuff, fly mode, etc.
Of course full admin privilages can not be given (admin exit is a little too powerful :p)
 

DarkByte

LLama Killer
Nov 19, 2000
77
0
0
57
Montreal, Qc, Canada
Visit site
Already done for Map. Pause, i'm still wondering if i should allow it and if so, in which privilege group !

I'm posting a thread to download SemiAdmin beta 0.03 in 2 secs but take a look that what is done and what is on the way.

//
// List of useable commands: (* = done)
// * ali - Admin Login - ali <username> <password>
// * alo - Admin Logout - alo
// * saversion - Returns the current installed version #
// * nextmaps - know the 3 next maps in the rotation list
// ------- Privilege : K - KICKS ---------------
// * kick -
// * kickpart -
// * kickid -
// * kicklist - Lists the ID's of user for kickid
// ------- Privilege : B - BANS ----------------
// * ban -
// * banid -
// ------- Privilege : O - BOTS ----------------
// * killbots -
// * decbots - (rename to delbot ?)
// * incbots - (Obsolete ?)
// * addbot -
// ------- Privilege : M - MAP -----------------
// * nextmap - travel to the next map in cycle
// * gotomap - travel to the map specified
// * restart - restarts the current played map
// ------- Privilege : G - GAME TYPES ----------
// gameedit - starts editing values for any game type, without params = current game type
// gamesave - Applies Changes set with gameedit.
// get - Get a game type option value
// set - Set a game type option value
// usedmaps - show the list of maps in the rotation
// setmaps - selects maps for the rotation (can do?)
// savemaps - saves the current list of maps in the rotation
// restmaps - restores the saved list of maps to the rotation
// addmaps - adds maps to the map rotation list
// delmaps - removes specified maps from the map rotation list
// setmutators - selects the wanted mutators
// usedmutators - show which mutators are in use
// addmutator - add a mutator to the mutator list
// delmutator - remove a mutator from the mutator list
// ------- Privilege : L - LADDERS -------------
// ladder - Quick setup for ladders <ladder> <type> <gamepassword> <map1>,<map2>,<map3>
// laddermaps - List of maps for a ladder <ladder> <type>
// ------- Privilege : U - USERS ---------------
// * adduser -
// * deluser -
// * moduser -
// * listusers -
// ====================================================================