Server features we would like to see before release

invTempestinvTempest Join Date: 2003-03-02 Member: 14223Members, Constellation, Squad Five Blue
<div class="IPBDescription">A list of features to make NS2 servers easy to run and manage</div>I have been running NS2 servers for a year and 3 months now and over the course of this time I have seen a number of things change with the server (for better and some for worse) that I would like to open up a topic on features which we would like to see added before the game gets fully released which will not only make NS2 very easy to run server wise but it will be a whole lot more user friendly than it is right now.

<b>Server logging:</b>

First and foremost, the game needs to do proper logging. Right now the logs are very sparse and that is fine for when it is in beta as the logs are mostly used to find and fix script errors, but once the game gets released we will need to see a lot more information being logged to allow for better administration and also so people can create and implement tools such as stat tracking and performance monitors (for those that want it for their community).

Lets take a look at the current connection log format: (ip's and steamID's removed)

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->Client connecting (###########)
Client connecting (###########)
Client connecting (###########)
Client connecting (###########)
Client connected (#########)
Client Authed. Steam ID: #######
Client connected (#########)
Client Authed. Steam ID: #########
Dr. Pz connected.
NsPlayer (2) is now known as m42.
Client connected (##########)
Client Authed. Steam ID: #######<!--c2--></div><!--ec2-->

When a player connects there is no easy way to associate an IP to a steamID to a username. This makes it extremely hard for server admins to use logs files to use as evidence when kicking and or banning a person.

Now lets look how TF2 and the source engine does it:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->L 07/05/2012 - 20:37:05: "bonus! Firefly<6><STEAM_0:X:XXXXXXXX><>" connected, address "XXX.XXX.XXX.XX:27005"<!--c2--></div><!--ec2-->

Not only is all the information on 1 line, it is setup in a way so that it is able to be parsed very easily.

Now lets take a look at kill and death stats currently being logged:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->Server  : 15739.485352 : UWE.Strayan died
Server  : 15746.026367 : |LnO|Rebel died
Server  : 15752.306641 : Mendasp died
Server  : 15753.646484 : UWE.Strayan died
Server  : 15756.022461 : InternetsLIVE died
Server  : 15780.955078 : |LnO|Rebel died
Server  : 15802.766602 : Sr. Kouji San died
Server  : 15820.502930 : |LnO|Rebel died<!--c2--></div><!--ec2-->

There is no way to determine who killed what and with what weapon (needed for stat tracking).

Lets take a look how TF2 does it:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->L 07/05/2012 - 20:39:34: "=rental= + your mom<10><STEAM_0:X:XXXXXXXX><Red>" killed "bonus! Arthur<4><STEAM_0:X:XXXXXX><Blue>" with "tf_projectile_rocket" (attacker_position "749 1090 8") (victim_position "958 1016 84")<!--c2--></div><!--ec2-->



<b>Log Feature request for NS2:</b>

1) Log user connections using a format similar to how TF2/Source does it with real timestamps.

Example:

Date - Time: "Username"<UserID><SteamID>"Connected/disconnected, address "IP Address of client"
Date - Time: "Username"<UserID><SteamID>"Authed"

2) Log kill death messages with optional location information for heat maps (Location isn't a huge deal but would be nice for full blown stat tracking).

Example:

Date - Time: "Username"<UserID><SteamID><TeamID>" Killed "Username<UserID><SteamID><TeamID>" with "weapon" (Attacker Postion)(Victim Postion)

3) Log structure kill and anything that adds to a players score.

Examples:

Date - Time: "Username"<UserID><SteamID><TeamID>" triggered "extractor_built" (score "5")
Date - Time: "Username"<UserID><SteamID><TeamID>" triggered "hive_destroyed" (score "40")
Date - Time: "Username"<UserID><SteamID><TeamID>" triggered "harvester_kill" (score "10")
Date - Time: "Username"<UserID><SteamID><TeamID>" triggered "cyst_kill" (score "5")

4) Change player chat logging to use similar format as above.

5) Log files should not be written over and instead a date and timestamp should be appended to each log so server admins can view previous log files rather than only the current one.



<b>Server configuration files:</b>

Having most of the server config files in %appdata% causes all sorts of issues when you talk about running multiple servers on the same physical box. Not to mention that this location varies depending on the user that the game is ran under and finding it can sometimes be a headache. Also giving users access to this location when speaking from a GSP's point of view is not a very good idea as everything should be kept under 1 directory not only for ease of use but also for security reasons.

All of the logs, mapcycle, server admin configs, and ban lists should be put in the main directory of the game or at the very least a commandline option be created to change the location of where logs are written to and where the game can find all of the necessary configs. Not only will this make finding and modifing what you are looking for easier it will make it a lot more user friendly.

<b>Feature request:</b>

1) Allow log files to be written to a directory of our choice.
2) Allow us to specify a common "config" directory where server.xml, serveradmins.json, bannedplayers.json, mapcycle.txt can be found or better yet create a "config" directory and have default versions of these files already located here. If you go with the later more user friendly route adding a commandline override would still be nice to allow for full customization.
3) Make default versions of each configurable file and create a readme that lists the location of these files, their purpose, and any commandline settings you can use to move or otherwise change the location or functionality of said file.


