UT3 [Mutator] StatusReporter

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

WGH

New Member
Jan 22, 2006
237
0
0
32
Moscow, Russia
wgh.ath.cx
This mutator is rather special. It's intended for advanced server administrators.

Basically, it's a WebSocket client implemented in UnrealScript, that connects to a predefined WebSocket server and then pushes updates regarding server status: player count and their names, map names, scores, etc. It's kind of query protocol, but reversed: it's not something else that polls the game server about its status, it's the server itself that pushes status updates. It can be considered a push technology.

The main advantage of this approach is that updates are pushed immediately, without any delay. For example, as soon as someone joins the server, it pushes an update. So you can use it, for example, to display player list in real time, like here (the source code of this site is NOT provided).

Again, note that this's a WebSocket client only. You'll also need a WebSocket server that your game server and web browsers will connect to. Here's an example Python program (requires Python 3 and Tornado) that this mutator can connect to. Program prints received updates to the standard output. It doesn't have to run on the same machine that game server does.

The mutator package is not pushed to game clients, so you don't need to put it on the redirect server. It's also not required for demo playback. That's also why it doesn't include a version in its package name.

It's fully configurable from WebAdmin (there isn't much to configure :)).

It's proven to be very stable, working on fairly populated Warfare server without any issues for several years already. It was only tested to be compatible with Tornado WebSocket server, though it should be compatible with any other one.

Known problems:
  • It doesn't work on Linux dedicated server at all. Blame Epic Games and perhaps Icculus.
  • While connection is being established, it spams the log with useless warnings. Once connection is established, it ceases. Blame Epic Games. So if you want to avoid 100MB log files, you'd better be sure that your auxillary WebSocket server is always up.

Download: http://chireiden.torlan.ru/StatusReporter/StatusReporter.zip

Source code is available under terms of OUML on GitHub. https://github.com/WGH-/StatusReporter