What features would you want to see in an admin plugin?

devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
edited June 2009 in NS2 General Discussion
I've begun writing an admin plugin for NS2, and I'm wondering what features people consider to be essential.

So far, these are the planned features:
<ul><li>Kick/Ban</li><li>Rcon</li><li>Map voting</li><li>Admin chat</li><li>Mute/gag</li><li>Change level</li><li>Change server cvars (ex: password, gravity, etc)</li><li>Move players to marines/aliens/readyroom/random</li><li>Eject a commander, alien or marine</li><li>Access by group</li><li>MySQL support would be nice</li></ul>

Anything I'm missing that you would consider essential?
«1

Comments

  • ArmanoxArmanox Join Date: 2005-06-08 Member: 53417Members
    <!--quoteo(post=1711726:date=Jun 10 2009, 08:16 PM:name=devicenull)--><div class='quotetop'>QUOTE (devicenull @ Jun 10 2009, 08:16 PM) <a href="index.php?act=findpost&pid=1711726"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I've begun writing an admin plugin for NS2, and I'm wondering what features people consider to be essential.

    So far, these are the planned features:
    <ul><li>Kick/Ban</li><li>Rcon</li><li>Map voting</li><li>Admin chat</li><li>Mute/gag</li><li>Change level</li></ul>

    Anything I'm missing that you would consider essential?<!--QuoteEnd--></div><!--QuoteEEnd-->


    Toggling All talk on/off.
  • WorthyRivalWorthyRival Black Armor Division Join Date: 2006-11-07 Member: 58470Members, Constellation, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow
    How about Mime

    : Traps the disruptive player in a small glass box muting them and trapping them on the spot like a mime <img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" />
  • BacillusBacillus Join Date: 2006-11-02 Member: 58241Members
    Some servers used to have "stealth spectate". Basically the admin's stats were still shown as if he was in a team, but he could be actually spectating some suspicious player. I don't know how essential it was, but some people seemed to use it at least.

    Some readyroom_all command might be useful too.
  • GaussWaffleGaussWaffle Join Date: 2008-02-22 Member: 63708Members
    edited June 2009
    <!--quoteo(post=1711732:date=Jun 10 2009, 05:17 PM:name=WorthyRival)--><div class='quotetop'>QUOTE (WorthyRival @ Jun 10 2009, 05:17 PM) <a href="index.php?act=findpost&pid=1711732"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about Mime

    : Traps the disruptive player in a small glass box muting them and trapping them on the spot like a mime <img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->

    That...is...AWESOME

    But make them killable to the opposing team
  • steppin'razorsteppin'razor Join Date: 2008-09-18 Member: 65033Members, Constellation
    Don't grief the griefers, just warn, kick, ban where appropriate.
  • FuzionMonkeyFuzionMonkey Join Date: 2005-05-04 Member: 50889Members
    <!--quoteo(post=1711732:date=Jun 10 2009, 08:17 PM:name=WorthyRival)--><div class='quotetop'>QUOTE (WorthyRival @ Jun 10 2009, 08:17 PM) <a href="index.php?act=findpost&pid=1711732"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about Mime

    : Traps the disruptive player in a small glass box muting them and trapping them on the spot like a mime <img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->

    Hardly essential.

    Perhaps admins should be able to set nextmap?
  • senor_hybridosenor_hybrido Join Date: 2009-06-04 Member: 67687Members
    <!--quoteo(post=1711732:date=Jun 11 2009, 09:17 AM:name=WorthyRival)--><div class='quotetop'>QUOTE (WorthyRival @ Jun 11 2009, 09:17 AM) <a href="index.php?act=findpost&pid=1711732"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about Mime

    : Traps the disruptive player in a small glass box muting them and trapping them on the spot like a mime <img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->

    mute, gag, remove Ready Room function and make it so that the only way to leave the box is the Quit button. =D
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Members, Constellation
    Mute Voice
    Mute Chat
    Kick
    Ban (5m, 1h, 24h, 144h, perm)
    Move to RR
    Force Random
    Restart Match and Force Random
    Stealth Spec
    Change Map
    Display Server Message


    Groupware functionality. I want to create different groups and assign steam_ids to them.
    Example:
    Group: Light Admin, available features: kick, mute voice, stealth spec, members: steam_0132408u324, steam_3429234
    Group: Admin, available features: all

    Most importantly the plugin must log the use of each feature or even better allow me to configure which use should be logged.
    Extensive logging ist just very important, if you want any form of control over your admin crowd.
  • ParanoyakParanoyak Join Date: 2009-05-28 Member: 67527Members
    edited June 2009
    change a player team
    slay a player
  • DepotDepot The ModFather Join Date: 2002-11-09 Member: 7956Members
    Zor released <a href="http://www.nsmod.org/forums/index.php?showtopic=4741" target="_blank">AdminmodX - A port of some adminmod commands</a> some time ago, which had the following commands:

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->amx_exec
    amx_execteam
    amx_execall
    amx_slap
    amx_slapteam
    amx_slapall
    amx_beat
    amx_beatteam
    amx_beatall
    amx_slay
    amx_slayteam
    amx_slayall
    amx_god
    amx_godteam
    amx_godall
    amx_noclip
    amx_noclipteam
    amx_noclipall
    amx_heal
    amx_bury
    amx_buryteam
    amx_buryall
    amx_unbury
    amx_unburyteam
    amx_unburyall

    *Server Related Stuff
    amx_hostname
    amx_timelimit
    amx_password
    amx_listmaps
    amx_slapdmg
    amx_alltalk

    *Client Punishments
    amx_llama and amx_unllama
    amx_gag and amx_ungag
    amx_shutup and amx_unshutup
    amx_pig and amx_unpig

    *For Getting Rid of those ######s
    amx_quit<!--QuoteEnd--></div><!--QuoteEEnd-->
    Some were fun as hell, some were not, all worked well. One of my faves from this was amx_bury: it rendered the recipient immobile as well as disabling his F4. :laughing:
  • blackpiranhablackpiranha Germany Join Date: 2003-03-11 Member: 14375Members, Constellation
    - set admin access levels (e.g level 5 = full access, level 1 = mapvote, kick player)
    - switch players to marines or khaara
    - nuke :roll:
  • PrivatePrivate Join Date: 2007-06-10 Member: 61204Members, Constellation
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->I've begun writing an admin plugin for NS2, and I'm wondering what features people consider to be essential.

    So far, these are the planned features:
    Kick/Ban
    Rcon
    Map voting
    Admin chat
    Mute/gag
    Change level


    Anything I'm missing that you would consider essential?<!--QuoteEnd--></div><!--QuoteEEnd-->

    I wonder how much of this will be in vanilla NS2. I would write Max or Flayra to get an idea of what they plan, so you don't waste time implementing stuff that's already going to be there.

    How about some sort of IRC backend? Would allow you to echo chat to an IRC channel for instance. Easy way to get hold of an admin?
  • FirewaterFirewater Balance Expert Join Date: 2002-12-12 Member: 10690Members, Constellation
    I would introduce Haze mode: found at this link, as several of the posts in this thread tend to fit in that system.

    <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=106254&st=0" target="_blank">http://www.unknownworlds.com/ns2/forums/in...106254&st=0</a>
  • BryBry Join Date: 2003-01-23 Member: 12609Members
    Only real thing I would like to see is the ban command being able to save to and read from a mysql database
  • SuperflySuperfly Join Date: 2002-11-01 Member: 3485Members, Constellation
    <!--quoteo(post=1711775:date=Jun 11 2009, 04:57 AM:name=Depot)--><div class='quotetop'>QUOTE (Depot @ Jun 11 2009, 04:57 AM) <a href="index.php?act=findpost&pid=1711775"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Some were fun as hell, some were not, all worked well. One of my faves from this was amx_bury: it rendered the recipient immobile as well as disabling his F4. :laughing:<!--QuoteEnd--></div><!--QuoteEEnd-->

    My favorite was the plug-in that made anything you said come out as Bleeet!!!
  • radforChristradforChrist USA Join Date: 2002-11-04 Member: 6871Members, Constellation, NS2 Playtester, Subnautica Playtester
    Devnull, you HAVEto have a llama plugin, that was the best way to mute/gag someone. Other than that, most of it has been listed above.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
    I would have always thought that a simple admin plugin with straight forward configuration would be the most succesful, but after seeing how pervasive mani was on source mods I guess people want all that idiotic fireworks and stuff.

    My basic requirements are

    1) Kick, Temp Ban, Perm Ban, Mute.
    2) No Slay, Teleport etc.. they are not needed unless your admins like ego trips.
    3) A map manager including map change policy and priority. I.e. a maplist that changes by time of day, number of players.
    4) A vote interface for kick/ban/mute/map change
    5) NS specific features but keep them simple. I.e. commander ban, force readyroom etc.
    6) A database backend with an easily configurable query set so it can be integrated into existing user databases etc.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    I don't really see the use of all the various player abusing functions. If you don't want a player on your server, kick/ban them. There's no reason to abuse them until they leave by themselves. I also will not be writing any sort of amx_exec functions. I don't think that server admins need or should have the ability to execute commands on clients. This just leads to people thinking it's ok to rebind all the keys of a client you don't like.. because they "hack" or some other bull###### reason.

    I was planning on adding support for admin groups already, just forgot to add that to my initial post.


    MySQL support for various things would be nice, but I'm not entirely sure how possible that is in LUA. I'll take a look and see, I might end up just writing another interface plugin for SourceBans (as I really don't want to write another PHP frontend for bans). I'm attempting to write this as modularly as possible, so replacing the file storage of bans with mysql storage at some point shouldn't be too hard.

    I've updated the first post with the expanded list of features now, let me know if I missed anything


    @Private: It's been nearly impossible to get in contact with them for any reason, so I don't really have much faith that I could to find out what features will be there already.
  • FuzionMonkeyFuzionMonkey Join Date: 2005-05-04 Member: 50889Members
    <!--quoteo(post=1711821:date=Jun 11 2009, 08:35 AM:name=devicenull)--><div class='quotetop'>QUOTE (devicenull @ Jun 11 2009, 08:35 AM) <a href="index.php?act=findpost&pid=1711821"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I don't really see the use of all the various player abusing functions. If you don't want a player on your server, kick/ban them. There's no reason to abuse them until they leave by themselves. I also will not be writing any sort of amx_exec functions. I don't think that server admins need or should have the ability to execute commands on clients. This just leads to people thinking it's ok to rebind all the keys of a client you don't like.. because they "hack" or some other bull###### reason.

    I was planning on adding support for admin groups already, just forgot to add that to my initial post.


    MySQL support for various things would be nice, but I'm not entirely sure how possible that is in LUA. I'll take a look and see, I might end up just writing another interface plugin for SourceBans (as I really don't want to write another PHP frontend for bans). I'm attempting to write this as modularly as possible, so replacing the file storage of bans with mysql storage at some point shouldn't be too hard.

    I've updated the first post with the expanded list of features now, let me know if I missed anything


    @Private: It's been nearly impossible to get in contact with them for any reason, so I don't really have much faith that I could to find out what features will be there already.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Yeah, I always find it irritating when admins abuse various "fun" commands, like binding a key to slapping themselves and flying around or irritating players to flex their power.
  • StappStapp Join Date: 2009-06-10 Member: 67775Members
    OP: check out this SQL driver. <a href="http://www.keplerproject.org/luasql/" target="_blank">http://www.keplerproject.org/luasql/</a>

    Regarding admin abuse commands: 6 years ago, I was one of <b>40</b> admins on some CS 1.6 server, and the sole gimmick was to grief obnoxious CS pubbies. It was funny at first, but the gimmick died within a month as less pubbies joined our server. Eventually, people got bored and moved on to better games.

    Player abuse may be funny if used sparingly, but it's almost always more effective to kick or ban than make them linger and remember how awful their server experience was, and to spread it on by word of mouth.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    <!--quoteo(post=1711834:date=Jun 11 2009, 10:38 AM:name=Stapp)--><div class='quotetop'>QUOTE (Stapp @ Jun 11 2009, 10:38 AM) <a href="index.php?act=findpost&pid=1711834"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->OP: check out this SQL driver. <a href="http://www.keplerproject.org/luasql/" target="_blank">http://www.keplerproject.org/luasql/</a>

    Regarding admin abuse commands: 6 years ago, I was one of <b>40</b> admins on some CS 1.6 server, and the sole gimmick was to grief obnoxious CS pubbies. It was funny at first, but the gimmick died within a month as less pubbies joined our server. Eventually, people got bored and moved on to better games.

    Player abuse may be funny if used sparingly, but it's almost always more effective to kick or ban than make them linger and remember how awful their server experience was, and to spread it on by word of mouth.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I haven't really looked into SQL stuff at all yet, just haven't hit that point. Thanks for the link though.

    In my experience when players get slapped/abused rather then kicked they just start acting up more... so it's not really a fix for anything.
  • BryBry Join Date: 2003-01-23 Member: 12609Members
    Your update list is pretty much everything thats needed.

    The only other thing I would like if mysql can not be implemented is the ability to share config/ban data across multiple servers. Maybe having a single set of config files that can be used/update by multiple local servers
  • PrefixPrefix Éirinn go Brách Join Date: 2006-12-31 Member: 59353Members, Constellation
  • qbertqbert Join Date: 2009-06-10 Member: 67773Members
    edited June 2009
    I know it's not "essential" .... but I came up with this idea last night after one too many consecutive horrible maps: Allow only the top X scoring players to vote on the nextmap. It adds a little flavor to achieving a better score, and keeps the bads from voting on terrible maps.
  • Raza.Raza. Join Date: 2004-01-24 Member: 25663Members, Constellation
    And in addition, everyone who joined late will be excluded from voting.
    Bad idea.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    <!--quoteo(post=1711873:date=Jun 11 2009, 02:13 PM:name=qbert)--><div class='quotetop'>QUOTE (qbert @ Jun 11 2009, 02:13 PM) <a href="index.php?act=findpost&pid=1711873"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I know it's not "essential" .... but I came up with this idea last night after one too many consecutive horrible maps: Allow only the top X scoring players to vote on the nextmap. It adds a little flavor to achieving a better score, and keeps the bads from voting on terrible maps.<!--QuoteEnd--></div><!--QuoteEEnd-->

    ... Why are terrible maps on the server / in votemap to begin with? A map rating system would be nice.. say midway through the game poll all the players "Do you like this map?". Store the responses for awhile, depending on how many people like a certain map, it shows up in the mapcycle more. Maps that everyone hates just disappear.
  • Dalin SeivewrightDalin Seivewright 0x0000221E Join Date: 2007-10-20 Member: 62685Members, Constellation
    <!--quoteo(post=1711834:date=Jun 11 2009, 08:38 AM:name=Stapp)--><div class='quotetop'>QUOTE (Stapp @ Jun 11 2009, 08:38 AM) <a href="index.php?act=findpost&pid=1711834"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->OP: check out this SQL driver. <a href="http://www.keplerproject.org/luasql/" target="_blank">http://www.keplerproject.org/luasql/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    I've used luasql myself for a bit, and its fine but seems finicky. The problem I see with it however is that it is an external library. I'm not sure how the devs are implementing a Lua sandbox, I would hope that external drivers won't be allowed. You'd have to write your own Lua only driver of some sort, using whatever network libraries they've implemented and opened up through Lua.

    As for an admin plugin, I vote for keeping it simple but allow add-ons for the really un-needed baggage. If all of the following is already implemented in the game, I would probably just use the built-in myself, but:
    Kick, Ban, User Friendly Multi Admin, Map voting, Team Balancer, and possibly a (small!) menu to allow admins to easily change maps. I think everything else can be safely tucked away in a "download seperately" drawer.

    For the "User Friendly Multi Admin" part though, I mean keep the configuration down to a bare minimum. I think when adding a new admin, one should only have to specify their unique id, password, and access level. Then access levels can be defined simply as what commands an administrator with a given access level can use.
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->AccessLevelName="Full Control"
    AccessLevelCommands="1;0;1;0;0;1;"<!--c2--></div><!--ec2-->
    Something like that?
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    <!--quoteo(post=1711940:date=Jun 11 2009, 11:42 PM:name=Dalin Seivewright)--><div class='quotetop'>QUOTE (Dalin Seivewright @ Jun 11 2009, 11:42 PM) <a href="index.php?act=findpost&pid=1711940"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I've used luasql myself for a bit, and its fine but seems finicky. The problem I see with it however is that it is an external library. I'm not sure how the devs are implementing a Lua sandbox, I would hope that external drivers won't be allowed. You'd have to write your own Lua only driver of some sort, using whatever network libraries they've implemented and opened up through Lua.

    As for an admin plugin, I vote for keeping it simple but allow add-ons for the really un-needed baggage. If all of the following is already implemented in the game, I would probably just use the built-in myself, but:
    Kick, Ban, User Friendly Multi Admin, Map voting, Team Balancer, and possibly a (small!) menu to allow admins to easily change maps. I think everything else can be safely tucked away in a "download seperately" drawer.

    For the "User Friendly Multi Admin" part though, I mean keep the configuration down to a bare minimum. I think when adding a new admin, one should only have to specify their unique id, password, and access level. Then access levels can be defined simply as what commands an administrator with a given access level can use.
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->AccessLevelName="Full Control"
    AccessLevelCommands="1;0;1;0;0;1;"<!--c2--></div><!--ec2-->
    Something like that?<!--QuoteEnd--></div><!--QuoteEEnd-->

    I was planning on going with the flag systems in use by amxx or sourcemod, so you would end up with say "bdefz" as your access level. It's a bit easier to understand then toggling individual flags on and off like that I think.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
    Well, SQL can definitely be postponed until 'release 2' or whatever. The list of features look great right now. I couldn't agree more about the grief commands, though I have to admit the popularity of mani over some of the more lightweight source admin tools surprised me. Unfortunately, admins like their fireworks and teleports.
  • ThansalThansal The New Scum Join Date: 2002-08-22 Member: 1215Members, Constellation
    One last bit:

    An ability to recast votes with in a time limit. So if some one calls a vote in the middle of a fire fight, you don't accidentally vote against your wishes.
Sign In or Register to comment.