DAK Server Admin Mod

13468927

Comments

  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    edited November 2012
    +1 @ excremental build.

    xDragon, ill test it right now and let you know if it works.
    Latest build is on <a href="https://github.com/xToken/DAK" target="_blank">https://github.com/xToken/DAK</a>, correct?

    Also, please leave it as it, separate file for online vs local. This helps in case web site ever goes down, main admins can still get on there.
    I'd rather have it restrict access to hard-coded if web site fails rather than making a local copy that cannot be updated automatically if web site goes down.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    <!--quoteo(post=2029345:date=Nov 19 2012, 06:48 PM:name=Mendasp)--><div class='quotetop'>QUOTE (Mendasp @ Nov 19 2012, 06:48 PM) <a href="index.php?act=findpost&pid=2029345"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I lol'd.<!--QuoteEnd--></div><!--QuoteEEnd-->


    Oops lol
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    edited November 2012
    ------------------------------------------------------
    Update: Confirmed: It does work with additional \n's
    ------------------------------------------------------

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->local function OnServerAdminWebResponse(response)
            if response then
                local sstart = string.find(response,"<body>")
                local rstring = string.sub(response, sstart)
                if rstring then
                    rstring = rstring:gsub("<body>\n", "{")
                    rstring = rstring:gsub("<body>", "{")
                    rstring = rstring:gsub("</body>", "}")
                    rstring = rstring:gsub("<div id=\"username\"> ", "\"")
                    rstring = rstring:gsub(" </div> <div id=\"steamid\"> ", "\": { \"id\": ")
                    rstring = rstring:gsub(" </div> <div id=\"group\"> ", ", \"groups\": [ \"")
                    rstring = rstring:gsub(" </div>
    ", "\" ] },")
                    local addusers = json.decode(rstring)
                    if addusers then
                        settings.users = tablemerge(settings.users, addusers)
                    end
                end
            end
        end<!--c2--></div><!--ec2-->

    Ok so if i get this straight you are only searching between <body> and </body> and replacing the html tags with the actual formatting of the LUA.
    Question is, if you use additional \n in the html (basic line breaks), will it break the code?

    In other words, would it be able to decode this:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><div id="username"> dragon </div> <div id="steamid"> 5176141 </div> <div id="group"> Root </div>


    <div id="username"> user2 </div> <div id="steamid"> 5116141 </div> <div id="group"> othergrp </div>
    <!--c2--></div><!--ec2-->

    since there there are two \n's between the lines? If that's not working, i would suggest adding an extra \n after the
    tag to allow us to format the html properly.
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->rstring = rstring:gsub(" </div>
    \n", "\" ] },")<!--c2--></div><!--ec2-->
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    Allright, so everything is good except now i'm getting some issues. The DAKConfig.json file keeps getting updated.

    Specifically the MOTD and MESSAGES part, it seems to re-add the text there all the time just like when you run the plugins for the first time.
    To make it work i had to remove the following from the config_messages and config_motd:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->table.insert(MessageTable, "********************************************************************")
        table.insert(MessageTable, "****************** Welcome to the XYZ NS2 Servers ******************")
        table.insert(MessageTable, "*********** You can also visit our forums at 123.NS2.COM ***********")
        table.insert(MessageTable, "********************************************************************")<!--c2--></div><!--ec2-->

    and


    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->table.insert(MOTDTable, "********************************************************************")
        table.insert(MOTDTable, "* Commands: These can be entered via chat or the console (~)        ")
        table.insert(MOTDTable, "* rtv: To initiate a map vote aka Rock The Vote                     ")
        table.insert(MOTDTable, "* random: To vote for auto-random teams for next 30 minutes         ")
        table.insert(MOTDTable, "* timeleft: To display the time until next map vote                 ")
        table.insert(MOTDTable, "* surrender: To initiate or vote in a surrender vote for your team. ")
        table.insert(MOTDTable, "* acceptmotd: To accept and suppress this message                   ")
        table.insert(MOTDTable, "* stuck: To have your player teleported to be unstuck.              ")
        table.insert(MOTDTable, "********************************************************************")<!--c2--></div><!--ec2-->

    Not sure why it's doing it as i didn't look at the code too much.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    try to make the file read only and see if that helps.
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    eh - i already modified the lua files, i'll wait to see what xDragon has to say! Did you notice the same thing i did ZEROibis?
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    Forgot to add: I love the web admin feature - friggin genius. I love it love it love it!!!! I'm working on some phpbb3 mods, if anyone needs them let me know. Regardless, i'll make them public when i'm done. Just not tonight, gota hit the sheets.
  • itspreachitspreach Join Date: 2012-10-30 Member: 164638Members
    edited November 2012
    My DAKconfig kept regenerating a new file as well (not saving changes), had to update it like 3 or 4 times before it took... but this is not with todays version.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    ok finally got the test version working so I could join the game. Solution was to change game_setup.xml to:
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><game>
        <name>ns2</name>
        <description>Natural Selection 2</description>
        <client>lua/Client.lua</client>
        <server>lua/Server.lua</server>
        <soundinfo>sound/NS2.soundinfo</soundinfo>
    </game><!--c2--></div><!--ec2-->

    With that and loading from server.lua I was able to connect to the test server. I can confirm the admin does link up to the web page without any issues! I stayed up b/c I could not sleep until I figured out why it was not letting me join the server so now I go to bed and test more stuff tomorrow.
  • JektJekt Join Date: 2012-02-05 Member: 143714Members, Squad Five Blue, Reinforced - Shadow
    Setting LoadFromServerLUA to true gives an Invalid data error.
    My understanding if that you need to set this to true for a lot of the commands to work?

    <!--QuoteBegin-Dragon+--><div class='quotetop'>QUOTE (Dragon)</div><div class='quotemain'><!--QuoteEBegin-->If those commands are not working, you will want to check to make sure you set "LoadFromServerLUA" under DAKLoader to true.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I don't have access to the server log, so I had to printscreen my own console. Probably isn't useful.


    <img src="http://i.imgur.com/uzXUN.jpg" border="0" class="linked-image" />
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    If your using DAK as a workshop mod (loading it from -mods and in the mapcycle), then you wouldnt need or want to set LoadFromServerLUA to true, as it would cause errors server side.

    Regarding the Config file resetting, I noticed that issue when using old versions of the config_ files, did you update all the DAK files? And are you running any custom plugins?
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    Just wanted to add for those that want to test beta builds but minimize the amount of white listing being done in ConsistencyConfig.json you can use the following settings which still allow for the *lua check.

    ConsistencyConfig.json
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
      
        "check": [ "*.lua", "*.fx", "*.screenfx", "*.surface_shader", "*.fxh", "*.render_setup", "*.shader_template" ]

        "ignore":
        [
        "lua/DAKLoader_Class.lua",
        "lua/DAKLoader_Client.lua",
        "lua/DAKLoader_Config.lua",
        "lua/DAKLoader_EventHooks.lua",
        "lua/DAKLoader_MapCycle.lua",
        "lua/DAKLoader_Server.lua",
        "lua/DAKLoader_ServerAdmin.lua",
        "lua/DAKLoader_ServerAdminCommands.lua",
        "lua/DAKLoader_Settings.lua",
        "lua/DAKLoader.lua"
        ]
    }<!--c2--></div><!--ec2-->

    I am not sure if it would be a god idea to run a public server with your ConsistencyConfig.json like this. Does anyone know how much this opens up your server to hackers?
  • SteamyTacoSteamyTaco Join Date: 2012-03-06 Member: 148274Members
    <!--quoteo(post=2030325:date=Nov 20 2012, 09:14 PM:name=ZEROibis)--><div class='quotetop'>QUOTE (ZEROibis @ Nov 20 2012, 09:14 PM) <a href="index.php?act=findpost&pid=2030325"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Just wanted to add for those that want to test beta builds but minimize the amount of white listing being done in ConsistencyConfig.json you can use the following settings which still allow for the *lua check.

    ConsistencyConfig.json
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
      
        "check": [ "*.lua", "*.fx", "*.screenfx", "*.surface_shader", "*.fxh", "*.render_setup", "*.shader_template" ]

        "ignore":
        [
        "lua/DAKLoader_Class.lua",
        "lua/DAKLoader_Client.lua",
        "lua/DAKLoader_Config.lua",
        "lua/DAKLoader_EventHooks.lua",
        "lua/DAKLoader_MapCycle.lua",
        "lua/DAKLoader_Server.lua",
        "lua/DAKLoader_ServerAdmin.lua",
        "lua/DAKLoader_ServerAdminCommands.lua",
        "lua/DAKLoader_Settings.lua",
        "lua/DAKLoader.lua"
        ]
    }<!--c2--></div><!--ec2-->

    I am not sure if it would be a god idea to run a public server with your ConsistencyConfig.json like this. Does anyone know how much this opens up your server to hackers?<!--QuoteEnd--></div><!--QuoteEEnd-->

    NS2 doesn't check server.lua so it doesn't check DAK-luas.

    No need for that. If you need it, you have done it wrong.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    <!--quoteo(post=2030367:date=Nov 20 2012, 02:50 PM:name=SteamyTaco)--><div class='quotetop'>QUOTE (SteamyTaco @ Nov 20 2012, 02:50 PM) <a href="index.php?act=findpost&pid=2030367"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->NS2 doesn't check server.lua so it doesn't check DAK-luas.

    No need for that. If you need it, you have done it wrong.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Oh just checked and your right sorry I was going off of this:

    <!--quoteo(post=2029271:date=Nov 19 2012, 05:11 PM:name=xDragon)--><div class='quotetop'>QUOTE (xDragon @ Nov 19 2012, 05:11 PM) <a href="index.php?act=findpost&pid=2029271"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Yea i had considered the backup file, which is the route i will most likely go.

    For joining the server, try creating a folder called dak on the same level as your NS2 folder, and place the DAK files in there (lua folder and game_setup.xml directly inside the DAK folder). Then run your server with -game dak and clear the consistencycheck.json file temporarily (or remove game_setup and *.lua).<!--QuoteEnd--></div><!--QuoteEEnd-->

    Rather than remove *lua I then added just the DAK lua stuff to ignore. In my case I found that in order to not get a client and server differ error I had to do the following in addition to the instructions to loading DAK from server lua:

    1. Change game_setup.xml back to default (do not use one that comes with DAK)
    2. Remove game_setup.xml from consistencycheck.json

    So the full instructions of what I did to install DAK are:

    1. Copy contents of latest build zip file from GitHub into ns2/
    2. Added Script.Load("lua/DAKLoader.lua") to Server.lua in correct location
    3. In DAKConfig.json set LoadFromServerLUA to true
    4. Changed game_setup.xml to original contents:
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><game>
        <name>ns2</name>
        <description>Natural Selection 2</description>
        <client>lua/Client.lua</client>
        <server>lua/Server.lua</server>
        <soundinfo>sound/NS2.soundinfo</soundinfo>
    </game><!--c2--></div><!--ec2-->
    5. Removed game_setup.xml from consistencycheck.json

    Logically I could have skipped step 4 if I did not override game_setup.xml in the first place. However, is there anything wrong with the 5 steps I used to install?
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    That was more for just running a test server, if you wanted to work around the workshop/modded flag thing you would just want to modify Server.lua to load DAKLoader.lua, and copy the dak lua files into the ns2 folder. Then change the option in DAKConfig. You wouldnt want to use the game_setup.xml that comes with DAK then also.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    OK I found the problem! Your exactly correct, the issue was that I did not correctly restore the contents of game_setup.xml back to original! I copied the file from my local copy of the game to the server and now everything works correctly as you said it should.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    OK so to help anyone else that is a noob like me from making the same mistake I now present SUPER EASY INSTRUCTIONS for installing the latest version of DAK AND LOADING IT FROM Server.lua

    1. Go to <a href="https://github.com/xToken/DAK" target="_blank">https://github.com/xToken/DAK</a>
    2. Press the ZIP button next to Clone in Windows
    3. Extract the contents of ONLY the lua folder into the lua folder in your servers ns2 directory
    4. Open Server.lua from your servers lua directory
    5. Before the load statement for ServerConfig and after Script.Load for Shared.lua - Between lines 13 and 23 currently (B230) add: Script.Load("lua/DAKLoader.lua")
    6. Ensure you ONLY ADDED IT ONCE and save and close Server.lua
    7. Open DAKConfig.json from the config_path location of your server (defaults to app data if config_path start parameter is not used)
    8. Locate LoadFromServerLUA and set to true

    Congrats you have now installed the latest version of DAK and your server will not be flagged as modded!
  • JektJekt Join Date: 2012-02-05 Member: 143714Members, Squad Five Blue, Reinforced - Shadow
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->If your using DAK as a workshop mod (loading it from -mods and in the mapcycle), then you wouldnt need or want to set LoadFromServerLUA to true, as it would cause errors server side.

    Regarding the Config file resetting, I noticed that issue when using old versions of the config_ files, did you update all the DAK files? And are you running any custom plugins?<!--QuoteEnd--></div><!--QuoteEEnd-->

    Ah, then why aren't the tournament commands working? Using a stock install of DAK from the workshop.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    did you load the tournamentmode plugin? And set it to enabled in the config file?
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    xDragon, i thought reserved players are saved in ReservedPlayers.json. However, i did a sv_hasreserve and i don't see where it gets stored.
    Could it be in a different file?

    also, what arguments do you give the command sv_hasreserve? game ID? NS2 Steamid? what's the format to use?

    Thanks!
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    It is not stored. Any group that has access to sv_hasreserve will get the reserved slot. The data is stored where the player is assigned to a group. In the case of using the web based admin list it is saved in memory and loaded from the webpage you defined.

    I can verify it works exactly as intended, in fact today I had a player happily order their reserved slot and have it work as soon as they tried to join the server 30 seconds later.

    Sorry saw you did not know where to use sv_hasreserve, please post it in the allowed commands for your group that the admins are assigned to. Anyone that is using the disallowed method will have it unless you take it away from them.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    Ok so now that I am more acquainted with this mod it is time for some feature requests! I think most will agree these would be quite nice.

    1. Allow to define levels of admin for example admins of a lower level can not run commands like ban on an admin of higher levels but one of a higher level can run commands on one of a lower level.

    2. Allow the use of @ in chat to define admin text for example in all chat tying "@ echo" is the same as in console "sv_say echo". Using @ in team chat should be sent only to all admins in the server that have a defined flag.

    3. If possible create a system which allows admins to only be able to unban their own bans and those of admins of a lower level.

    4. Way to define multiple different messages that are single line instead of a block for the ads plugin. So for example every x-min it goes to the next ad in the list and displays that to players. (this allows greater more focused communication to the players)

    5. Ability to have ads not show to admins ideally on a message by message basis (so that admins and reserved slot users do not see ads for ordering reserved slot ect)
  • kamuletoekamuletoe Join Date: 2012-11-15 Member: 171207Members
    edited November 2012
    I'm hoping to get some help here... I think I have everything installed correctly except that... heh... when I went to "rtv" the server went freaking nuts! The chat log would not stop scrolling listing the maps. This is on a combat mode server with 20 people.

    "If your having an issue with the RTV/mapvote in DAK spamming messages/console errors, its because your config file is old. Try renaming it and letting DAK generate a new one.

    In the future im going to change how the config gets loaded so that it loads the defaults then your custom config, so that any new keys get created without issue."

    Doesn't seem to work for me with custom maps. Am I missing a json file I need to alter along with the server json?

    edit: The console appears to be saying there's an error where it expected a string and a table was presented... now to figure out how to change that mapcycle into a string.

    Ninja Edit!!: I fixed it for now... So my problem was I had the mapcycle set up to list each map with each mod (meaning I had it set up like this <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->"map": "<map name e.g. ns2_co_stargate>", "mods": [ "<mod ID, e.g. 6523544>"<!--c2--></div><!--ec2-->) It kept reading it as a table that way. Apparently DAK likes to look at the mapcycle as a string. So I just had this as my mapcycle

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
        "time": 30,
        "mode": "random",
        "maps": [ "ns2_co_core", "ns2_co_stargate", "ns2_pulsecombat", "ns2_summitcombat", "ns2_co_veil", "ns2_chuteout", "ns2_co_down_a1", "ns2_co_faceoff" ],
        "mods": [ "5f35045", "55e90a3", "4d41f11", "4fd7fd4", "57c685f", "57f5f9a" ],
      }<!--c2--></div><!--ec2-->
  • ZekZek Join Date: 2002-11-10 Member: 7962Members, NS1 Playtester, Constellation, Reinforced - Shadow
    I'm noticing that since 230 or maybe 231 the config file hasn't been saving any changes. It just continuously overwrites itself with the defaults each time.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    edited November 2012
    The config defaulting issue might have to due with your plugin, it may need to be updated. er - the config_ file as there has been some changes to how the default configs are loaded, specifically.

    Edit - updated the config_conditionalpassword file - <a href="http://www.mediafire.com/?lwxab9btid7t6wn" target="_blank">http://www.mediafire.com/?lwxab9btid7t6wn</a>

    Regarding the mapcycle issue that was an issue with DAK as I had not realized you could setup the mapcycle that way, so it wasnt prepared to handle it. I have fixed that issue, and updated the build on workshop finally.

    The same update will be uploaded to github, which also includes some fixes for the logging to hopefully correct any issues there with slowness, and I have removed the kEnabled check on most plugins (just the interp override still uses it). Now you just configure the plugins via the kPluginsList array.
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members
    I'm installing the new one right now. Ill get back here to confirm functionality once its done. But with thanksgiving and all don't hold your breath LOL
  • ZekZek Join Date: 2002-11-10 Member: 7962Members, NS1 Playtester, Constellation, Reinforced - Shadow
    Thanks, that does solve the config problem. Another issue I'm running into is that the kDAKOnClientConnect event doesn't seem to trigger properly anymore - the password only updates on kDAKOnClientDisconnect now.
  • kamuletoekamuletoe Join Date: 2012-11-15 Member: 171207Members
    <!--quoteo(post=2032300:date=Nov 22 2012, 10:20 AM:name=xDragon)--><div class='quotetop'>QUOTE (xDragon @ Nov 22 2012, 10:20 AM) <a href="index.php?act=findpost&pid=2032300"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->The config defaulting issue might have to due with your plugin, it may need to be updated. er - the config_ file as there has been some changes to how the default configs are loaded, specifically.

    Edit - updated the config_conditionalpassword file - <a href="http://www.mediafire.com/?lwxab9btid7t6wn" target="_blank">http://www.mediafire.com/?lwxab9btid7t6wn</a>

    Regarding the mapcycle issue that was an issue with DAK as I had not realized you could setup the mapcycle that way, so it wasnt prepared to handle it. I have fixed that issue, and updated the build on workshop finally.

    The same update will be uploaded to github, which also includes some fixes for the logging to hopefully correct any issues there with slowness, and I have removed the kEnabled check on most plugins (just the interp override still uses it). Now you just configure the plugins via the kPluginsList array.<!--QuoteEnd--></div><!--QuoteEEnd-->


    I'm still having an issue if I set my map cycle set up as a table. What I did was just take the exact code from the Combat Mode thread in this forum and copy it to my own MapCycle.json file. I copied over all the lua files (plugin folder included) to the lua directory. I changed the mapcycle back to the threads own code snipet. Here's the issue the server is throwing me. I do apologize for not posting this in my earlier post!! This is just one of the errors. It throws it up constantly. If you would like my actual log.txt please let me know!

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->[Server] Script Error #8: lua/plugins/plugin_mapvote.lua:143: bad argument #3 to 'format' (string expected, got table)
        Call stack:
        #1: format [C]:-1
        #2: UpdateMapVoteCountDown lua/plugins/plugin_mapvote.lua:143
            validmaps = 1
            recentlyplayed = 0
            tempMaps =  {1= {map="ns2_co_core", mods= {1="57f5f9a" } }, 2= {map="ns2_co_stargate", mods= {1="6523544" } }, 3= {map="ns2_pulsecombat", mods= {1="57c685f" } }, 4= {map="ns2_summitcombat", mods= {1="4fd7fd4" } }, 5= {map="ns2_co_veil", mods= {1="6033b34" } }, 6= {map="ns2_chuteout", mods= {1="55e90a3" } }, 7= {map="ns2_co_down_a1", mods= {1="5f5392e" } }, 8= {map="ns2_co_faceoff", mods= {1="4d41f11" } }, 9="Extend ns2_co_core", table=1 }
            (for index) = 1
            (for limit) = 100
            (for step) = 1
            i = 1
            map =  {map="ns2_co_veil", mods= {1="6033b34" } }
        #3: lua/plugins/plugin_mapvote.lua:298
            deltaTime = 0.039791531860828
        #4:  (tail call):-1
        #5: lua/DAKLoader_EventHooks.lua:67
            deltaTime = 0.039791531860828
            (for index) = 5
            (for limit) = 8
            (for step) = 1
            i = 5<!--c2--></div><!--ec2-->

    Anyways. Hope this helps to narrow down something that's causing conflictions! Don't worry about looking at anything until you're done with your holiday! Thanks for the hard work you do.
  • ZEROibisZEROibis Join Date: 2009-10-30 Member: 69176Members, Constellation
    edited November 2012
    I think I found a glitch where if you join and server is full and the player with the lowest score has a reserved slot then no one is kicked thus clogging the server up so no more reserved slot players can join until the server loses a player.

    Confirmed, left and retested where a reserved slot player would not have the lowest score and joined and then the player with the lowest score was kicked correctly and the server returned to 18/19
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    edited November 2012
    Whoops, looks like it was starting at 0, so unless there was a player with 0 score and no reserve, no one would be kicked.

    Just updated GitHub/Workshop with a new version fixing that, and hopefully finally fixing the mapvote issue with the table style configuration (map & modID). I did have to disable some checks so that those would work correctly, so you would want to use some caution when configuring your mapcycle maps as it would be possible to have the server attempt to change to a map that doesnt exist if it is in your mapcycle. This is because if you configure the map mods that way, they are not loaded unless your on that map, making it impossible for the server to confirm the map exists.

    Also fixed the ClientConnect event not triggering correctly.

    Also note that I left the checks on sv_changemap, so you would be unable to change the map that way if you configured the mapcycle as such. If you wanted to change the map to it manually as an admin, you would need to rcon the command, like sv_rcon changemap ns2_tanith_beta. note that there is no sv_ in front of changemap, this uses the other changemap command that has no checks like the mapvote.
Sign In or Register to comment.