AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   General (https://forums.alliedmods.net/forumdisplay.php?f=58)
-   -   Updated system requirements for TF2 dedicated servers (2-20-2017) (https://forums.alliedmods.net/showthread.php?t=294141)

WebNoob 02-20-2017 17:56

Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Just out of curiosity, since Valve released the following info today:

Quote:

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.
....is this just going to be an underlying change that is needed by the Sourcemod team to accommodate things like signature changes, or will it require all custom plugins to also be re-coded?

EDIT: I should add for clarity for those who haven't read it - Valve has stated this change could be released as soon as next week

Neuro Toxin 02-20-2017 18:03

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Can you link the source of this information?

WebNoob 02-20-2017 18:17

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Quote:

Originally Posted by Neuro Toxin (Post 2497013)
Can you link the source of this information?

This was from the server-operators mailing list:

Quote:

John Schoenick
5:46 PM (30 minutes ago)

to hlds, Half-Life, hlds_announce
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

Spirit532 02-20-2017 18:32

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
I'm also interested in what these changes will require from server operators.

friagram 02-20-2017 18:52

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Rip my gamedata folder

psychonic 02-20-2017 19:14

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Quote:

Originally Posted by WebNoob (Post 2497011)
....is this just going to be an underlying change that is needed by the Sourcemod team to accommodate things like signature changes, or will it require all custom plugins to also be re-coded?

Some function signatures will change, so a small gamedata update.

psychonic 02-20-2017 20:18

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
For those wanting to try this branch with SourceMod, I pushed updated gamedata to a branch here, https://github.com/alliedmodders/sou...-toolchainbeta

You will need to temporarily disable the gamedata updater.

Not on the topic of SM, but users on CentOS 6 or Debian 7 or older will likely run into GLIBC errors on server launch.

I solved a similar issue using a variant of one of nephyrinJohnS's tips on the list. Using the Steam Runtime chroot wasn't an option for a few reasons, but the runtime dev environment was still useful.

After using the build-runtime.py script to create the environment, I set the following env vars at server launch.

(ENGINE_PATH is just the game install dir here. The srcds_run wrapper script already normally adds the first two directories. STEAMRT_PATH is ~/steamrt/steamrt_scout_i386, after doing, for example, python build-runtime.py -r ~/steamrt from a clone of the steam-runtime repo)

LD_LIBRARY_PATH="${ENGINE_PATH}:${ENGINE_PATH }/bin:$LD_LIBRARY_PATH:${STEAMRT_PATH}/lib:${STEAMRT_PATH}/usr/lib:${STEAMRT_PATH}/lib/i386-linux-gnu/"

LD="${STEAMRT_PATH}/lib/ld-linux.so.2"

friagram 02-20-2017 20:43

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
How does it affect offsets?
Did they bother to include symbols in windows?

psychonic 02-20-2017 20:52

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
Quote:

Originally Posted by friagram (Post 2497042)
How does it affect offsets?
Did they bother to include symbols in windows?

It doesn't, and that's not easily doable.

404UserNotFound 02-20-2017 21:05

Re: Updated system requirements for TF2 dedicated servers (2-20-2017)
 
So CentOS and Debian have issues with startup. I hope standard Ubuntu 16.whatever is fine.


All times are GMT -4. The time now is 01:55.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.