服务器

From Team Fortress Wiki
Jump to: navigation, search

与其他所有基于 Valve 起源引擎的多人在线游戏一样,军团要塞2使用的也是客户端—服务器模式。客户端是指在玩家的电脑上所运行的那份完整的游戏程序,而服务器指的是客户端程序所连接的地方。目前在全球范围内有多达几千台军团要塞2服务器

服务器的功能是处理军团要塞2游戏进行时所发生的每一件事情。它会不断地接收玩家当前位置以及各种数据的信息,来对玩家的各种行为做出响应,比如在玩家开火后,给于一个适当的响应,例如当玩家的攻击对目标造成了伤害后,通过广播形式告之玩家,而对于广播告之的方式又有很多种,例如显示出对目标造成的伤害值。此外,服务器还会处理各种不受玩家控制的事件,例如地图时间、步哨枪的行为等等。

优点

除了加入网络上的服务器,玩家们也可以创建自己的游戏服务器。这使得主机(创建服务器的玩家)可以设置地图的循环方式,选择特定的地图与游戏模式来进行游戏。此外,游戏内置方面的设置也能进行修改,例如重力、兵种数目限制、高地兵团模式限制等等。主机也可以安装第三方模组来增加游戏的趣味性。

服务器类型

目前起源引擎游戏的服务器类型有2种。

监听/本地服务器

监听/本地服务器又称监听/本地主机,是在TF2游戏客户端上运行的基本类型服务器。玩家只要在游戏主菜单上选择创建服务器选项即可创建。其他玩家亦可连接到此类服务器中进行游戏,但是过于频繁地在同一客户端电脑上创建服务器会加速其系统硬件损耗。这类型服务器适合用在进行局域网联机游戏时使用。

专用服务器

参见: Dedicated server configuration, 专用服务器配置

专用服务器是那些不需要通过 Steam 平台来运行的独立型服务器。专用服务器比本地服务器更有优势,因为专一性、低损耗以及其他方面因素。此外,一些专用服务器所使用的是高端配置的数据中心服务器,能为玩家提供更快更稳定的网络环境以及更好的游戏体验。

需求

虽然 GSP(游戏服务器提供商)通常使用配置了高端服务器专用硬件的机器来充当游戏服务器,但任何人都可以使用一台电脑来创建服务器。相关需求如下:

监听/本地服务器

  • Mac OS X 操作系统 10.5.8 或 10.6.3 版本或更高。
  • Windows XP 操作系统或更高。

专用服务器

  • Linux 系统(x86 或amd64)并装有glibc 2.3.2 版或更高版本。
  • FreeBSD 系统(x86 或 amd64)并装有 Linux 内核兼容代码以及近期版本的 Linux 基础型系统。
  • Windows 2000 系统或更高。

更新历史

2007年9月20日补丁
  • Linux 专用服务器测试版发布

2007年9月26日补丁

  • 专用服务器上的主线程未明确设置由哪个核心负责处理。这次更新后使得多核处理器所有核心能均分处理任务。而在客户端以及监听服务器上默认的主线程处理核心则设为 CPU 1
  • 移除了服务器中的 mp_friendlyfire 系列代码。目前已确认多种不同类型的游戏出错由此代码引起

2007年9月28日补丁

  • 修复了一个罕见的、由网络数据堆积过多导致的服务器崩溃错误

2007年10月2日补丁

  • 修复了一个与电子工兵有关的服务器崩溃错误
  • 为"创建服务器"菜单选项增添了新的设置选项

2007年10月9日补丁

  • 改进了网络初始化设定,以解决服务器防火墙程序在初始化期间弹出的问题

2007年10月25日补丁

  • 修复了沙尘暴(Dustbowl)以及水力发电站(Hydro)两幅地图在游戏回合时间过半且服务器中无玩家时会出现的一个错误
  • 修复了一些与蜜罐服务器有关的问题(用以引诱黑客攻击并记录其手段的诱饵型服务器)