<b>MOTD:</b>

This feature is needed to give information to connecting players about rules, server mods, VOIP info, website, how to contact an admin, etc.. Think this is pretty self explanatory and its implementation doesn't have to be advanced at all to get the info across.
«1

Comments

  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    I can't argue with any of this really. MOTD is probably the least important out of everything you mentioned though, IMO.

    The next build should be shipping with a slightly more up to date 'Dedicated_Server_Usage.txt'.. but it may actually be better to replace this with a link to <a href="http://www.unknownworlds.com/ns2/wiki/index.php/Dedicated_Server" target="_blank">the wiki</a>. I just got done updating and reorganizing all the dedicated server content on the wiki, so that should be a decent reference now.
  • dePARAdePARA Join Date: 2011-04-29 Member: 96321Members, Squad Five Blue
    An updatet wiki didnt fix the fact, you cannnot find a playerid in an easy way for an ban for example.
    Seem to be that the serverlogs only for finding bugs atm. For an admin they are like pain in the ass.
  • JuCCiJuCCi Join Date: 2011-08-08 Member: 114961Members, NS2 Map Tester
    <!--quoteo(post=1950227:date=Jul 9 2012, 10:50 PM:name=devicenull)--><div class='quotetop'>QUOTE (devicenull @ Jul 9 2012, 10:50 PM) <a href="index.php?act=findpost&pid=1950227"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I can't argue with any of this really. MOTD is probably the least important out of everything you mentioned though, IMO.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Do you run any servers? Because MOTD is a big need right now. I had to get someone to mod OM and put it in because it was takin out and Player has dropped OM :(

    Id also really like to see reserved slots, this is a huge need for server providers.

    Thanks
  • oldassgamersoldassgamers Join Date: 2011-02-02 Member: 80033Members, Squad Five Blue, Reinforced - Shadow
    edited July 2012
    <!--quoteo(post=1950404:date=Jul 10 2012, 08:26 PM:name=JuCCi-PuCCi)--><div class='quotetop'>QUOTE (JuCCi-PuCCi @ Jul 10 2012, 08:26 PM) <a href="index.php?act=findpost&pid=1950404"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Do you run any servers? Because MOTD is a big need right now. I had to get someone to mod OM and put it in because it was takin out and Player has dropped OM :(

    Id also really like to see reserved slots, this is a huge need for server providers.

    Thanks<!--QuoteEnd--></div><!--QuoteEEnd-->

    I totally agree with you JUCCI PUCCI , I'm in greate need of a motd for my NS2 server. We're lucky that the path of NS2 is not decided by one person opinion, so devnull may think it's not a priority, but hopefully others do in the uwe :)
  • JuCCiJuCCi Join Date: 2011-08-08 Member: 114961Members, NS2 Map Tester
    edited July 2012
    <!--quoteo(post=1950407:date=Jul 10 2012, 05:35 PM:name=oldassgamers)--><div class='quotetop'>QUOTE (oldassgamers @ Jul 10 2012, 05:35 PM) <a href="index.php?act=findpost&pid=1950407"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I totally agree with you JUCCI PUCCI , I'm in greate need of a motd for my NS2 server. We're lucky that the path of NS2 is not decided by one person opinion, so devnull may think it's not a priority, but hopefully others do in the uwe :)<!--QuoteEnd--></div><!--QuoteEEnd-->

    Good to see more server providers agree. Oldassgamers do you still run OM on your servers? I can give you the download for MOTD mod. Add me on steam. Devnell you should not be telling us what we need. You should be asking what we need and want first, since you do make the new admin we are using. Tahnks
  • LocklearLocklear [nexzil]kerrigan Join Date: 2012-05-01 Member: 151403Members, NS2 Playtester, NS2 Map Tester, WC 2013 - Shadow
    I agree. MOTD is something that is pretty important.

    Reserved slots would also be good but I can wait on that.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    <!--quoteo(post=1950248:date=Jul 9 2012, 11:23 PM:name=dePARA)--><div class='quotetop'>QUOTE (dePARA @ Jul 9 2012, 11:23 PM) <a href="index.php?act=findpost&pid=1950248"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->An updatet wiki didnt fix the fact, you cannnot find a playerid in an easy way for an ban for example.
    Seem to be that the serverlogs only for finding bugs atm. For an admin they are like pain in the ass.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Would you prefer no documentation? I never said 'oh, I documented everything so you don't need any more features'. Not really sure how you interpreted it that way.


    <!--quoteo(post=1950407:date=Jul 10 2012, 04:35 PM:name=oldassgamers)--><div class='quotetop'>QUOTE (oldassgamers @ Jul 10 2012, 04:35 PM) <a href="index.php?act=findpost&pid=1950407"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I totally agree with you JUCCI PUCCI , I'm in greate need of a motd for my NS2 server. We're lucky that the path of NS2 is not decided by one person opinion, so devnull may think it's not a priority, but hopefully others do in the uwe :)<!--QuoteEnd--></div><!--QuoteEEnd-->
    Once again, I said that in my opinion, MOTD was the least import feature out of the ones he mentioned. Did I ever say, "no, you don't need MOTD, GTFO"?
  • JuCCiJuCCi Join Date: 2011-08-08 Member: 114961Members, NS2 Map Tester
    edited July 2012
    Are you making the admin mod? If so ask us what we want, not what you think we need. I don't feel your opinion matters here. I run 3 busy NA servers, i know what i need.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    edited July 2012
    Edit: On second thought, I do not wish to post.
  • rhombusrhombus Lerk Queen Join Date: 2011-06-23 Member: 106055Members, Constellation, Squad Five Blue
    edited July 2012
    What was implemented was the bare minimum to keep player's OM from breaking every build and causing hidden issues not related to NS2. This a thread for suggestions, not accusations that we're not going to continue to develop the server admin side of NS2.

    Lance, myself, and a few others got together and pulled ideas from the AMXX mod in NS1 and had Brian implement something quick to allow server admins to administrate instead of having to update a mod every patch. Give it time, these suggestions will be noted.
  • JuCCiJuCCi Join Date: 2011-08-08 Member: 114961Members, NS2 Map Tester
    Im just trying to make a point that he should be asking what we need. The 2 things are big needs. MOTD and Reserved slots. I have people asking when those are coming all the time. So those 2 things are a big need IMO. And as for Players admin breaking stuff. He was always on top of it and i think we should have just ran with his, or got him in on it.
  • rhombusrhombus Lerk Queen Join Date: 2011-06-23 Member: 106055Members, Constellation, Squad Five Blue
    edited July 2012
    We're still in beta, shouldn't have to remind you. What is important is fixing bugs and directing the time of the developers to meeting deadlines. As I said: The suggestions will be noted and if a developer (mainly Brian) wants to tackle the task when he's free then we can send things his way. Until then we'll squeeze things in as we can.
  • JuCCiJuCCi Join Date: 2011-08-08 Member: 114961Members, NS2 Map Tester
    8 weeks till release. Time to drop the "it's a beta" and put on the big boy pants, we are coming in for a landing.
  • rhombusrhombus Lerk Queen Join Date: 2011-06-23 Member: 106055Members, Constellation, Squad Five Blue
    edited July 2012
    Nothing was said about server admin-side in terms what UWE is looking at for release. If you want to argue the finer points of development you can feel free to message me on steam. There is still a lot to do including the Exo reveal which everyone is working on along side the other things they have on their plate. I wouldn't expect it for 213 or 214 (unless we can test it and confirm that the implementation is working without a hitch).
  • invTempestinvTempest Join Date: 2003-03-02 Member: 14223Members, Constellation, Squad Five Blue
    Let's try not to derail this thread anymore than it has been. I for one am thankful that UWE has taken the time to include an admin system at this point in the beta.

    This topic was supposed to be a place where people could suggest features or ways to make the new admin system even better - Lets try to get this thread back on topic.

    *on topic*
    Reserved slots would be another nifty feature that would be nice to have but I know the devs sure have a lot on their plate right now and I would most certainly favor optimization and performance increases over the feature requests listed here.
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    For what it's worth, a lot of the logging changes are probably things you can do yourself. You probably can't suppress some of the existing messages (they come from the engine, not lua), but it should be possible to add your own.
  • RyneRyne Join Date: 2012-02-25 Member: 147408Members, NS2 Map Tester
    Auto-AFK kick would be nice (with customizable time limit)
  • dePARAdePARA Join Date: 2011-04-29 Member: 96321Members, Squad Five Blue
    edited July 2012
    For an machine running multiple servers, it would be cool to split the bansystem from the mapcyle.
    If you ban someone, you want to be sure he is not switching to another server. So we need an global ban, but every server should have his own mapcycle.

    @Ryne
    Look at this, i use it for a while now and it works great:
    <a href="http://www.duplexgaming.co.uk/downloads/mods/98/auto_kick_mod/" target="_blank">http://www.duplexgaming.co.uk/downloads/mo.../auto_kick_mod/</a>
  • oldassgamersoldassgamers Join Date: 2011-02-02 Member: 80033Members, Squad Five Blue, Reinforced - Shadow
    <!--quoteo(post=1951322:date=Jul 13 2012, 04:41 PM:name=dePARA)--><div class='quotetop'>QUOTE (dePARA @ Jul 13 2012, 04:41 PM) <a href="index.php?act=findpost&pid=1951322"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->For an machine running multiple servers, it would be cool to split the bansystem from the mapcyle.
    If you ban someone, you want to be sure he is not switching to another server. So we need an global ban, but every server should have his own mapcycle.

    @Ryne
    Look at this, i use it for a while now and it works great:
    <a href="http://www.duplexgaming.co.uk/downloads/mods/98/auto_kick_mod/" target="_blank">http://www.duplexgaming.co.uk/downloads/mo.../auto_kick_mod/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    Nice mod, will this be official feature for the up-coming ns2 patches?
  • Sr LanceSr Lance Rhythm is a Lancer Join Date: 2004-11-18 Member: 32862Members, Constellation, Squad Five Blue
    edited July 2012
    <!--quoteo(post=1951322:date=Jul 13 2012, 11:41 AM:name=dePARA)--><div class='quotetop'>QUOTE (dePARA @ Jul 13 2012, 11:41 AM) <a href="index.php?act=findpost&pid=1951322"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->For an machine running multiple servers, it would be cool to split the bansystem from the mapcyle.
    If you ban someone, you want to be sure he is not switching to another server. So we need an global ban, but every server should have his own mapcycle.<!--QuoteEnd--></div><!--QuoteEEnd-->

    One shared ban system doesnt work well for GSP's as other clans might not want the same people banning which is why we have single ban files. Might be possible to read/write bans to a database which could be configured to use the same DB for bans.
  • vlncvlnc Join Date: 2010-09-07 Member: 73921Members, Squad Five Blue
    edited July 2012
    Will you guys add the possibility to kick someone with his STEAMID ?
  • dePARAdePARA Join Date: 2011-04-29 Member: 96321Members, Squad Five Blue
    <!--quoteo(post=1951994:date=Jul 16 2012, 05:51 PM:name=Sr Lance)--><div class='quotetop'>QUOTE (Sr Lance @ Jul 16 2012, 05:51 PM) <a href="index.php?act=findpost&pid=1951994"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->One shared ban system doesnt work well for GSP's as other clans might not want the same people banning which is why we have single ban files. Might be possible to read/write bans to a database which could be configured to use the same DB for bans.<!--QuoteEnd--></div><!--QuoteEEnd-->


    With an "global-bansystem" i mean local on the machine.
    Right now you can add an config path for each server. Each server looking for the banfile in his own path.
  • woodywoody SoCal Woody56 Join Date: 2004-02-14 Member: 26541Members
    Just give us easy access to the server commands :)
    <b>RCON</b>
    <!--fonto:Franklin Gothic Medium--><span style="font-family:Franklin Gothic Medium"><!--/fonto-->RCON<!--fontc--></span><!--/fontc-->
    I mis hlsw :(
  • elodeaelodea Editlodea Join Date: 2009-06-20 Member: 67877Members, Reinforced - Shadow
  • ScrajmScrajm Join Date: 2011-10-17 Member: 127859Members
    This community is full of awesome programmers who can make magic stuff. Why cant just anyone make a reserved slot mod?
  • woodywoody SoCal Woody56 Join Date: 2004-02-14 Member: 26541Members
    Add a line that loads a file called user_scripts.lua that gets called everytime . then u could add custom scripts to load from there and they wouldn't get overwritten on updates.

    "if already suggested somewhere excuse me" lol
  • stgrimstgrim Join Date: 2012-09-12 Member: 159079Members, Reinforced - Shadow
    <!--quoteo(post=1958769:date=Aug 8 2012, 08:39 AM:name=Scrajm)--><div class='quotetop'>QUOTE (Scrajm @ Aug 8 2012, 08:39 AM) <a href="index.php?act=findpost&pid=1958769"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->This community is full of awesome programmers who can make magic stuff. Why cant just anyone make a reserved slot mod?<!--QuoteEnd--></div><!--QuoteEEnd-->

    I feel reserved slots are very important as a major factor in running a 24/7 dedicated server is to allow my friends and I the privilege to jump into a game anytime without having to wait.
  • MOOtantMOOtant Join Date: 2010-06-25 Member: 72158Members
    <!--quoteo(post=1976844:date=Sep 13 2012, 06:32 AM:name=stgrim)--><div class='quotetop'>QUOTE (stgrim @ Sep 13 2012, 06:32 AM) <a href="index.php?act=findpost&pid=1976844"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I feel reserved slots are very important as a major factor in running a 24/7 dedicated server is to allow my friends and I the privilege to jump into a game anytime without having to wait.<!--QuoteEnd--></div><!--QuoteEEnd-->
    And it shouldn't give impression that 1 slot is free. I mean seriously, making server browser that can filter servers with private slots that are not yours is not rocket science. At best it's a bit of cryptography.
  • Katana-Katana- Join Date: 2008-11-25 Member: 65575Members
    edited September 2012
    <!--quoteo(post=1958769:date=Aug 7 2012, 05:39 PM:name=Scrajm)--><div class='quotetop'>QUOTE (Scrajm @ Aug 7 2012, 05:39 PM) <a href="index.php?act=findpost&pid=1958769"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->This community is full of awesome programmers who can make magic stuff. Why cant just anyone make a reserved slot mod?<!--QuoteEnd--></div><!--QuoteEEnd-->

    This is pretty difficult to do well right now, because the part of the game that handles incoming connections, and responds to queries from the master gamelist server is written into the engine, not lua. This means modders don't have easy access to the code, and have to use really hacky methods to implement things like reserved slots.

    I would add that as a feature request, can we have a hook in lua for when a client requests a connection to the server, so we can choose to refuse their connection based on some criteria other than the number of slots on the server?

    A hook like this would make implementing reserved slots a breeze.
  • KhyronKhyron Join Date: 2012-02-02 Member: 143308Members
    Tab completion for sv_kick steamID would be nice.
Sign In or Register to comment.