专用服务器配置

From Team Fortress Wiki
Jump to: navigation, search

安装

基于Windows的服务器安装

关于安装Windows专用军团要塞2服务器的步骤,请参考页面 Windows专用服务器

这个简短教程将指导你在Windows系统上创建军团要塞2专用服务器。目前使用的工具是Steam控制台客户端工具(或者叫做SteamCMD, 全程为Steam Console Client Tool)。Steamcmd可以帮助你在电脑安装最新版本的服务端。假如服务端已安装,工具会自动更新现有的服务端到最新版本。


你可以在此下载到Steamcmd来安装TF2服务器: http://media.steampowered.com/installer/steamcmd.zip

下载完成后,从命令行运行此程序然后命令行会自动更新/安装你的服务器。为了节约时间和带宽,把Steamcmd安装到已有的半衰期专用服务器目录也是值得尝试的。


命令行的一个例子:

steamcmd +login anonymous +force_install_dir C:\tf2_server +app_update 232250 validate +quit

你可以把此命令行保存到文本文件,存为.bat,会被转换成可执行脚本文件。在服务器需要更新时你可以直接运行这个脚本。


更多细节的安装说明请访问: SteamCMD 源于 Valve 开发者社区

MOTD

MOTD("Message Of The Day") 是连接进服务器时显示的信息。可以是简单的文字,也可以是复杂的网页。想要修改此信息,打开到你的 orangebox/tf 目录并编辑名为 motd_default.txtmotd_text_default.txt 的文件。


两个文件的不同点在于, motd_default.txt 可以包含了任何客户端网页编程语言(HTMLCSSJavaScript),可以直接写入文件,或者是在文件内填入网页URL。但用户决定关闭HTML MOTD的话,motd_text_default.txt 内的内容就会被代替使用。

假如 motd_default.txt 包含了任何的网页编程语言或者是URL的话,游戏就会使用Internet Explorer载入该页面。

两个文件都被限制在 2 KB (2,048 字节)。


一个可突破此文件限制(大小限制)的办法就是在网络发布你的.html文件。比如你可以在motd.txt里加入 http://www.your-clan-website.com/motd.html 就会显示 motd.html 网页文件。


关于如何创建无缝切合TF2黑板的MOTD网页,参考: http://www.specialattack.net/node/39

http://hlds101.com/configuring.htm

地图列表

地图列表是列出了服务器游玩的所有地图的文件。加入你有自定义的地图投票插件,确保你把地图名字加入了maplist.txt中,投票列表才能正常运作。 SRCDS(Source Dedicated Server, 起源专用服务器)允许你方便地编辑服务器的地图轮换。只需编辑文件orangebox/tf/maplist.txt即可。

想要添加自定义地图,把.bsp放入orangebox/tf/maps目录,在orangebox/tf/maplist.txt找到maplist.txt,把地图文件名添加到新的一行(关于地图文件名,只需要准确的地图名字,而不能包括.bsp的扩展名)。

反作弊保护

VAC

Valve反作弊会自动检测并封禁使用第三方软件在服务器作弊的玩家(比如变速和自瞄)。 VAC是全部服务器默认开启的,关闭方法是管理员在启动项加入-insecure

服务器配置

除了VAC安全服务器,第一道防线就是服务器变量(控制台命令)sv_pure。这个变量控制客户端能在服务器使用何种的自定义文件。假如设置错误,很容易就被玩家滥用。假如你不想看到作弊者,最好(不是必要)设置这个值为1或2。默认的sv_pure设置为0,不限制任何文件。可选的值为0,1和2,下方有详细的解释。

sv_pure 0
允许玩家修改任何游戏文件。客户端可能会修改文件来获取不公平的优势,比如替换敌方玩家模型为显眼颜色的皮肤,把墙改透明,给情报箱加上标记,各种你能想出的点子。VAC不能防御这种行为,因为这没影响游戏进程本身。是服务器决定着这些的。
sv_pure 1
基于白名单限制玩家可以修改的游戏文件。默认白名单仍然允许玩家修改玩家模型和其他可能的文件,比如显眼的玩家皮肤。默认是允许自定义武器模型的,比如第一人称动画。


sv_pure 2
强制客户端忽视玩家的自定义内容,强制它们使用Steam提供的游戏文件。这是最安全的,但sv_pure 2会组织所有自定义皮肤/模型和自定义喷漆。

关于sv_pure的更多信息,包括白名单的格式,参考Pure_Servers 源于 Valve 开发者社区