2007年11月20日补丁

  • 为服务器增加了 sv_pure 代码,默认值为关闭。在控制台中输入“sv_pure”可获得详细的说明。
  • 更新了服务器日志项: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 以及 Mini_Round_Length
  • 服务器日志项 Round_Win 以及关卡更换的记录现在会附有详细队伍得分以玩家数目信息
  • 服务器日志中与记录情报夺取有关的项目现在会显示具体的情报夺取数目以及 tf_flag_caps_per_round 的数值
  • 修复了使用了 -console 模式启动的 Windows 专用服务器的视窗位置不正确的错误
  • 修复了在 Windows 专用服务器中(以 -console 模式运行),在控制台输如信息时速度过慢且繁琐的错误
  • 修复了服务器无法正确更新第32名玩家的名称的错误

2007年12月20日补丁

  • 突然死亡模式现在被设置为服务器的可选选项(一条控制台指令)而且其默认为关闭
  • 修复了一个可能会导致服务器崩溃的控制台指令
  • 修复了一个由正在接受治疗的玩家突然离开服务器而导致游戏崩溃的罕见错误
  • 为服务器增加了能在 cfg 文件夹中创建与地图特殊设置相关的 .cfg 文件的功能

2007年12月31日补丁

  • 为服务器日志增加了与玩家位置有关的值(player_death、player_builtobject、teamplay_flag_event、object_destroyed、teamplay_point_captured、teamplay_capture_blocked)

2008年1月14日补丁

  • 为服务器增加了“nextlevel”指令。如果为此指令设置一个有效的地图名称,那么在服务器更换地图时就会更换为指定的地图。

2008年2月14日补丁

  • 在服务器日志中增加了记录由建造者亲自摧毁的建筑的值

2008年2月15日补丁

  • 如果连接服务器的端口均在同一台机器上时,游戏服务器不会再尝试以32个端口的形式进行连接。现在端口上限值为10
  • 修复了由代码 mp_forcecamera 被设置成1时导致的服务器崩溃问题(设置恢复到代码添加以前)

2008年2月28日补丁

  • 服务器现在会显示创建者自定义的设置标签
  • 为服务器增加了一些自定义设置选项:禁止爆击(tf_weapon_criticals)、取消重生时间(mp_disable_respawn_times)以及最大人数上限可超过24人
  • 对服务器端的统计报告进行了一些改进(不涉及玩家的个人统计信息)
  • 修复了 "-maxplayers" 指令未能正确的设置服务器最大人数上限的问题

2008年3月6日补丁

  • 移除了sv_alltalk 指令,因为该指令会影响自定义服务器标签的显示
  • 修复了最大人数设置不到24人的服务器在开启起源电视功能时会显示"increased_maxplayers" 标签的错误

2008年3月13日补丁

  • 修复了使用 Athlon 处理器的 Linux 专用服务器的地图载入问题

2008年3月20日补丁

  • 修复了 Linux 版本的游戏未能执行 FCVAR_REPLICATED 以及 FCVAR_NOTIFY 两条指令的错误
  • 修复了一个使得服务器能向客户端发送可执行代码的漏洞
  • 增加了 mp_stalemate_at_timelimit 指令,服务器管理员可以使用此指令为第三方地图设置进入突然死亡模式前的游戏时限

2008年4月1日补丁

  • 修复了一个使得一些服务器不能上传游戏统计数据的错误

2008年4月2日补丁

  • 修复了 Linux 专用服务器在更换地图时发生崩溃的问题

2008年4月30日补丁

  • 修复了客户端可以在服务器中激活 rigger sv_soundscape_printdebuginfo 指令的错误
  • 修复了管理员子系统中一个潜在的“毁灭性”漏洞

2008年8月4日补丁

  • 修复了使用 _resetgamestats 指令导致服务器崩溃的问题

