There are some changes coming that TF2 server operators should know about.
CHANGES TO QUICKPLAY
The next TF2 update will make two changes to quickplay:
* "Show servers" button. This runs the ordinary quickplay search, but instead of joining the server with the highest score, it presents the user with an ordered list of about 20 servers and lets them pick. This gives players much of the convenience of quickplay by finding servers with a good ping and players on them, but also an easy way to express a preference over the map, server community, etc.
* We've added an advanced options page that allows players to opt into the most commonly-requested non-vanilla rules changes: nocrits, maxplayers, and instant respawn.
There are no more scoring penalties for maxplayers or rule changes; your server either matches their search criteria or it doesn't.
At this time, we are keeping the default quickplay option to Valve servers. However, note that if a player wants to find a server with any of the supported modifications, then they must land on a community server, since Valve servers do not run with these settings.
We've updated the quickplay policy to more clearly specify what sorts of server modifications are allowed in quickplay:
STEAM GAMESERVER ACCOUNTS
Gameserver accounts are now a Steam feature. The feature is currently in beta.
Using a steam gameserver account provides one important advantage right now: client favorite lists are keyed by the Steam account if present. This means that you can move your server to another IP address, and clients who have your server in their favorites or history will follow you to your new location.
CREATING AN ACCOUNT:
Creating an account is currently only possible via WebAPI. (Remember, this feature is currently in beta. We'll add a nicer interface for this soon.) Make a HTTPS POST request to the following URL:
The POST arguments should be:
appid=440 (for Team Fortress)
<your WebAPIKey> is the WebAPI key associated with the user account that will own the server accounts. See http://steamcommunity.com/dev
for how to get one of these. (WARNING: Make sure and keep this key secret. This key is an authentication token in some respects and makes it possible to do certain actions on your behalf. Don't feed the key into anybody's nice convenient web page that automates this. With your WebAPI key they could impersonate you for some actions. If you don't want to go through the pain of making a WebAPI call, just wait until we have a nicer interface implemented.)
The output of the WebAPI will be the (permanent) SteamID of your gameserver, and a login token. The login token is a random string of text that allows you to actually login to your account.
You can view a list of the servers owned by a user account by making a HTTPS GET call to:
LOGGING IN TO YOUR ACCOUNT (TF only for now):
Once you have a gameserver login token, you can specify your login credentials on a Source engine server by executing this console command sometime before it loads the first map:
sv_setsteamaccount <login token>
The server output should make it clear when you are using a Steam gameserver account and when you are logging in anonymously. (The ordinary gameserver login that has always been used.)
Remember, for now you will need to login to both your Steam gameserver account and also your TF account. The two accounts are not related. The TF account is the one that determines quickplay eligibility, and the Steam one does favorites migration. Eventually we will remove the TF accounts and only use Steam gameserver accounts.
HOW FAVORITES MIGRATION WORKS:
In the next few days we will release an updated Steam Client beta that knows how to migrate favorites. On the client, each favorite has an IP:port and a gameserver account. The account might be empty --- that will of course be the case for all previously existing favorites. Periodically, a client will try to sync up the favorites list IP:port addresses and accounts. If there is an IP:port without an associated account, it will ask the master server for information about that address. If a server is running on that address and logged into an account, the client will record the account. Once the client has an account associated with the favorite, the account becomes the primary key and will not change. Instead, we will periodically try to refresh the address from the account. (Again, this is done by querying the master server, and it depends on your server bring logged into the account and running on the address.) The client always caches the last known IP:port of a favorite, even though the account ID is the main "key". That way, if Steam is down, or the gameserver is down, it will used the cached IP:port. All of the above applies to history as well as favorites.
In the future, when a client adds a favorite or history item, the account will be recorded immediately.
If you know you have many clients that have your server in their favorites or history, then you should not move your server yet. You need to give clients time to logon with new Steam client binaries and get their favorite entry linked up with your account. We'll let you know when you can try out migrating favorites, as well as when the feature is active in the public client and all users have it.
Since Steam gameservers are a Steam feature, all of the above will apply to all Steam games. (Provided that the game exposes a method for the gameserver to log in to an account.) Eventually, the TF2 gameserver accounts will be going away and replaced with these accounts. For now, they are separate.
Any further questions about the quickplay changes or gameserver accounts? Please direct them to this list so that all answers will be public.