欢迎光临散文网 会员登陆 & 注册

【Satisfactory】《不幸工厂》专用服务器保姆级教程喵。。!

2021-10-31 03:36 作者:可爱的乖猫猫Liwers  | 我要投稿

各位厂长大家好,本猫是可爱的乖猫猫Liwers。。


在本教程开始之前,本猫先标明一下本次教程编写参考的资料:

  • 工厂厂官方Fandom专用服务器词条。。

    • https://satisfactory.fandom.com/wiki/Dedicated_servers

  • Valve开发者维基上的SteamCMD文档词条。。

    • https://developer.valvesoftware.com/wiki/SteamCMD

  • 由咱Satisfactory国区社群大佬,瞳,编写的教程,已获得他的转载授权。。

    • https://blog.csdn.net/qq_41898780/article/details/121012848


另外,本文将允许规范转载,即标明转载来源、文章作者和转载时间,然后在评论区回复一声转载到了哪里就行。。本猫也会将本文转载至不限于贴吧、三大妈、知乎专栏、Fanbook等平台。。


在此本猫要说明一点:本文更倾向于教会小白的保姆级教程,且单纯是Windows环境下的开服内容,在很多实际步骤上稍显啰嗦,如果您是有服务器使用经验的玩家或程序员,或使用Linux系统进行开服,建议您直接阅读上方的参考资料。。


概述

专用服务器,Satisfactory Dedicated Servers,简称 SDS,是从工厂厂【0.1】世代开始,就一直受到玩家呼吁的必需游戏功能,其原因不外乎游戏内直连极差的稳定性,毕竟在工厂厂发售初期,还没有EOS这样的网络服务套件提供给游戏开发者使用。。


长久以来,SDS的呼声不断提高,但工厂厂官方一直都没有放出哪怕一个SDS测试版本,直到2020年Epic推出了Epic Online Services,以及这一服务套件的开发工具包,EOS SDK以后,工厂厂官方才逐渐解决了虚幻引擎4原有那难整的网络连接问题,并迭代多个SDS版本,最终将其推送到SteamPipe内容系统,供有开服需求的玩家下载。。


从成本、技术支持、可行性、可迭代性、兼容性和易用性等各个方面来说,工厂厂官方放出SDS让玩家自行操作,都不是最佳方案,但是工厂厂开发至今,其盈利能力的衰减是非常明显的——工厂厂中期卖得不错,但官方摸鱼鱼严重,导致内容与宣传差异不小,后续新玩家消费热度大减,最终造成了现在工厂厂吃老本的囧境。。


好消息是,Epic之前收购了Oodle工作室,一家专门研究游戏数据处理的公司,他们有业界先进的数据压缩、发送、解包、流量监视技术,未来对SDS的正面buff有多无少;但是,坏消息是,现在还没有任何官方消息宣称,Oodle数据技术会具体在何时完全支持起EOS SDK,或许是虚幻引擎4.27,也可能是传了很久的虚幻引擎5,都说不定。。


但是该开发的,还是要开发出来——据本猫的可靠消息,工厂厂官方是第一批使用上EOS SDK的厂商,按照其与Epic之间的长期技术服务框架协议,工厂厂官方可以说是有义务先身士卒地去测试Epic提供的各种技术和工具——SDS也可以说是在这种情况下诞生的。。


而咱知知,SDS是随【0.5】的测试版放出的,而其本身的技术亦在测试当中,也就是。。测试版中的测试版中的测试版,可称之为“终极套娃”。。!


这种情况下,SDS可能出现的问题,必然非常非常多,它不稳定,基本是不用多怀疑的。。但不管怎么说,相比原先坑爹的直连联机,至少咱是有了个可以自行控制调试的服务端了嘛。。