2009年7月14日补丁

  • 改进了连接设置,以帮助那些与 Steam 断开连接的服务器重新连接 Steam
  • 修复了一个设置方面的漏洞,该漏洞使得一些禁止使用的指令在连接到服务器后依然可以使用
  • 修复了与“灵敏度”有关的控制台指令没有数值上限的问题,该问题在某些时候会导致服务器崩溃

2010年5月27日补丁

  • 增加了客户端/服务器版本检测设置

2010年6月11日补丁

  • 修复了在某些情况下服务器会无限制地刷新机器人玩家而导致游戏卡死的问题

2011年2月14日补丁

  • 改进了客户端/服务器版本不符的提示消息

2011年2月22日补丁

  • 修复了一个由异常网络数据包导致的服务器崩溃漏洞

2011年2月24日补丁 (社区地图更新)

  • 修复了另一个由异常网络数据包导致的服务器崩溃错误
  • [未记载] 修复了在进行多物品交易后,服务器只显示其中一件的错误

2011年3月10日补丁 (将军升级)

  • 增加了新的检测设置,以防止多人游戏服务器将正在连接的客户端数作为最大玩家数
  • 修复了客户端用户可以在开启了sv_pure 的服务器中使用某些粒子效果漏洞的问题

2011年3月15日补丁

  • 修复了当座头市之刀击中没有手持武器的目标时导致服务器崩溃的错误

2011年4月15日补丁

  • 修复了一个由服务器发起的“下一幅地图”投票导致的崩溃错误

2011年4月18日补丁

  • 修复了一个可能由机器人玩家触发的全地图更变设置导致的服务器崩溃错误

2011年5月9日补丁

  • 回放发布系统会对本地 HTTP 录像进行重命名,但当出现了重命名失败的情况时,就需要手动复制与删除相关的录像文件,该情况会在文件来源与路径不在同一个硬盘分区中时发生。
  • 修复了 Linux 系统上的一些严重问题,这些问题会导致严重的延迟现象
  • 修复了回放清理系统的一些问题,该系统会在回合结束时清理存储的回放文件,这个操作可以通过使用 replay_docleanup 指令来运行

2011年5月10日补丁

  • 回放系统
    • 修复了在录像数据清理时服务器被锁定的问题

2011年5月13日补丁

  • 修复了一个由物品模型结构不一致而导致的服务器崩溃错误

2011年5月25日补丁

  • 修复了一些由回放系统导致的服务器崩溃错误
  • 修复了一个由投票系统导致的服务器崩溃错误

2011年6月17日补丁

  • 修复了一个由回放系统导致的服务器崩溃错误
  • 修复了一个由伪装间谍导致的服务器崩溃错误
  • 修复了一个由在控制台输入文字导致的崩溃错误
  • 修复了一个在清理文件期间出现的服务器崩溃错误

2011年6月27日补丁

  • 增加了一个控制台消息提示,当玩家是通过游戏匹配系统加入服务器时就会显示

2011年7月28日补丁

  • 修复了 Linux 服务器中的踏步靴伤害计算问题,该问题可能导致服务器崩溃

2011年9月2日补丁

  • 修复了一个由无效的玩家视角导致的服务器崩溃漏洞

2011年10月17日补丁

2011年10月18日补丁

  • 修复了一个频繁发生的服务器崩溃问题,由游戏文件包导致

2011年10月18日补丁#2

  • 修复了一个与非预缓存模型有关的服务器错误

2012年2月2日补丁

  • 改进了玩家因 Steam 身份验证失败而与服务器断开的显示信息,现在其表述会更清楚
  • 现在服务器上的重要信息也会被记录在服务器日志中
  • 修复了一个当欢乐拳套爆击攻击击中物件时导致的服务器崩溃错误

2012年2月16日补丁

  • 修复了专用服务器在更新发布时没有收到重启请求的错误

2012年2月23日补丁

  • 修复了 +randommap 代码在服务器启动时不能正常工作的问题
  • 修复了由回放客户端以及玩家视角导致的专用服务器控制台不停跳出的错误

