本文的诞生源于最近和朋友打灾厄,由于双方网络问题,在Steam上开服联机游玩总是出现很多奇怪的问题,比如一直卡在“同步模组”“正在加入”“连接已丢失”等等,忍无可忍便找了别的联机方法。
由于先入为主,我选择了免费的简幻欢 v4(simpfun.cn)作为服务器基础。此外由于当时开服过程并不顺利,折腾了很多,因此本指北也可以看作个人的备忘,写出来希望能够帮到想要云开服但遇到困难的朋友。
本指北基本适用于各类云服务器开服TModLoader,如有疏漏欢迎指正。
省流版后为详细讲解。多图预警!
此处为省流版,如遇到未提及内容,可到后文详细版对应章节查看。
一 · 建立实例
实例相当于你在云服务器上的个人电脑,各个平台的操作大同小异。
本文以简幻欢作为演示,在控制台中,选择“新建实例”-“Terraria”类别-“TModLoader”模组端-“合适的版本”-“合适的服务器规格”即可。
云服务器没有这些实例选项怎么办?见文末其他问题处
二 · 配置实例
建立完实例后,你就能得到服务器的IP和端口了,通过加入此IP就可以愉快的多人游玩了。
一般情况下,控制台会提供配置面板(“文件”-“配置项修改”),在此可以设置存档位置、世界名称、模组位置等。
将配置项中的地图文件名修改成你的地图文件名称,并上传地图文件到对应目录即可,如果要新建世界,则将地图文件名改成新名称。
在简幻欢中,模组位置没有体现在配置项中,需要在“文件管理”中,找到server.properties文件,添加一行modpath=/home/container/Mods/,然后在根目录创建Mods文件夹并将模组文件上传到此处即可。
其他平台的服务器的配置文件可能是serverconfig.txt。
怎么上传下载地图文件/模组?上传下载见文末其他问题处
找不到配置文件?见文末其他问题处
新建世界的选项太少了?怎么配置密码?我还想设置别的?见详细版第二部分
三 · 版本问题
版本不对/需要特定版本怎么办?见详细版第三部分版本问题
四 · 模组管理
新版的TModLoader采用的创意工坊订阅的形式管理模组,因此提取模组有些麻烦。
订阅需要的模组后,在TModLoader中启用模组,在“创意工坊枢纽”中选择“模组整合包”-“将已启用的模组生成为新的组合包”-“整合包名字”-“导出完整整合包”。
将随后打开的文件夹中的Mods文件夹里的内容,上传到云服务器中对应位置即可。
注意,加入此服务器的游玩者也需要启用相应的模组,否则在加入时还需等待下载。
怎么启用/关停特定模组?没找到导出位置?见详细版第四部分模组管理
完成以上步骤后,在控制台中启动服务器,服务器将会自动加载模组和世界,加载完毕后通过IP加入就可以愉快的游玩了!
如果在某个步骤有疑问,可以查看详细版(即下文)对应部分的内容,或在评论区留言。
接下来是详细版,可以直接略过了!
实例可以理解为服务器分配给你的一个虚拟计算机环境,通常,开服以建立一个实例为起点。你可以在自己的实例中为所欲为(
这里演示用简幻欢开服方法。
简幻欢建立实例
在简幻欢控制台中,选择“建立实例”,依次选择
- 实例类别-Terraria
- 实例服务器-TModLoader(必须)
- 实例版本-选择对应版本(若无对应,任选即可)
- 实例规格-选择合适规格(规格说明见服务器提供商)
由于TModLoader提供了官方的服务端文件,因此实例服务器需要选择TModLoader,这也是本文适用大多云开服服务器的原因,底层服务端是统一的,方法基本通用。
而在实例版本方面,可能会有云服务器更新不即时的情况,或需要使用以往特定版本的情况,这部分将在第三部分版本问题中说明。
点击确认创建实例后,你的云泰拉之旅就正式开始了。
在进入简幻欢实例中,你的页面可能是这样的:
红框是我的!
不同的云服务器提供商界面可能有所不同,但功能是差不多的。
IP与端口
首先服务器会提供给你实例的IP和端口号(①),这是加入游戏的关键。在Tmod中选择“多人游戏”-“通过IP加入”-“选择玩家”-“输入IP”-“输入端口”从而加入到多人游戏中。
请勿随意将实例IP透露给别人,避免有心之人加入对存档进行破坏。仅告诉你游玩的朋友即可,或为服务器设置密码(见文件与服务器配置部分)。
终端
终端(②)是启动、保存、关闭你的实例的控制台,同时,终端可以对存档世界进行一定程度的操作:
输入help命令后,可以查询到所有可用的命令
输入help后看到的其实是英文
文件与服务器配置
文件(③)顾名思义是管理文件的地方(
世界存档、模组、服务器的基本配置都储存在文件系统中,其中最重要的是服务器配置文件,它记录了存档和模组的储存位置。有的文件系统可以线上直接操作,有的则需使用FTP、SFTP文件管理服务器远程操作(见最后一部分其他问题)。
虽然我们可以在配置项面板中直接修改配置,但该配置项可能并不齐全,如简幻欢的面板中缺少模组位置、密码设置、禁止名单等,因此我们需要知道实际的配置文件,配置文件一般在根目录。
简幻欢关联的配置文件为server.properties(④),如果你使用的不是简幻欢,那有可能是TModLoader默认提供的配置文件serverconfig.txt,如果也不是,见最后一部分其他问题。
打开配置文件,可以看到大致是这样的:
配置文件示例
这是个普通文本文件,可以直接修改,记得在服务器关闭时修改,同时重启后生效。
“#”部分代表着注释。修改配置,请在对应项目等号后修改。添加配置,请新起一行。
- world:世界存放的具体位置。在简幻欢中/home/container/被重定向至根目录,即配置文件所在的目录
- autocreate:如果world项的存档不存在,那么将新建一个该名称的世界。1、2、3分别代表小中大世界
- seed:新建世界时设置的种子(可选)
- worldname:新建世界时的世界名称(可选)
- difficulty:新建世界时的世界难度(可选)。0为正常,1为专家,3为大师,4为旅途。
- maxplayers:最大服务器容纳人数,该值应在1到255之间
- port:端口号,一般不应手动修改
- password:服务器密码
- motd:message of the day,即进入世界时的欢迎语
- worldpath:存档所在的目录
- banlist:禁止名单的位置,如banlist.txt(可选)
- language:服务器语言,中文是zh-Hans,英文是en-US
- upnp:不应手动修改
- priority:不清楚是什么,默认为1,不应手动修改
- modpath:模组所在目录,如在简幻欢中,设置modpath=/home/container/Mods/,表示模组位置在根目录的文件夹Mods中(见第四部分模组管理)
其实如果不是在服务器端新建世界,那么我们只需要修改world为你的世界存档,并将存档上传至存档目录,然后设置modpath(如果服务器配置文件中没有此项),并建立Mods目录,上传模组,如有需要还可以设置password服务器密码。
如果要在服务器端建立新世界,那么需要依次填写world、worldname世界名称,autocreate世界大小、seed特殊种子、difficulty难度、modpath模组目录,以及可选的password。
示例
我想将我本地的世界上传到简幻欢服务器中,我的存档名是SNX,模组则放在Mods文件夹里,并设置一个123的密码。那么我将在配置文件中改变图左的内容,在根目录中新建Mods文件夹以及上传世界文件(wld、twld、bak均要上传),上传方法见文末其他问题
配置示例
重装与备份
服务器一般会提供重装与备份(⑤)的额外功能,重装能够重置你的实例到初始状态,备份则能将你某一时刻的实例保存,并在将来需要回溯的时候重置到备份状态。
如果你的服务端版本正确,或没有使用特定版本的需求,此部分可以直接跳过。
版本不对应
当你想要更换服务端版本时,该怎么做呢。如上图本地版本为v2023.9.3.3,而服务端版本为v2023.6.25.28,如果服务端没有更改版本的手段,如何自己更改版本呢?
首先获取对应版本服务端文件
在TModLoader的Github仓库的Releases中(github.com/tModLoader/tModLoader/releases)寻找到想要的版本,然后下载tmodloader.zip文件:
下载指定版本
将除了serverconfig.txt文件外的其他内容上传并覆盖
除了serverconfig!
此时启动服务器,便可顺利进入了。
使用TModLoader端当然要体验模组!
当服务器配置文件中没有设置modpath,请手动设置,如有,可以选用服务器指定的模组目录。
首先导出模组
由于TModLoader的更新,现在模组来自Steam创意工坊的订阅,订阅内容在Steam目录中,无法在“我的文档”中找到。
订阅完所需的模组后,打开TModLoader中的“创意工坊”按钮,启用所有你想上传的模组。
有的模组我只想在必要的时候启用怎么办,比如一些超模模组?
先在TModLoader中启用,上传到服务端后可以通过别的方法自由关启
启用需要上传的模组
启用完后,返回上一个页面,这时可能会让你加载所启用的内容。
导出模组整合包
加载完毕之后,在“创意工坊枢纽”中选择“模组整合包”,在下一个页面选择“将已启用的模组生成为新的组合包”,输入“整合包名字(随便)”,最后选择“导出完整整合包”。接下来会弹出一个文件夹窗口。
导出模组整合包
不小心关了/没弹出文件夹窗口怎么办?
点击“模组整合包”页面的“打开整合包文件夹”,或打开TModLoader安装目录,整合包就在安装目录里
进入你的整合包的SaveData文件夹,Mods文件夹就包含了所启用的所有模组。我们需要将Mods文件夹上传到之前服务器配置文件中指定的文件夹。
整合包文件夹
怎么关/启指定模组?(无关模组需求可直接跳过)
Mods文件夹除了包含以.tmod为后缀的模组文件,还包含了
- install.txt:模组创意工坊安装信息,无需更改
- enabled.json:启用信息,按需更改
- tmlversion.txt:导出的版本信息,无需更改
下面介绍enabled.json文件,该文件是JSON类型,有特定的书写规范。使用文本文件(如无其他编辑器)打开后,可以看到里面记录的一条条模组名称,凡是记录在此处的,都会在服务端启用。
每一条的格式为英文引号+模组文件名称+英文逗号。最后一条记录无英文逗号!!!
JSON示例
该文件记录的是模组文件的文件名,非模组名称!如,此处Lights.tmod是Lights And Shadow模组的文件,关停此模组仅需将该条记录 "Lights", (含英文逗号)删除,保存重启后,服务端将不会开启这个模组。如需再次启用,重新添加此条记录回文件即可。
再次注意,每一条的格式为纯英文的引号、逗号,且仅最后一条后面无需逗号。其他地方如开头末尾的 [ ] 请勿改动。
上传模组
将Mods文件夹里的所有内容上传到服务端配置文件中指定的文件夹里,如根据我的示例,我将本地的Mods所有内容上传到服务器根目录的Mods文件夹里:
上传模组
上传后,开启服务器将自动加载enabled.json中启用的模组,在控制台输入modlist命令可以看到部分已启用的Mod(有些已启用不会显示):
服务器端运行状况
完成以上步骤后,把IP告诉你的好伙伴,就能开始快乐联机了!
Q:关于云服务器
简幻欢实行的是积分制度,通过免费或付费获得积分,开服则将按日扣取一定积分。
每个云服务器平台有自己的收付费制度,请注意各自的规章制度,防止超额消费。
同时注意自己的文件安全与保存,记得及时在本地与云端备份。
Q:怎么上传和下载?怎么保存我的存档?
云服务器大多会提供FTP或SFTP端口,可以下载相应的工具,比较知名的如FileZilla FTP Client、WinSCP。
示例中使用的是WinSCP(winscp.net),在官网下载该工具后,根据服务器提供的信息进行登录(请勿将自己的登录信息透露给他人),请在服务器关闭时进行文件操作,否则可能引起不必要的错误。
登录WinSCP
左右拖动即可在本地与服务端上传下载。左侧为本地目录,右侧为云端目录,将云端的twld、wld、bak文件拖动到本地目录中即可保存自己的存档了。
左右拖动上传下载
Q:找不到配置文件
如果你使用的并非简幻欢或配置文件不是serverconfig.txt,且系统并未明确告诉你位置,如此苛刻的条件下可以自行寻找。
由于云服务器大多是Linux服务器,而TModLoader服务将通过Shell脚本启动。默认的启动方式是启动start-tModLoaderServer.sh脚本,该脚本将唤起其他启动项目。在该脚本中(见左图),launch_args(即启动参数)设置了默认的配置文件为serverconfig.txt,因此可以检测文件中的此项。
如果并非通过start-tModLoaderServer.sh脚本启动,如简幻欢通过start.sh启动服务器,其中设置了配置文件为server.properties(见右图)。因此,可以查看根目录是否有类似start、launch、begin等文件,检查其中的launch_args值。
启动项
Q:云服务器没有上面的实例选项怎么办?
如果你的服务器没有类似的实例选项,可以首先参考第三部分版本问题,上传合适版本的tmod服务端。注意,此时serverconfig.txt也需要上传,作为自定义服务器的配置。
配置项的修改见第二部分配置实例,将文件中的路径修改为你服务器的路径,并上传地图文件和模组。
启动start-tModLoaderServer.sh即可启动服务器。第一次启动后台可能会下载其他文件补足资源,会耗点时间。
注意,此种情况下请勿轻易关闭服务器,使用命令exit以保存并退出。
windows环境下启动start-tModLoaderServer.bat
好像没别的了,废话有点多,有需要再补充