• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Server Server Administration - Detailed guide?

Hello again,

I've been trying to Google the heck out of where to find any detailed information on running a Killing Floor 2 server and I am just coming up completely empty. Other than the tripwire wiki with a quick guide on standing up a basic KF2 dedicated server, there is no more information out there.

Now, I've never run a server based on the Unreal engine, so maybe this isn't the way things are done, but is there a way of logging information about the players who have played on my server? Looking through the logs I found my own IP address once (even though I connected to the server multiple times during that log file's time period), and I didn't find any references to any of the other players (other than KFPawn_Human_1 and only when there was an error related to KFWeap_GrenadeLauncher_HX25_0 not having a damagetype) that connected to my game.

My game server administration background is with SourceDS based games (TF2, DOD:S, CS:S, and L4D/L4D2), and the logs for srcds give you the name, IP, and Steam_ID of every player that connects and detailed information about the server's configuration for that game/round (map, the state of any server variables, etc). They also give you a detailed account of every instance of weapon damage and every kill in every game.

Now, I don't necessarily need all that information to do my job, but an accounting of the game state (map, round start, round end, etc) and a listing of all of the players' vital statistics (Name, IP, Steam_ID) as they connect and disconnect is very important to me.

I've looked all through the server's KFGame/Logs directory, but the only thing that appears to be logged is server errors and warnings. Do I need to change some setting in the configs to get the info I want, or is there a separate directory for logs of that nature?

Thanks for you help,
Matt
 
That's the wiki page I referenced in my second sentence. It tells you how to get the server running, and it did help me get it started, me set up as admin, and the bare necessities set up (map cycle, welcome page, web admin).

It doesn't tell you anything about how to research what players have played on your server. This would be important if my friends were playing on the server when I'm not around and some tool decided to run around screaming racial slurs into the mic the whole game. How would I be able to figure out what that player's Steam ID or IP address was so that I could make sure he never set virtual foot on my server ever again? The logs only reference a player if there is some sort of error involving that player. The only players I ever see any existence of are Demolitionists, and only because the grenade launcher throws some sort of warning every time it's fired for not having a "damagetype". Even then I only get KFPawn_Human_#, which I asume is just that player's slot number. I haven't found any reference to the player's Steam ID or IP address. Every once in a while I run across a UID, but I'm not exactly sure if that is a permanent globally unique ID for that player or if it's something that is reset with the server. I don't see UIDs for every player that has played on my server, though.

I haven't been able to find anything on the Tripwire wiki (or the internet in general) about how to do any kind of log forensics, or if it's even possible. It's fine if that is something that is coming later (hopefully before the game comes out of early access). Right now the game probably doesn't have enough players for there to be a large troll/griefer problem. I just wonder how anyone could effectively keep the types of players that empty out servers from causing problems if the admin isn't able to be on 24/7.
 
Upvote 0
Ok, thanks for the info.

Is this thread a good place to request a detailed logging option (server variable) as a feature, or is there a place designated for feature requests? Should I start a thread in the bug report section?

My suggestion would be that there be multiple tags or levels of logging:

  • Player Information - connect, disconnect, Steam ID verification, admin authorization, and it should contain the player's name, IP, and any unique identifiers/Steam_ID
  • Game Events - map loaded, game start, wave start, trader open
  • Player Stats - damage dealt to zed with the weapon specified, damage dealt by zed to player, player death, zed killed by player, player purchases/loadout, player picks up or drops dosh/weapon, grenade thrown, zeds spawned (all these optionally with world location)
  • Chat - log all game chat messages
  • Administrative Actions - any time an admin does something that affects the server, such as map change, player kicked/banned, variable changed
  • Server Warnings - already logged
  • Server Errors - already logged
This type of information would make it possible for server admins to not only keep track of bad actors, but it would enable things like player stats programs (like HLStatsX for SourceDS). It would be even better if there was a server command that would open a UDP stream to send these logs to a listening server (such as a stats tracker or a remote admin interface like HLSW). Other than writing code to enable UDP streaming, which wouldn't be necessary (but would be awesome) it would just be like adding debug functions to the game events that already exist.


If there was a way to write a mod/plugin for the server that didn't cause the server to be unranked, I would learn how to mod and write it myself. As it stands, my server can't afford to be unranked, and there would be no reason to track local stats on an unranked server anyway.
 
Upvote 0