2012年3月8日补丁

  • 修复了当服务器使用 SetCustomModel 代码来更换玩家人物模型时导致的客户端崩溃问题

2012年5月10日补丁

  • 修复了一个在有些时候会阻止服务器重新与物品服务器连接的程序错误

2012年5月17日补丁

  • 增加了 changelevel_next 指令,管理员使用这条指令可以直接将当前地图更换到地图循环列表中的下一幅地图

2012年6月27日补丁 (纵火狂更新)

  • 增加了两条新的服务器指令:sv_rcon_maxpacketsize以及sv_rcon_maxpacketbans,管理员可以借此设置服务器的最大 RCON 数据包大小限制以及让服务器自动禁封超过设定大小的玩家,默认设置为当前的游戏设置状态
  • 修复了在专用服务器上无法触发地图注解事件的错误
  • 修复了原先由专用服务器发起的投票会触发投票失败的错误
  • 现在在服务器中使用名称标签改名的行为会以文字形式进行全服公告
  • [未记载] 修复了以前要在满月时期重启一次服务器才能让玩家使用万圣节物品的问题

2012年7月2日补丁

  • 修复了一个使得伪造的IP地址可以连接游戏服务器的错误

2012年7月10日补丁

  • 修复了一个会在重新连接物品服务器时发生的客户端/服务器崩溃错误

2012年7月20日补丁

补丁1

  • 增加了 sv_namechange_cooldown_seconds 指令,以防止客户端过于频繁地修改名字(默认为20秒)
  • 增加了 sv_netspike_on_reliable_snapshot_overflow 指令,使得服务器可以有选择性地清理与那些由于“reliable snapshot overflow”问题而掉线的客户端的网络数据文件(默认为0,即不会进行清理)
  • 增加了服务器检测机制,以防止玩家在名字中添加颜色代码
  • 修复了游戏服务器无法正确接收客户端库存最新数据的错误(通常由客户端的“与物品服务器的连接丢失”错误导致)

2012年7月23日补丁

  • 修复了专用服务器无法使用 sv_region 代码的错误

2012年8月3日补丁

  • 修复了在使用地图指令使用 tf_mm_servermode 指令会导致服务器崩溃的错误

2012年8月17日补丁

补丁1

  • 更新了专用服务器设置,现在以最大人数上限少于32人的设定运行MVM模式地图时,游戏就会自动退出
  • 修复了 mp_timelimit 指令在MVM模式中导致在回合失败后无法重启的错误
  • 更新了匹配指令 tf_mm_strict
    • 当值设置为“2”时,会将服务器从服务器列表中隐藏,但是依然能通过直连方式连接

补丁2

  • 修复了一个阻止服务器添加“幽灵”玩家的错误(即实际不存在但是会占用服务器人数的玩家)

2012年8月21日补丁

  • 修复了一个由即时命中武器开火导致的罕见服务器崩溃错误

2012年8月23日补丁

  • 新增了 "kickall" 指令,这个指令会将除了回放、HLTV以及监听服务器主机(如果设置了)以外的所有已连接游戏的客户端踢出服务器。

2012年9月10日补丁

  • 修复了一个使得服务器可以恶意限制玩家使用控制台指令的错误
  • 修复了一个使得服务器可以恶意阻止玩家使用控制台指令的错误

2012年9月21日补丁

补丁1

  • 修复了一个与爆破手机器人有关的崩溃错误
  • 应社区的要求:
    • 新增了 "tf_avoidteammates_pushaway" 指令,使得玩家与队友重叠时不会再被对方推动或是将对方推动
    • 新增了 "tf_arena_override_team_size" 指令,让服务器所有者可以设置竞技场模式下的队伍最大人数

补丁2

  • 修复了一个使得游戏服务器会错误地上传“服务器已满”信息的

2012年10月9日补丁

2012年10月27日补丁

  • 修复了一个与曼恩 VS. 机器模式有关的 Linux 专用服务器崩溃错误

相关文章

外部链接