许多服务器通常设置sv_pure1和自定义的白名单来允许玩家修改难以作弊的文件,或者移除玩家使用自定义模型的能力。

第三方插件

一些第三方插件能给予更多的保护来对应怀有恶意的玩家。查看SRCDS Hardening @ alliedmods.net获取更多信息和插件。

命令行设置

Command Line Options 源于 Valve 开发者社区


TF2专用服务器的示例 Server.cfg

// 通用设置 //

// 服务器主机名
hostname yourserver.com TF2 Server

// 覆盖显示的最多玩家数
sv_visiblemaxplayers 24

// 更换地图前游玩的回合数
mp_maxrounds 5

// 设置来锁定每一帧时间速率
host_framerate 0

// 设置服务器状态为暂停
setpause 0

// 设置服务器获取的内容
// 0 = 任何来源, 1 = 白名单允许的, 2 = steam官方内容限定
sv_pure 0

// 服务器是否可暂停
sv_pausable 0

// 服务器种类 0=互联网 1=局域网
sv_lan 0

// 收集CPU数据
sv_stats 1



// 执行封禁玩家 //
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip



// 联系 & 地区 //

// 联系邮箱
sv_contact emailaddy@google.com

// 上报的服务器地理位置
// -1 为全球, 0 为美国东岸, 1 为美国西岸
// 2 南美, 3 欧洲, 4 亚洲, 5 澳洲, 6 中东, 7 非洲
sv_region -1



// Rcon 设置 //

// rcon验证密码(Remote CONtrol)
rcon_password yourpw

// 验证失败多少分钟后,封禁验证失败的用户
sv_rcon_banpenalty 1440

// 验证失败并封禁之前允许的尝试次数
sv_rcon_maxfailures 5



// 日志设置 //

// 开关日志记录到文件,控制台和udp
log on

// 只记录服务器信息到一文件
sv_log_onefile 0

// 记录服务器信息到文件
sv_logfile 1

// 在日志中记录服务器封禁
sv_logbans 1

// 在控制台输出日志信息
sv_logecho 1



// 网络速率设置 //

// 帧率限制
fps_max 600

// 最低允许的带宽速率,0为不限制
sv_minrate 0

// 最高允许的带宽速率,0为不限制
sv_maxrate 20000

// 服务器允许的最小每秒更新
sv_minupdaterate 10

// 服务器允许的最大每秒更新
sv_maxupdaterate 66



// 下载设置 //

// 允许客户端上传自定义内容
sv_allowupload 1

// 允许客户端下载内容
sv_allowdownload 1

// 最大允许上传的文件大小,单位MB
net_maxfilesize 15



// 团队平衡 //

// 开启自动平衡
mp_autoteambalance 1 

// 队伍不平衡这些秒之后开始调整玩家
mp_autoteambalance_delay 60

// 队伍不平衡这些秒之后输出平衡警告
mp_autoteambalance_warning_delay 30

// 当玩家数差大于或等于此数时判断为不平衡(0为不检查)。
mp_teams_unbalance_limit 1



// 回合和游戏时间 //

// 开启回合等待时间。警告:在一些服务器,设置为0在一些地图可能导致准备时间为5:20(5分钟20秒)!
mp_enableroundwaittime 1

// 回合结束后进入下一回合的时间
mp_bonusroundtime 8

// 如非0,当前回合将在指定的时间后重启
mp_restartround 0

// 开启骤死赛
mp_stalemate_enable 1

// 骤死赛的时间(按秒计数)
mp_stalemate_timelimit 300

// 每张地图的时间
mp_timelimit 35



// 客户端cvars //

// 限制死亡玩家的观察模式
mp_forcecamera 0

// 是否允许观察者
mp_allowspectators 1

// 开关脚步声
mp_footsteps 1

// 开关游戏作弊
sv_cheats 0

// 当此秒数之后没收到客户端信息,断开客户端
sv_timeout 900

// 允许玩家挂机最大时间(分钟),设置此与sv_timeout为相同的?
mp_idlemaxtime 15

// 处理挂机玩家方式,1为送入观察者,2为踢出
mp_idledealmethod 2

// 喷漆间隔时间(秒)
decalfrequency 30



// 沟通 //

// 开启语音聊天
sv_voiceenable 1

// 是否开启全局语音聊天,没有团队限制,1为开启,0为关闭
sv_alltalk 0

// 游戏结束后可聊天的时间
mp_chattime 10

// 开启派对模式
tf_birthday 0

热门的mod/插件

额外保护

通用


管理维护

参见