Native Linux Dedicated Server Logging



  • The Windows dedicated server comes with, alongside the UDK binary, a UDKLogging binary with which you can launch your server and get a pretty decent log that looks like this (both in stdout and a log file in the UDKGame\Logs directory):

    ...
    [0006.17] DevDlc: Shipping Level: AOCFFA-Moor_p
    [0006.18] Log: Game class is 'AOCFFA'
    [0006.18] Init: WinSock: Socket queue 131072 / 131072
    [0006.18] Init: WinSock: Socket queue 131072 / 131072
    [0006.18] Log: Initialized RedirectNetDriver, for redirecting IP connections to Steam sockets
    [0006.19] Log: NetMode is now 1
    [0006.19] Log: Primary PhysX scene will be in software.
    [0006.19] Log: Creating Primary PhysX Scene.
    [0006.19] Log: Bringing World aocffa-moor_p.TheWorld up for play (60) at 2015.10.25-12.32.42
    [0006.21] Log: Initializing Steam game server
    [0006.21] DevDlc: Shipping Level: aocffa-moor_p
    [0006.21] DevDlc: Shipping Level: aocffa-moor_p
    [0006.21] DevDlc: Shipping Level: AOCTO-Hillside_P
    [0006.21] DevDlc: Shipping Level: AOCTO-Hillside_P
    ...
    

    Unfortunately it seems the Linux server does not have any ‘Logging’ binary, only UDKGameServer-Linux, which does not spit out virtually any logs to the console nor does it seem to write to any log file according to my full filesystem searches, even if I specify -log or -log=desiredname.log.

    Is there any way to get the full log with this binary? Alternatively, can TBS push an update that contains a ‘Logging’ binary with the Linux build? There’s a bunch of stuff that really needs to be fixed with the build anyway, like creating the steam_appid.txt file that screws everyone over until they happen to come across the other posts on this forum, and putting steamclient.so in the Binaries/Linux/lib directory rather than just leaving it in the root directory, so perhaps you can fix that at the same time…


  • Developer

    Yeah, sorry about the Linux neglect. I’m tempted to just scrap this process altogether and switch to using a Docker image. We don’t use Linux Server ourselves so it tends to get the least attention out of everything.

    Currently Linux binaries won’t log at all in Shipping (fully optimized) configuration. That’s blocked in a number of places. We could add in Release (semi-optimized) binaries to work around that, but they will be a bit more resource intensive. I don’t know at the moment how much work would be involved in getting Linux/Shipping to log like Windows/Shipping can.



  • Thanks for the response. If a Docker image is easier for you to maintain it might be a good move, but I think you’re pretty close to getting things right – once I figured out the steam_appid.txt thing I was able to get the server running just fine on a fairly barebones Arch Linux machine just by setting LD_LIBRARY_PATH to point to necessary shared libraries which all come with the Steam client. A Release logging binary would be fine, the main reason I want it is to be able to run a server with logging just for a day or two to ensure the game itself and any mod(s) are running as expected, long term I could stick to the better optimised Shipping build.


Log in to reply