[hlds] Heads up - Updated system requirements for TF2 dedicated servers, likely mod breakage - Beta available
Hey everyone,
Following up on the warning email we sent a long while back, we're making good on our promise and changing our build toolchains for the TF2+SDK2013 games' dedicated server. TF2 is being updated first, with the other SDK2013 games to follow.
There are two things that may affect server administrators that you should be aware of:
The Linux dedicated server now targets the Steam Runtime
The Steam Runtime is a common runtime target based on Ubuntu. For srcds, this largely means linking against a more recent glibc than may be available in some server distributions. Administrators should check that the provided beta still runs in their environment of choice. Those who are on older or incompatible distributions have several options:
- Switch to a distribution more compatible with the Steam Runtime, such as Ubuntu LTS
- Make use of a chroot/container/VM environment to run srcds. The tools linked below include a script for creating a chroot that can be used for bootstrapping Steam Runtime environments.
- Use the Steam Runtime tools linked below combined with some dynamic linker magic to use the runtime libraries on an incompatible distribution, e.g.:
steamrt=/path/to/runtime
export LD_LIBRARY_PATH="bin:$steamrt/usr/lib32"
LD="$steamrt/usr/lib32/ld-linux.so.2"
"$LD" ./srcds_linux "$@"
More information about the Steam Runtime and utilities for obtaining it can be found here:
https://github.com/ValveSoftware/steam-runtime
The compiler toolchain used for all editions of srcds has changed
Along with the client builds, all server builds have been updated to a newer compiler. Windows builds now use the MSVC2015 tools, while Linux builds now use a newer edition of GCC with differing command-line parameters that affect codegen.
This is expected to break mods that expect certain ABI behaviors or look for certain signatures in order to hook functions (such as SourceMod). We have separately spoken with the SourceMod team and they are working on supporting the new setup. Maintainers of other mods should test them against the beta release below.
Our previous warning also indicated that this would change the _srv naming of the linux binaries. We have decided *not* to adjust this, and the separate _srv build and naming remains unchanged.
Beta
We've made a beta branch available for TF2 with these new changes. The remaining SDK2013 games will be updated in the near future, and we will provide a beta for them at that time.
The beta is compatible with the current TF2 public release - servers may safely convert to it and continue serving both beta and non-beta clients.
The beta branch is titled "toolchainbeta" with no required password. It can be accessed with SteamCMD via:
app_update 232250 -beta toolchainbeta
These changes may be promoted to an official release of TF2 as soon as next week, so we encourage all server administrators to test their setup against the beta before then.
Let me know if you have any questions or concerns
- John