Abiotic Factor

Abiotic Factor

Not enough ratings
非生物因子 - 专用服务器设置指南
By LichBane
小白也能看的自助搭建服务器指南
   
Award
Favorite
Favorited
Unfavorite
0 - 前言
本指南内容基本来自官方wiki,以供没有服务器搭建基础的玩家学习阅读。
官方wiki:[github.com]
如有错误/过时内容 请在评论区留言

如果你完全没有服务器搭建经验

建议 阿里云/腾讯云 这类大型云服务商提供的轻量应用服务器
如果是25岁以下腾讯云有特别折扣,阿里云有学生认证折扣
本人不是相关专业,不作赘述,具体选购指南请自行搜索

--请在服务器上安装windows server系统--
根据Wiki内容 Linux服务器目前仅由社区提供支持
1 - 安装SteamCMD和Abiotic Factor Dedicated Server Tool
1.1 下载并安装 SteamCMD
服务器中下载命令行版本的Steam客户端,用浏览器打开链接即可
官方下载直链

1.2 运行SteamCMD
建议:新建任意文件夹,将SteamCMD放入其中后运行
SteamCMD将自动在当前位置下载安装


(自动安装中)

1.3 登录匿名账户
在显示Loading Steam API OK 之后
输入 login anonymous 回车
等待SteamCMD自行登录



(可选)设置Abiotic Factor Dedicated Server Tool安装路径
使用 force_install_dir <DesiredPath> 命令更改安装路径
直接安装将会默认安装在同一路径下

1.4 安装Abiotic Factor Dedicated Server Tool
在同一界面输入 app_update 2857200 validate 并回车运行命令来安装服务器工具
2 - 部署服务器工具与启动器
2.0 请确保服务器内有VC++运行库
缺少或者不确定 请在服务器内通过下方链接下载并安装
vc++ 2015-2022 X64官方下载直链[aka.ms]

2.1 创建RunServer启动器
找到 \(工具安装路径)\AbioticFactor\Binaries\Win64\
创建 RunServer.txt 文本文件
将其后缀名改为 .bat


红线部分是创建文件时应该现实的路径位置 红框为需要的启动器

右键点击并编辑
输入以下内容:

AbioticFactorServer-Win64-Shipping.exe -log -newconsole -useperfthreads -NoAsyncLoadingThread -MaxServerPlayers=6 -PORT=7777 -QueryPort=27015 -ServerPassword=服务器密码 -SteamServerName="服务器名称"


请将 服务器密码服务器名称 字段改为你自己服务器对应需要的密码和名称
然后点击保存


黑色部分是密码 红色部分是名称

修改 -MaxServerPlayers=6 的数字可以修改服务器最大人数 默认为6
人数过多可能会出现问题 同时也需要更高配置的服务器


2.2 运行RunServer
运行刚刚创建的.bat文件
如果弹出下方窗口则服务器工具启动成功


2.3 设置管理员
关闭刚刚弹出的两个控制台窗口
导航到 \(安装路径)\AbioticFactor\Saved\SaveGames\Server\Admin.ini
编辑Admin.ini
将Moderator=***************** 等号后输入管理员的SteamID
ID可在此查询[steamid.io]
注意不是好友代码,而是steamID
保存后重新运行RunServer

2.4 设置端口安全与转发
(本人并不清楚具体原理,如果有人可以详细讲解请留言补充)
非生物因子使用7777和27015端口。如果进行到这一步时无法在游戏内找到服务器,可能需要对端口设置安全规则与转发。

安全规则:
在服务器控制面板中将7777与27015端口的安全策略设为允许。

端口转发:
在服务器中打开cmd,并使用下方代码设置端口转发。

netsh interface portproxy add v4tov4 listenaddress=* listenport=(侦听端口) connectaddress=(目标地址) connectport=(目标端口)

使用下方命令查看已经部署的转发规则

netsh interface portproxy show all

使用下方命令删除规则

netsh interface portproxy delete v4tov4 listenaddress=* listenport=(侦听端口)

例:
netsh interface portproxy add v4tov4 listenaddress=* listenport=27015 connectaddress=10.0.8.1 connectport=80
将任意地址通过27015的流浪转发到10.0.8.1的80端口。
3 - 设置存档,参数,更新版本
3.0 更新服务器客户端版本
使用下方命令

app_update 2857200 validate

3.1 迁移本地存档
导航到 (用户文档)\AppData\Local\AbioticFactor\Saved\SaveGames\(你的SteamID)\Worlds\
这里的每个世界文件夹对应一个存档。
将需要的世界存档复制到服务器的下方位置。
(安装位置)\Abiotic Factor Dedicated Server\AbioticFactor\Saved\SaveGames\Server\Worlds\

服务器默认使用上方路径中的 Cascade 世界存档。
如果想要更换存档,请在RunServer.bat中添加下方内容
-WorldSaveName=****
将****改为存档文件夹的名称

3.2 服务器部署参数与命令
Wiki链接[github.com]

3.3 服务器游戏设置
Wiki链接[github.com]

默认路径为Abiotic Factor Dedicated Server\AbioticFactor\Saved\SaveGames\Server\Worlds\(世界名称,默认为Cascade)\SandboxSettings.ini
没有该文件请新建TXT文件并将它改名为SandboxSettings.ini


14 Comments
LichBane  [author] 3 Apr @ 7:40pm 
@黑羽酱油桑 你解决了吗
LichBane  [author] 3 Apr @ 7:40pm 
@LMIKU 木有,目前的控制台只能查看log
黑羽醬油桑 18 Feb @ 10:09pm 
我這有個奇怪的問題,架設完後,搜尋的到,但其他人卻連不上,會出現"已遺失與伺服器的連線",只有我自己連的上,還發現如果把密碼空白,連我自己都連不上。
LMIKU 7 Feb @ 10:18am 
好的,谢谢,还有一个问题就是服务器有相关的指令之类的吗?例如关闭服务器或者手动存档。
LichBane  [author] 7 Feb @ 4:43am 
@LMIKU 一旦服务器正式上线并且在正确的端口广播,它就总是可以被搜索到。只需要把密码设为空就可以“公开”。如果不能搜索到,就需要在服务器设置端口相关的设置。
LMIKU 6 Feb @ 2:08am 
服务器如何设置为公开服务器?
LichBane  [author] 3 Sep, 2024 @ 4:35am 
@Howsoon70464 在我写这个笔记的游戏版本里服务器时间有BUG,所有人都退出之后服务器的游戏时间会固定在早上7点并在重启服务器后恢复。在这个情况下,最终的结果是时间不再流逝。所以我猜测无论这个BUG修复与否,它都应该会暂停服务器时间流逝。
LichBane  [author] 3 Sep, 2024 @ 4:27am 
@摇光 很遗憾我这里没有那么多人来测试。根据官方和社区的说法,超过6人是可以的但是不推荐,所以高于6个人之后会有警告,但是应该可以加入的。
摇光 20 Aug, 2024 @ 6:49am 
MaxServerPlayers这个参数是不是失效了,朋友那边到6个就不能进服务器了
Howsoon70464 14 Aug, 2024 @ 7:35pm 
想请教下,如果服务器开着而服务器里面没人,时间会正常流逝吗。会不会正常刷怪进基地把家给拆了。