服务端术语解释

  • 控制台。。

    • 控制台可以指黑底白字的命令提示符和游戏内的服务器控制代码输入框。。

      • 本文未专门说明的情况下,均指程序名为cmd或带有cmd的命令提示符。。

  • 地址栏。。

    • 即文件资源管理器中,上方代表文件夹路径的长条窗格。。

  • 代码。。

    • 用以实现各种功能的代用词,通常是短词。。

      • 代码区分大小写,且有着清晰的空格要求。。

      • 代码必须在英文输入法,或于中文输入法下按shift切换为英文输入后,再输入对应代码文字和符号。。

      • -为减号,按键盘上部数字0右侧的“-”键即可。。

      • _为下划线,按shift与“-”即可输入。。

  • Session ID。。

    • 一般译作“会话ID”,是游戏内管理当前运行地图的串号。。

      • 联机好友根据该串号,在网络中找到您,并进入您所在的地图。。

  • 存档。。

    • 即游戏存档,在Session ID下管理。。

      • 分为手动存档和自动存档,本文内均指手动存档。。

  • 端口。。

    • 电脑与网络间传输数据信息的特定渠道。。

  • 文件资源管理器。。

    • 功能与“此电脑”类似,只不过用于快速查看最近使用的文件。。

文件资源管理器


开服前的准备工作

  • 一台正常连入网络的电脑。。

    • RAM,内存要求大于8G。。

    • ROM,硬盘空间要求大于20G。。

    • 网络,百兆宽带及更高。。

    • 正常的键盘。。

    • 正常的鼠标。。

  • 开放端口,以下端口请不要在防火墙规则或杀毒软件中阻止。。

    • 15777。。

      • 第一次连接到SDS时需要输入的端口。。

      • 可以自由重定向。。

      • 重写参数:-ServerQueryPort=???

    • 15000

      • 目前无法重定向。。

      • 如果启动服务器的多个实例并且默认已在使用中,则会自动增量。。

      • 重写参数:-BeaconPort=???

    • 7777

      • 目前无法重定向。。

      • 如果启动服务器的多个实例并且默认已在使用中,则会自动增量。。

      • 重写参数:-Port=???


安装专用服务器

1.下载SteamCMD。。


SteamCMD是Steam用于控制与SteamPipe内容系统交互、下载专用服务器文件的控制台。。


首先,在您想要的路径中,建立一个SteamCMD的文件夹。。


接着,下载SteamCMD安装文件压缩包。。

  • https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

将这一链接复制进网页浏览器中,就会跳转至下载页面。。


解压缩,并把解压出来的SteamCMD应用程序,放进您刚刚建好的文件夹中。。


双击SteamCMD图标,这时该程序会自动检测运行环境并联网,从SteamPipe内容系统上,把SteamCMD所需的文件全部下载到文件夹中。。


下载完成后,SteamCMD会自动检测是否有更新,然后调起SteamAPI,最后显示 Steam> ,即表示SreamCMD下载并安装完毕。。


2.登陆Steam服务器。。


在 Steam> 后,输入:

  • login anonymous

按下回车,即可以匿名方式登陆Steam公共服务器。。

要注意,每次使用SteamCMD,第一步必须是登陆,否则无法进行接下来的步骤。。


3.安装SDS。。


完成登陆后,在 Steam> 后,输入:

  • force_install_dir steamAPPs/common/SatisfactoryDedicatedServer

按下回车,SteamCMD将自动在steamAPPs文件夹中的common子文件夹中,建立SDS的专属文件夹。。

注意:本文此处的方法的特殊之处在于,若直接在SteamCMD文件夹下建立SatisfactoryDedicatedServer文件夹,可能会在下次更新中无法获得最新版本;而直接在steamAPPs/common/中建立,则SteamCMD会优先更新该文件夹中的版本。。

切换到文件夹,在进入steamAPPs/common/中确认SatisfactoryDedicatedServer建立成功后,切换回SteamCMD,在 Steam> 后,输入:

  • APP_update 1690800 validate

1690800是SDS在SteamPipe上的登记号,该代码会向内容服务器请求下载;validate则是检查现有文件是否为最新版本,若不是或不存在,则会自动下载最新版本文件。。

下载完成后,在 Steam> 后,输入:

  • quit

