DAK Server Admin Mod

1568101127

Comments

  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    The reserveslot plugin uses both approaches by default, the password and reserve slot check.

    For the reservedplayers.json file, you would use that if you wanted to grant users time based reserve slots, slots that would expire after a certain number of days/weeks/hours.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    Would it be possible to have maps show up in the vote but not in rotation? For example we could have custom maps that can only be reached by voting for them, otherwise if not enough votes the server will go to a non custom map from the default rotation ect.

    Also I would like to request that if said feature is added that the server fall back to a non custom map if the defined custom maps contain no players or active games after X time. For example your server switches to a custom map but then before the timeleft is up all the players leave and the server is empty so to prevent the server from sitting on this custom map while empty it will switch to the next map in the standard rotation.
  • RothgarRothgar Join Date: 2009-11-13 Member: 69372Members
    That is really 2 plugin options I think.

    For SourceMod for example, you can set a "rtv" file to be a separate maplist, I expect this should be fairly easy for Dragon to implement, however you would need to have it as a separate file replica of the MapCycle one.

    I am also not sure whether you would keep everything the same however i.e. leave the mods etc in that file, it's a little different in that regard.

    The second option you mentioned was also done as a plugin for SourceMod which changed maps to a "default" after X minutes of having no players or less than a certain number of players.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    Can we please get an option to make admins immune from any form of ejects.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    Just published an update that adds a separate votemap list that you can add in the mapcycle.json file, that will only be used for votemaps. it would work like below as a sample :
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->"maps": [ { "map": "ns2_co_core", "mods": [ "57f5f9a" ] },
                { "map": "ns2_co_stargate", "mods": [ "6523544" ] } ]
    "votemaps": [ { "map": "ns2_co_down_a1", "mods": [ "5f5392e" ] },
                { "map": "ns2_co_faceoff", "mods": [ "4d41f11" ] } ]<!--c2--></div><!--ec2-->

    Also added is the ability to change the duration after a round ends before the mapvote will start. This should also fix the final issue with the automatic cycle of maps causing asserts.

    I have added some new events to the logging, commander login/logout, recycle started and finished. Also I have fixed a small bug with the tournament mode preventing map changes in public mode.

    For admin immunity, I most likely will revisit that once I complete the re-design that will implement levels of admins, which will make higher level admins immune to kicks and such from lower ones. For the automatic map change I plan to make a small plugin that would automatically cycle the map after a configurable amount of time if the server is empty.
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    <!--quoteo(post=2037723:date=Nov 30 2012, 05:46 AM:name=xDragon)--><div class='quotetop'>QUOTE (xDragon @ Nov 30 2012, 05:46 AM) <a href="index.php?act=findpost&pid=2037723"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->For the automatic map change I plan to make a small plugin that would automatically cycle the map after a configurable amount of time if the server is empty.<!--QuoteEnd--></div><!--QuoteEEnd-->


    SWEET!!!
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    Also I had an idea for how we could get web bans working. The real issue I see is moving bans made on the server over to the remote sql. To do this I think if a php page was used it could then process the ban. A configurable password possible combined with ip limited access to the php script could prevent hacking into it to ban people. If you all think it sounds safe enough I will start working on the php code and will design the model for how such a system would be implemented. The goal would be to basically fully integrate the banning system from the popular sourcebans (used in sourcemod games) into DAK.

    Also would like to request a new command: sv_who = lists all currently connected admins with their steam id and their group.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    While reading over some people talking about issues with late game losing marines I had an interesting idea from the old ns1 admin mods, nukes.

    I would like to request a vote nuke, players can type nuke in console to start it. It can only be preformed if the aliens have had 3 hives for the last x-min. From there the marines must survive y-min before the nuke goes off and if it does the game is a Tie.

    This can add a fun element to those late game hold outs and also put the aliens on a time table to end it.
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    I'd love to see the nukes make a comeback! :D
  • ShEpShEp Join Date: 2010-07-20 Member: 72597Members
    Still no info on how to change warmup time to make it longer?

    Would really be useful - I have seen other servers have a much longer warmup time (even in PUBs)
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    xDragon, i finished the PHP link from web site to server. It's not PHPBB3 based, but IPBoard + Subscriptions Manager (I could not find a good subscription module for PHPBB3 so i ended up using IPBoard, it's much more powerful - but not free - however, the price tag isn't bad, it's <$200 for unlimited license )

    And as promissed, i made the code public :)

    See this post for details. <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=125513" target="_blank">http://www.unknownworlds.com/ns2/forums/in...howtopic=125513</a>

    Hope someone finds this useful :)
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    A few people were asking about messages on another topic so i made a post here since it's part of DAK Admin Mod settings:

    First, enable messages plugin and run the server so it writes the config.

    If you want it to do one 1-liner at a time at X interval, it is capable right now of doing it. It can be setup with 1-liners or multi-line messages.

    Here are some configs i'm using, and some details on how to use:

    For 1 message at a time, 6 messages total, displayed at 1:30 intervals:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    "Messages": {
          "kMessageInterval": 9,
          "kMessageTickDelay": 90,
          "kMessagesPerTick": 1,
          "kMessage": [ "Message 1", "Message 2", "Message 3", "Message 4", "Message 5", "Message 6" ]
        },<!--c2--></div><!--ec2-->

    Output:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// First message displayed at 0:00
    Server: Message 1

    // Second message displayed at 1:30
    Server: Message 2

    // Third message displayed at 3:00
    Server: Message 3

    // Fourth message displayed at 4:30
    Server: Message 4

    // Fifth message displayed at 6:00
    Server: Message 5

    //Sixth message displayed at 7:30
    Server: Message 6

    //Re-starts from message 1 once it reaches 9:00.<!--c2--></div><!--ec2-->

    kMessageTickDelay is the interval in seconds messages should be displayed.
    kMessageInterval is tells the script when to start displaying messages again from the begining. If you wish to have all messages repeat once it reaches the last messages and maintain the interval between the last message and first message the same as between all other messages, set this variable to # of messages multiplied by message delay (converted to seconds). In this case, 6 * 90 / 60 = 9.
    kMessagesPerTick sets how many lines it pulls at a time from kMessage. The example above puts one message at a time.

    Here's an example on how you can do up to 5 lines at a time in four different messages at 2 minute intervals.

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    "Messages": {
          "kMessageInterval": 8,
          "kMessageTickDelay": 120,
          "kMessagesPerTick": 5,
          "kMessage": [ "Message 1 Line 1", "Message 1 Line 2", "Message 1 Line 3", "Message 1 Line 4", "Message 1 Line 5", "Message 2 Line 1", "Message 2 Line 2", "Message 2 Line 3", "Message 2 Line 4", "Message 2 Line 5", "Message 3 Line 1", "Message 3 Line 2", "Message 3 Line 3", "Message 3 Line 4", "Message 3 Line 5", "Message 4 Line 1", "Message 4 Line 2", "Message 4 Line 3", "Message 4 Line 4", "Message 4 Line 5"  ]
        },<!--c2--></div><!--ec2-->

    Output:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// First message displayed at 0:00
    Server: Message 1 Line 1
    Server: Message 1 Line 2
    Server: Message 1 Line 3
    Server: Message 1 Line 4
    Server: Message 1 Line 5

    // Second message displayed at 2:00
    Server: Message 2 Line 1
    Server: Message 2 Line 2
    Server: Message 2 Line 3
    Server: Message 2 Line 4
    Server: Message 2 Line 5

    // Third message displayed at 4:00
    Server: Message 3 Line 1
    Server: Message 3 Line 2
    Server: Message 3 Line 3
    Server: Message 3 Line 4
    Server: Message 3 Line 5

    // Fourth message displayed at 6:00
    Server: Message 4 Line 1
    Server: Message 4 Line 2
    Server: Message 4 Line 3
    Server: Message 4 Line 4
    Server: Message 4 Line 5

    //Re-starts from message 1 once it reaches 8:00.<!--c2--></div><!--ec2-->

    Since you now have up to 5 lines at time, if you want to use under 5 lines at once simply replace them with empty quotes. See the output of the code below:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    "Messages": {
          "kMessageInterval": 8,
          "kMessageTickDelay": 120,
          "kMessagesPerTick": 5,
          "kMessage": [ "Welcome to blabla", " ", "Enjoy your stay!", " ", " ", "Visit our website!", " ", "-------------", "www.mysite.com", "-------------", "This", "Is", "A", "5 line", "Message", "Thanks!", " ", " ", " ", " "  ]
        },<!--c2--></div><!--ec2-->

    Output:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// First message displayed at 0:00
    Server: Welcome to blabla
    Server:
    Server: Enjoy your stay!
    Server:
    Server:

    // Second message displayed at 2:00
    Server: Visit our website!
    Server:
    Server: -------------
    Server: www.mysite.com
    Server: -------------

    // Third message displayed at 4:00
    Server: This
    Server: Is
    Server: A
    Server: 5 line
    Server: Message

    // Fourth message displayed at 6:00
    Server: Thanks!
    Server:
    Server:
    Server:
    Server:

    //Re-starts from message 1 once it reaches 8:00.<!--c2--></div><!--ec2-->


    If you have any questions let me know.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    I updated the admin mod, and added the automapcycle plugin people were looking for. Also the sv_listadmin command should now show online if an admin is online.
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    Thanks xDragon, i'll get the latest version installed tomorrow and let you know if i find any bugs!

    :) Great work!
  • JektJekt Join Date: 2012-02-05 Member: 143714Members, Squad Five Blue, Reinforced - Shadow
    Can we get some documentation going on here? :D
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    In regards to? Lots of things are documented in the readme file, or see this site: <a href="https://github.com/xToken/DAK" target="_blank">https://github.com/xToken/DAK</a>

    Main page has the readme file displayed.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    For the automapcycle? You would just add it to your plugins list, then you can configure the options as such:

    "AutoMapCycle": {
    "kMaximumPlayers": This is the maximum number of players that can be connected and the Automatic cycle will still occur.
    "kAutoMapCycleDuration": This is the amount of time in minutes between automatic cycles. Once this time is passed, the server will be checked every second, once it drops below kMaximumPlayers it will cycle.
    "kMapCycleMaps": This is an optional array of maps to randomly select for the Automatic Cycle, is only used when kUseStandardMapCycle is false.
    "kUseStandardMapCycle": Controls if the Automatic Map Cycle will use the standard mapcycle to cycle maps, or if it will change maps directly using its own maps array. If the maps are listed here and in the mapcycle, any mods defined in the mapcycle will also be loaded.
    },

    Looks like i forgot to include the updated readme file :/
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    Can you change sv_listadmins to just listadmins? It might be too hard for done pubs to remember the sv.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    edited December 2012
    Hmmm well i wouldnt use that command for everyone, simply because it prints out all the groups and their access levels.. probably too much information.
    Im going to change that command to only print out the information about levels you have access to, but maybe there should be another command like needadmin or something to get any online admins attention.

    And as for the warmup time, are you referring to the time your locked into the pregame round? As you can use the tournamentmode plugin in pub mode to set a player requirement before the round resets and goes live, or are you just looking to change the time to be longer?
  • sleepingsleeping Join Date: 2005-01-16 Member: 35868Members, Constellation, NS2 Map Tester
    edited December 2012
    Case anyone else doesnt get this right off the bat...

    "kMessageInterval": 8,

    This also means the plugin will wait 8 minutes after server starts up or the map changes to BEGIN the rotation.

    Which means you can still have a MOTD.. then 8 minutes later the rotations will begin,

    So it would look like this..

    Server Startup / Map Change
    8 Minute Pause
    8 Minutes of message spam
    8 Minute pause
    8 Minutes of message spam
    etc..

    Dragon it would be nice if you could add a "pause" variable, so we could make it spam for the 8 minutes.. then pause for only 2 minutes. then begin the 8 minute cycle once again.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    The new version of the messages plugin with have a kMessageEndInterval config option, which is the number of minutes the plugin will wait before starting the rotation again.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    <!--quoteo(post=2039266:date=Dec 3 2012, 11:25 AM:name=xDragon)--><div class='quotetop'>QUOTE (xDragon @ Dec 3 2012, 11:25 AM) <a href="index.php?act=findpost&pid=2039266"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Hmmm well i wouldnt use that command for everyone, simply because it prints out all the groups and their access levels.. probably too much information.
    Im going to change that command to only print out the information about levels you have access to, but maybe there should be another command like needadmin or something to get any online admins attention.

    And as for the warmup time, are you referring to the time your locked into the pregame round? As you can use the tournamentmode plugin in pub mode to set a player requirement before the round resets and goes live, or are you just looking to change the time to be longer?<!--QuoteEnd--></div><!--QuoteEEnd-->

    There should be something like sv_who which only prints a list of currently connected admins their steam id and group. This way players can verify that a given player is an admin and exactly who they are ect.
  • JektJekt Join Date: 2012-02-05 Member: 143714Members, Squad Five Blue, Reinforced - Shadow
    Would it be possible to make player command accept more than 1 game ID at a time?

    sv_kick 1 4 7

    for example.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    its possible, but probably kinda overkill
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    edited December 2012
    Updated DAK on workshop and github, added commander bans, which allows you to ban people from the comm chair. This also allows for eject protection. I also completed basic levels for admins, which you can set on groups and users. If a user doesnt have a level, it uses the highest level from the groups they are in. If you set a level on a user, that is their level regardless of the groups they are in. If you dont assign any levels they default to 0 and no issues will occur from using an old ServerAdmin.json file.

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->"groups": {
          "mod_group": {
            "type": "allowed",
            "level": 5,
            "commands": [ "sv_reset", "sv_ban" ]
          },
          "admin_group": {
            "type": "disallowed",
            "level": 10,
            "commands": [  ]
          }
        },
        "users": {
          "NsPlayer": {
            "id": 10000001,
            "level": 2,
            "groups": [ "admin_group" ]
          }
        }<!--c2--></div><!--ec2-->

    I also updated alot of the plugins to cleanup some confusion items, and added sv_who. Made alot of other changes that I have since forgotten lol, the readme is updated but not fully.
  • eh?eh? Join Date: 2012-03-03 Member: 147997Members
    edited December 2012
    In reference to nukes...

    rofl you retards
  • sleepingsleeping Join Date: 2005-01-16 Member: 35868Members, Constellation, NS2 Map Tester
    Dragon,

    I am confused.. what is the point of the user levels? is this for future features? Can you explain what this is or will be used for?
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    <!--quoteo(post=2040632:date=Dec 5 2012, 07:18 PM:name=sleeping)--><div class='quotetop'>QUOTE (sleeping @ Dec 5 2012, 07:18 PM) <a href="index.php?act=findpost&pid=2040632"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Dragon,

    I am confused.. what is the point of the user levels? is this for future features? Can you explain what this is or will be used for?<!--QuoteEnd--></div><!--QuoteEEnd-->

    As it was one of my requests let me explain. I have been making requests here and there to have DAK replicate some of the features of sourcebans as to support cross-integration with that system. One of the features is levels of admins. This is useful on large servers/communities that have various levels of admins. The admin level system prevents admins of the same level from using admin powers on each other leaving higher ranking admins to deal out punishment to admins of lower levels if they do something bad. Basically it is an automated way to prevent and reduce likelihood of admin abuse.
  • sleepingsleeping Join Date: 2005-01-16 Member: 35868Members, Constellation, NS2 Map Tester
    Have you updated the download? I am not seeing any of these new commands in the list in game.
  • Florp_IncarnateFlorp_Incarnate Join Date: 2002-11-01 Member: 3045Members
    Has sv_hasreserve been removed? I was just about to set it up for my reservists group in ServerAdmin.json, but when I looked at the documentation page, there was no mention of it. I <i>swear</i> I read about sv_hasreserve in there before.
Sign In or Register to comment.