Servers
“Oh dear, I've made quite a mess.” This page has been marked for general cleanup. Reason given: none given Please see Team Fortress Wiki style guide for information on how to improve this article. |
Like all multiplayer games based on Valve's Source Engine, Team Fortress 2 is designed around the idea of a client/server architecture. The "client" in this case being simply being the copy of Team Fortress 2 running on a player's computer. However, the client will require a server with which it can connect, allowing the player to interact with other players over the internet. There are more than 3,000 Team Fortress 2 servers currently running worldwide.
A game server is what handles the virtual world in which an individual plays. It processes where players are in the game, what they are doing, and lets everyone see what everyone else is doing. The server manages a virtual map which everyone that is connected can interact within.
Contents
Benefits
Instead of circumnavigating and choosing through servers available, players can opt to create their own servers to host the game. This can allow the host player to set the map rotation, determining which particular maps and subsequent game modes are played. Additionally, other built in settings can be altered, such as gravity, class slot limit, Highlander limitations and so on. Custom modifications may also be installed on the server to provide alternate gameplay.
Types
There are 2 types of servers that can be run using the Source engine.
Listen/Local server
A Listen Server is a basic server running within a player's TF2 client. It can be easily created through selecting the Create Server button at the main menu. Other players can connect to the server, but the cost of maintaining the server will put pressure on the host player's hardware. These types of servers are suited for LAN based events.
Dedicated server
A dedicated server is a standalone server that does not require Steam to run. Typically they may run in a command line window, and are usually run on specialized high-end hardware dedicated to maintaining game servers. These are the preferred type of server as they are often hosted on suitable hardware and can be easily adjusted and modified to player needs.
Requirements
While GSPs (Game Server Providers) generally use high-end dedicated hardware to run game servers, anybody can create a server by using a computer running:
Listen server
- Mac OS X 10.5.8 or 10.6.3 and higher meeting the game's requirements.
- Windows XP and higher meeting the game's requirements.
Dedicated server
- Linux (x86 or amd64) running GLIBC 2.3.2 and later.
- FreeBSD (x86 or amd64) running the Linux compatibility code in the kernel and a recent base Linux system from the ports collection.
- Windows 2000 and later.
Update history
- Linux Dedicated Server beta release.
- The affinity of the main thread is not set explicitly for dedicated servers. This will properly load balance multiple instances of the dedicated server running on a multi-processor machine. The affinity is still set to CPU 1 for clients and listen servers.
- Removed mp_friendlyfire cvar for servers. Team Fortress 2 breaks in a number of ways if this is on.
- Fixed rare server crash due to data corruption in networking.
- Fixed server crash related to Spy Sappers.
- Extra options added to 'Game' tab in "Create server" menu option.
- Improved startup network initialization to catch issues with server firewalls popping up in the background.
- Fixed issues on Dustbowl and Hydro that could occur when a server emptied in the middle of a round.
- Fixed honeypot server problems.
- Added sv_pure to the server, currently defaults to off. Type "sv_pure" in the console to get the full description.
- Added server log entries for: Round_Start, Round_Setup_Begin, Round_Setup_End, Round_Overtime, Round_SuddenDeath, Round_Stalemate, Round_Win, Round_Length, Mini_Round_Selected, Mini_Round_Start, Mini_Round_Win, and Mini_Round_Length.
- Server log entries for Round_Win and level changes will now detail the team scores and player counts.
- Updated server log entries for flag captures to detail the number of captures and the tf_flag_caps_per_round value.
- Fixed Windows dedicated server running in -console mode moves its window to the front instead of the back upon startup.
- Fixed Windows dedicated server bug (in -console mode) where typing anything in the console window was slow and tedious.
- Fixed an error when updating name of 32nd player on server.
- Sudden death mode is now a server option (a convar) and defaults to OFF.
- Fixed an rcon/console command that could cause server crashes.
- Fixed a rare crash that can happen when a player being healed leaves the server suddenly.
- Added the ability for servers to have map-specific .cfg files in the cfg folder.
- Added player position data to server logging of events (player_death, player_builtobject, teamplay_flag_event, object_destroyed, teamplay_point_captured, teamplay_capture_blocked).
- Added "nextlevel" server cvar. If set to a valid map name, server will change to that map during the next changelevel.
- Added server log entry for buildings destroyed by their owner.
- Game server will now try 32 sequential ports to start up on if they are all originating on the same machine. Previously it would stop at 10.
- Fixed server crash with mp_forcecamera set to 1 (reverted to pre-release behavior).
- Servers can now specify metatags describing the custom rules they've adopted.
- Added options for servers who want to become custom games: Disable Critical hits (tf_weapon_criticals), eliminate respawn times (mp_disable_respawn_times), and raise maxplayers above 24.
- Made several improvements to server-side stat reporting (not related to individual player stats).
- Fixed "-maxplayers" on the command line not correctly setting the maxplayers value for the server.
- Removed sv_alltalk from the list of convars that affect custom server tags.
- Fixed servers with maxplayers <= 24 that are running SourceTV having the "increased_maxplayers" tag added for their server.
- Fixed Linux dedicated server map load problems on certain Athlon processors.
- Fixed Linux build not handling FCVAR_REPLICATED and FCVAR_NOTIFY cvars correctly.
- Plugged an exploit where the server could send executable code to the client.
- Added mp_stalemate_at_timelimit ConVar for server admin to allow SuddenDeath when mp_timelimit hits on non-Valve maps.
- Fixed problem that was preventing some dedicated servers from uploading gamestats.
- Fixed Linux dedicated server crash on map change.
- Fixed clients being able to trigger sv_soundscape_printdebuginfo on the server.
- Fixed potential "nuke" exploit in rcon subsystem.
- Fixed _resetgamestats command causing server crash.
- Improved connection logic to help servers that aren't automatically reconnecting to Steam.
- Fixed setinfo exploit that allowed restricted convars to be set while connected to a server.
- Fixed "sensitivity" ConVar not capping the upper value which sometimes caused a server crash.
- Improved the version mismatch error message received when connecting to a server with a different version than your client.
- Fixed a server crash exploit caused by malformed network packets.
February 24, 2011 Patch (Community Map Pack Update)
- Fixed another server crash exploit caused by malformed network packets.
- [Undocumented] Fixed trades only displaying one of the items traded to the server.
- Added check to prevent multiplayer servers from transmitting 1 as their maxplayers value to connecting clients.
- Fixed clients being able to use particle exploits on sv_pure servers.
- Fixed a server crash caused by the server triggering a nextlevel vote.
- Fixed a server crash caused by using the Half-Zatoichi to hit someone not holding a weapon.
- Fixed a server crash that could occur if TFBots were used across map changes.
- Added the Replay feature: http://www.teamfortress.com/replayupdate
- Replay publishing system will try to do a rename for local HTTP mode but will manually copy and delete the file if the rename fails, which can happen if the source and destination are on different volumes.
- Fixed threading issues on Linux, which was causing major lag spikes.
- Fixed replay data cleanup system, which cleans up stale data at the end of each round. This asynchronous operation can be explicitly invoked by executing a replay_docleanup command on the server.
See also
External links
- Source Dedicated Server on the Valve Developer Community
- Setting up a Steam Source Dedicated Server – Steam Support Site