即可完整退出SteamCMD。。


启动专用服务器


打开steamAPPs/common/SatisfactoryDedicatedServer文件夹,点击地址栏,输入 cmd ,按回车,会自动调起Windows自带的命令提示符,在那一长串的路径最右边的 > 后输入:

  • FactoryServer.exe -log -unattended

按回车,专用服务器会自动开始运行,申请内存、调用引擎、创建游戏世界框架。。

这里用到了两个命令。。

  • -log

    • 这个命令用于打开一个信息记录窗,告诉您现在服务端自动运行到了哪一步。。

  • -unattended

    • 这个命令禁止维护界面出现,毕竟大多数时候您都不用管服务端在干嘛,也就不需要去回应维护界面丢出的各种提示,只需要让服务端等待玩家连接输入即可。。


尝试本地连接

在您将服务端开放给您朋友们、群友们一起联机前,您可能想要测试一下,自己的电脑在用作服务器的同时,也参与其中的建设工作,其运行状态是否稳定。。

打开游戏,点击游戏主菜单左下部的Server Manager按钮,点击其下的Add Server选项,会出现一个输入IP地址和端口的窗口——端口已经默认为15777了,现在只需要知知本地的IP地址即可。。

切出游戏,点击搜索栏图标,在搜索栏中输入cmd,按回车,打开Windows自带的命令提示符,在>后输入 ipconfig,打开本地连接信息总览,其中的IPv4地址就是您本机的IP。。

记住这个IP,切回游戏,在IP地址栏中输入您的IPv4,如果您怕输错,可以点击Show按钮,将其转为Hide,显示您正在输入的IP数字。。

输入完成后,点击Confirm,这时游戏就会自动向服务端发送连接申请,等待不多时,游戏就会显示连接成功的提示,并且可以开始操作建立新图等功能了。。

至此,您已经能够成功地在本地搭建您的工厂厂专用服务器了。。!


新建服务器Session ID

和您单机下造厂厂一样,服务器中造厂厂,也是从新建Session ID开始。。不过稍微不同的是,您作为第一个进入服务器的玩家,还可以设置服务器向外广播时的名称,也就是俗称的“房间名”。。

上传存档至服务端

如果您已经拥有一个建设到一定程度的存档,想要将它分享给其他玩家一起建设,那么就需要在文件夹中找到您的存档文件。。

首先在游戏中确定您要分享存档的Session ID。。

切出游戏,打开文件资源管理器,在地址栏输入:

  • %LOCALAPPDATA%\FactoryGame\Saved\SaveGames

在用一长串数字+字母作文件夹名称的文件夹中,找到您要分享的存档选中,右键复制。。

然后返回上级文件夹,打开SDS自动生成的server文件夹,在里面右键粘贴,将刚刚复制的存档粘贴进去。。


切回游戏,在服务器管理器界面中,选择第三项的Server Settings,在Session Name中输入您分享存档的Session名称,按下回车,服务器会自动搜索和载入存档文件,并做好运行准备。。


建立公开服务器

这一部分中,本猫搜索了很多的技术资料,包括么么是公网IP映射、内网穿透是用来干啥的、SSH反向代理怎么建立等。。但是本猫最后发现,这些技术步骤非常复杂,且难以对本就繁复的国内网络环境给出一个直接的运用方案。。


因此,本猫只能在此承认自己技术水平不行,给各位道个歉,这一部分本猫只能跳过了,建议各位找已经有开服经验的玩家完成端口转发和IP映射的相关步骤。。


开始联机

和工厂厂原有的联机方式不同,专用服务器是向公网广播您的服务端,因此其他玩家也是通过公网与您完成联机连接。。

您需要将您的公网IP分享给您的联机好友,然后让对方在游戏主菜单的Server Manager界面中,点击Add Server,在Address一栏中输入您分享给他的公网IP,点击Confirm,就会自动开始进行远程服务器连接。。

至于怎么联机的时候怎么造厂厂,就不是本文的教学内容啦。。!


