Feature Request - Enhanced Server Logging

9 8
  • 12 Aug '19

Hey Mordhau team!

I know that the decision was made to put API/SDK etc development on the back burner, but I was hoping in the meantime to make a feature request for something that I imagine would be a fairly easy change -

So when running the Mordhau server binary, it seems to be using the Core.Log UE4 facilities to output messages to stdout - unfortunately most of these messages aren't super useful, you can get player joins, leaves, bans but that's about it. It would be amazing if events like player kills, deaths, spawns and weapon selection were available in the log files. I've configured a CloudwatchAgent to stream the server logs to AWS CWL with a lambda parser function on it that records some of the available data, so I can get historical metrics of things such as player count, total time a specific player has spent on a server, popular play times, and tracking ban events in an external table, but I would love to be able to build a historical database of player weapon selection, running kill/death by server, their nemesis (who's killed them the most that they have a negative ratio against), their victim (who they've killed the most that they have a positive ratio against), and anything else I could collect and throw into some graphs/visualizations :D

There seems to already be a logging facility called LogMordhauStats or something like that - but even set to VeryVerbose/All it doesn't seem to output anything. Cranking some logging facilities up to VeryVerbose gets me some interesting events - like the LogNetDormancy logs, by which I can associate Player/Character actors with ip addresses, and with a cross event lookup associate the IP address with an actual steam user - and I can get some RPC events such as ReceivedScore and ReceivedKillNotify - so before I go down the route of tcpdumping and trying to reverse engineer the RPC event network serialization for the kill/death/score signatures I figured I'd at least ask here first.


Count 5 1
  • 13 Aug '19

+1 devs pls

3 1
9 8
  • 14 Aug '19

Example image of what I've been able to do so far, but it's pretty limited :

So much more could be built with just a tiny bit of extra information in the logs :D Daily/Weekly/Monthly leaderboards would be a super low hanging fruit!

534 286
  • 17 Aug '19

This would be a quick fix but I don't think it's a long term solution to the problem. I agree though it would really useful and so many things could be done to help incentivise server owners.
I had a go at using cheatengine on the server a while back and was able to change some basic stuff like slomo and read kills/deaths for certain player slots. Finding the null pointer for a UE4 game is probably very difficult though and I was well out of my depth. Probably much easier than reverse engineering the network requests though.

I have a signature