专用服务器配置
目录
安装
基于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.txt
和 motd_text_default.txt
的文件。
两个文件的不同点在于, motd_default.txt
可以包含了任何客户端网页编程语言(HTML,CSS,JavaScript),可以直接写入文件,或者是在文件内填入网页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_pure
为1和自定义的白名单来允许玩家修改难以作弊的文件,或者移除玩家使用自定义模型的能力。
第三方插件
一些第三方插件能给予更多的保护来对应怀有恶意的玩家。查看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/插件
额外保护
- TF2版的Dos攻击修复 - 用于反制分布式拒绝服务攻击的插件
- DBlocker - DBlocker 是一个反作弊插件
通用
- Metamod:Source - 许多插件的前置
- Event Scripts - 强力的脚本环境
管理维护
- Mani's Admin-Plugin
- SourceMOD - 也提供了大量的脚本和插件