突破4人联机限制

之前,本猫写过一个突破4人联机的游戏配置修改方式:

那么在专用服务器中,突破4人联机的修改方式也大同小异。。

找到SDS安装路径:

  • SteamCMD/steamAPPs/common/SatisfactoryDedicatedServer

可以发现其中有一大堆的ini配置文件,工厂厂就是通过这些文件完成联机环境的配置的。。

打开其中的Game.ini文件,在文件末尾新开一行,输入:

  • [/Script/Engine.GameSession]

        MaxPlayers=8

保存文件,再开服务器,就可以发现突破4人联机,可以8人联机了。。

本猫是在大量实验下才最终发现——其实突破方式就这么简单。。

目前本猫只测试到了8人联机的可行性,至于本猫前几天夸下的海口:128人同服联机,本猫会尽力去实现的。。


常见问题

  • 问:猫猫啊,咱没有电脑怎么办啊。。?

    • 答:你能回复本猫这篇教程,说明你至少有手机啊,那么就去B站看大佬们的造厂厂视频吧,云游戏也是乐趣嘛喵。。

  • 问:猫猫啊,服务端的控制台里一直显示各种错误啊,是不是开服不成功呢。。?

    • 答:现在的服务端仍然是测试版本,从安全性和稳定性的角度来说,它当然会不断提示各种错误,但是这些错误大都不影响服务器的正常运行喵。。

  • 问:猫猫啊,咱只在Epic上买了厂厂,在Steam没有买,这会不会影响咱使用SteamCMD下载SDS并开服啊。。?

    • 答:SteamCMD的唯一功能,就是下载和更新SDS,而在教程中,登陆SteamPipe内容系统使用的是匿名的anonymous,此时即使玩家没有在Steam上购买厂厂,也不会影响SDS的安装、广播和联机运行喵。。

  • 问:猫猫啊,在游戏中输入服务器IP以后,界面里显示,游戏版本和服务器版本不匹配怎么办啊。。?

    • 答:登陆SteamCMD,login anonymous,输入 APP_update 1690800 validate,自动更新SDS至最新版本即可喵。。

  • 问:猫猫啊,是不是现在只有测试版能够用SDS来联机啊。。?

    • 答:没错,目前SDS只支持测试版。。原因是在【0.4.3.0】中,测试版升级至虚幻引擎4.26,而SDS就是基于这一新的虚幻引擎版本开发的,即其不支持尚未更新引擎版本的稳定版工厂厂游戏程序喵。。

      • 可见工厂厂官方好几个月前就完成了SDS的开发,但就是不告诉咱呢喵。。

  • 问:猫猫啊,咱Satisfactory国区社群会开自己的SDS广播,方便厂长们日常联机么。。?

    • 答:会的,正在积极联系各方大佬的支持,目前已经和《异星工厂》人尽皆知的可爱的果果喵小姐姐达成初步合作意向,具体的开服信息,将同时在各平台和各群中公告于各位厂长喵。。

另外,本猫正在与国内新兴游戏社群Fanbook深入沟通,就满足高质量联机语音交流的需求共同努力。。目前已知该社群提供的语音交流频道,没有人数限制喵。。

  • 问:猫猫啊,汉化文本么么时候才会更新啊。。?

    • 答:这是个题外话,但本猫也透露一下:咱Satisfactory国区社群汉化工作领导小组最近迎来一位新的大佬,已经被任命为汉化组新的执行副组长,其正在加班加点地对目前所有汉化文本进行最后的审校工作,预计在下一次本地化文件更新之时,游戏中的汉化进度就会大幅度增加了,还请各位玩家稍安勿躁喵。。


那么还有任何问题的,欢迎各位在评论区提问;有转载需求的,直接在评论区告知即可。。那么,本篇Satisfactory专用服务器教程就告一段落了。。


喵。。!


【Satisfactory】《不幸工厂》专用服务器保姆级教程喵。。!的评论 (共 条)

分享到微博请遵守国家法律