僵尸毁灭工程steam is not enabled错误解决方法
Steam 上面的 Project Zomboid 因为带有 VAC 所以建服开服需要 Steam服务器认证,这也是出现 steam is not enabled 错误主要原因,也是无法和普通零售正版所建的服务器联机的罪魁祸首。
分两种情况(下面 Project Zomboid 均简称PZ):
1、steam版PZ和零售正版PZ服务器联机
2、steam版PZ自己建服开服联机
解决方法
第一种情况:
打开steam的库,选择PZ右键 - 属性 - 常规 - 设置启动选项 ,填写上
-nosteam
最后确认完成。在这个启动参数下,steam版PZ就可以和普通零售版PZ正常联机。
第二种情况:
上文说过,steam版PZ需要steam认证,所以直接按照普通零售版PZ建服必定会出现 steam is not enabled 错误,我们得开一个 steam认证服务器。
首先,下载、解压并安装SteamCMD
SteamCMD for Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
接着运行steamcmd.exe,它会自动更新,更新完关掉再打开,然后输入以下命令回车:
login anonymous
获取授权成功后会显示:
接着输入以下命令回车:
force_install_dir C:PZServer
意思是设置服务器文件安装目录为 C:PZServer 这可以更改到别的地方,这里仅举例。
接着输入以下命令回车:
app_update 380870 validate
接着会自动从steam服务器下载大约1.02GB的建服文件。
下载到100%后,输入 quit 命令退出关闭SteamCMD。
然后到刚才设置的下载目录 C:PZServer 里面找到 下面两个bat文件
StartServer32.bat
StartServer64.bat
根据自己的系统选择32位或者64位,双击开始初次运行,防火墙会拦截,记得放通。
初次运行会强制要求设置管理员密码,设置后会提示重复输一遍。
然后会显示下面的信息,此为初步设置完毕,可以进行本地端口 127.0.0.1 的联机了,但别人基本无法联机进来玩,因为还得设置服务器配置表以及设置几个特殊端口转发。
接着输入 quit 保存并关闭服务器,然后到 C:Users 自己的用户名 omboidServer 目录下找到 servertest.ini 配置文件,我们需要对服务器进行进一步设置。
可以直接右键编辑 servertest.ini ,以下为主要修改的地方,其余可以自己斟酌。
DefaultPort=16261 【默认服务器联机端口,可自定义】
Public=false 【是否公共服务器,默认否】
PublicName=My PZ Server 【服务器名称】
MaxPlayers=64 【最大联机人数】
RCONPort=27015 【远程控制台端口】
RCONPassword= 【远程控制台密码,默认为空】
Password= 【服务器密码,默认为空】
SteamPort1=8766 【steam认证端口】
SteamPort2=8767 【steam备用端口】
SteamVAC=true 【VAC反作弊插件,默认开启】
(因为没有条件测试,所以我不知道关闭VAC之后普通零售版PZ是否也能联机进来)
接着视自己的网络状态设置端口转发。
如果是单机独立公网IP,那么无需设置。
如果有用路由器的,都需要设置路由转发,特别需要注意以下两点:
1、有多少人连服务器就需要提供多少端口,假如服务器限制10个人,那么除了默认16261 UDP 识别端口外,还需要另外提供10个端口 16262 - 16272 TCP 让别人联机进来。
2、必须保证 steam 端口可用【默认的 8766、8767 均可自定义】
我以10人的服务器举个例子,servertest.ini 自定义端口如下面这样:
DefaultPort=27016
RCONPort=27015
SteamPort1=27014
SteamPort2=27013
那么路由器上端口转发规则只需要添加一条即可:
27013 - 27026 192.168.X.X TCP/UDP(ALL)
当然,可以设置DMZ主机全部转发,虽然省功夫但非常不建议那样设置。