当前位置:首页>真相 > 

Starbound 零基础开始服务器搭建及安装mod指南

Starbound 零基础开始服务器搭建及安装mod指南

Starbound 零基础开始服务器搭建及安装mod指南

本文核心词:零基础,星界边境,屎大棒,单机联机,Starbound,游戏开服教程

过气游戏《Starbound》大概永远不会再更新了,但融合了丰富的生存、建设、战斗、探索要素的这款游戏,至今其社区仍持续散发着活力、有着多彩的mod生态。就算放在如今,也依旧值得打开它与伙伴们一起联机体验一段悠长且浪漫星际冒险。

冒险累了,也可以给自己造一个能够安心休憩的家。

今年早些时候想与朋友们一起体验这款游戏时,因为存档机制的问题(这里顺带讲解一下该游戏的存档机制,角色存档位置是 X:\……\steamapps\common\Starbound\storage\player\文件夹内,游戏世界的存档位置是X:\……\steamapps\common\Starbound\storage\universe\文件夹内。联机时,仅读取主机的游戏世界存档,其余玩家只使用到角色存档),通常的联机模式不适合喜欢自己造建筑的小伙伴,最终选择了搭建服务器的模式。没有任何编程基础的我搜索了一些教程自学,在搭建过程中因为如今的情况与教程所写的时候有了不同,网络环境的变化及游戏版本的更迭还是让我踩了不少雷,现在将搭建过程的一些经验进行记录,为自己留个备份。

主要内容有:

一、本地搭建《Starbound》服务器

二、VPS虚拟云服务器搭建《Starbound》服务器

三、《Starbound》1.4版本的服务器设置详解

四、MOD安装及推荐分享

由于本人之前无任何相关技能基础,记录中难免有错误的做法和说法,希望能得到交流指正。

一、本地下搭建《Starbound》服务器

(本部分为使用自己的电脑在Windows环境下搭建《Starbound》服务器的内容,如果选择使用云服务器可跳过不看。)

1.准备工作

如果只是普通的随便玩玩,那么使用steam的邀请伙伴加入游戏的功能即可。但是如果自己经常不在,就可以使用自己的电脑搭建服务器,这样只要自己的电脑一直开着机,就算自己不打开游戏小伙伴也能随时连接进来造房子。

使用自己的电脑搭建该游戏的服务器,硬件方面只需要一台能打开这游戏的电脑就足够。最关键的准备是网络环境的准备。

你需要确保自己的电脑被分配到的是公网IP,要连接到你服务器的人能够通过你的ip定位到你的电脑中。什么是公网IP,如何获取公网IP请参阅大量网上教程,我专业知识有限,一时半会儿也说不清楚,总之要和运营商协商就是了。如果你与其他都在同一局域网中则不需要公网IP(例如所有玩家都连接到同一个路由器的情况时)。

拥有了公网IP后,如果使用了路由器,还需要在路由器中将自己的电脑设置为DMZ主机,或设置端口映射规则,详情参见路由器说明或网上其他教程。

2.开始搭建

找到starbound专用服务器客户端,双击打开。

32位Windows打开:X:\……\steamapps\common\starbound\win32\starbound_server.exe

64位Windows打开:X:\……\steamapps\common\Starbound\win32\starbound_server.exe

也可以在打开游戏时选择这个。

打开后通过所有防火墙选项,允许TCP接口21025在路由器与防火墙内运行,然后等待服务器加载完成。

专用服务器客户端在该项信息停止更新信息便说明服务器搭建完成。

加载完成后本地可以使用IP 127.0.0.1来连接到服务器,其他玩家输入你的IP来加入游戏。你可以用这个网站

二、VPS虚拟云服务器搭建《Starbound》服务器

(本部分为使用云服务器在Linux环境下搭建《Starbound》服务器的内容,如果选择使用自己的电脑可跳过不看。)

1.选购云服务器

目前国内较知名的云服务器厂商有阿里云和腾讯云,两家针对新用户都有较大力度的优惠,如果能获取企业认证资质,能得到比个人用户更好的优惠价格。由于正赶上活动,这里我选择使用的是腾讯云服务器。

购买服务器时需要选择服务器的机型配置、所在地域、操作系统、带宽及网络模式。

腾讯云选购服务器界面,因为赶上了活动和新用户优惠,最终我以385元的价格购买了2核4G内存3M带宽的上海服务器一年的租赁权。

要能胜任运行该游戏的任务,2核,2G内存的配置便以足够。我选用的是2核4G,安装了一些mod后,实际使用体验上大部分场景很流畅。但是在自行搭建的建筑规模较大的地方,会有卡顿、漂移的现象。因此建筑党推荐使用更高配置的服务器。

服务器所在地域涵盖北上广、东南亚甚至欧美地区,考虑到空间距离造成的物理延迟存在,选择时推荐选择离自己距离较近的位置。实际影响不大。带宽有3M也已经足够了,可根据实际使用体验自行调整。

操作系统可选用Windows Server系列,或各种Linux发行版,购买后可随时格式化服务器切换系统。Windows Server系列有图形界面,配置服务器方法与本地配置完全相同,在这里不做记录。Linux发行版有Ubuntu,Debian 8,Fedora ,CentOS等,关于Linux各种发行版的差异请自行查阅,这里不做赘述。我仅尝试过Ubuntu 18.04.1 LTS和CentOS 7.6,都遇到了一些问题:腾讯云的Ubuntu 18.04.1 LTS无法直接使用WinSCP上传和更改文件,CentOS 7.6未安装有运行游戏服务器必备的python3.7。对于之前没有任何经验的我来说都造成了不小的困扰,花费了不少功夫去解决。因为网上安装python3.7的教程较多,在下文中不做赘述,只讲解WinSCP在腾讯云Ubuntu中使用的配置。

腾讯云服务器购买完成后,服务器初始账号密码会以站内信的形式发送。

从云服务器的实例界面进入服务器。

2.配置工具

本地电脑需要使用到的工具为WinSCP,在本文中主要起到的作用是MOD管理,服务器中的文件管理,以及给不习惯使用Linux中vi指令的人进行文本编辑。

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。官方下载地址为

安装时建议勾选所有组件。

推荐像我一样零基础选手安装时选择Explorer用户界面风格,其操作方式与Windows基本一致,可方便的通过鼠标拖拽在本地和远程电脑之间传输、编辑文件。Norton Commander 界面注重于方便的键盘操作,选择它你完全可以脱离鼠标,更快地进行操作(当然,是在重新学习熟悉一阵子之后)。

Explorer用户界面风格

安装完毕后,由于腾讯云的Ubuntu提供的初始账户非root账户,直接将该账户用于WinSCP权限只能写入服务器中\home\Ubuntu\目录下的内容,无法在其他路径上传、修改文件,不能满足文件管理需求。因此还需要先获取root账户。

①登录进入自己的云服务器,执行指令:

sudo passwd root

sudo指令用来以其他身份来执行命令,预设的身份为root。passwd指令为修改指定账户的密码。因此该指令作用为使用最高权限来更改root账户的密码。

需要输入两次想要设置的新密码,输入时界面不会有显示,输入完成按enter键确认即可。密码更改成功会有如图的successfully显示。

②执行命令

sudo vi /etc/ssh/sshd_config

然后在文档中找到PermitRootLogin这项,将其改为 yes,并删掉左边的“#”号。

该操作是编辑/etc/ssh/目录中的sshd_config这一文件,使该服务器允许使用root权限登录。

该操作使用了vi指令,vi为Linux中自带的文档编辑器。刚打开vi进入文档时是处于命令模式(command mode),无法对文档进行编辑的。此时需要执行指令

:i

进入插入模式(Insert mode),便可对文档进行编辑。编辑完成后,执行指令

: wq

保存文档并退出vi。

(关于vi使用的详解可参见

在linux中“#”号后的内容为注释,并不实际生效,因此要记得将该项前的#号删除。

③执行命令

sudo service ssh restart

该指令为保存退出并重启ssh服务,使改动生效。

完成腾讯云Ubuntu的root账户获取后,便可在本地打开WinSCP。在登录界面选择新建站点,输入登录信息即可远程连接自己的云服务器进行操作。主机名为自己云服务器的公网IP,root账户的用户名为root,密码为自己在第一步中设置的密码。保存后即可登录正常使用该软件。

端口号使用默认的22即可

3.安装服务器

(由于服务器已经开始正常运作玩了挺久的,重新搭建一次会让大家努力了很久的心血消失所以这部分就没有截图了)

搭建服务器需要使用到Linux系统中的LinuxGSM或SteamCMD,这两个工具二选一都可。这里我比较推荐LinuxGSM,该软件为第三方开发的游戏管理软件,其中已经集成了SteamCMD,可自动安装游戏并且后期维护也较方便,能省不少功夫。SteamCMD为steam官方的Linux服务器管理软件,只搭载了基本功能,更适合有较丰富Linux使用经验的使用者。

SteamCMD的使用方法可参见说明文档:

使用SteamCMD进行搭建的具体过程请阅读Starbound官方指南:

本文主要记录LinuxGSM的使用过程,对SteamCMD不再赘述。

①登录云服务器,执行指令

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 libstdc++6:i386

这是一整条指令,只要作用为安装Ubuntu下的依赖环境。

如果使用的是CentOS,还需要先安装epel,安装依赖的指令为两条

yum install epel-release

yum install mailx postfix curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686

②依次执行指令

adduser sbserver

创建用户,用户名为sbserver。LinuxGSM该软件的配置是检索固定名称的目录,因此这里创建的用户名必须是sbserver。

su - sbserver

切换当前用户至sbserver,执行该命令后所以操作都将在\home\sbserver\目录下进行。

wget -O linuxgsm.sh

下载并自动配置LinuxGSM,执行后等待完成即可。需要注意的是,由于不可描述的原因,国内服务器连接Github会存在不可描述的问题(并且我尝试了各种改DNS都不好使,未找到有效的解决方法,这里希望有知道如何使云服务器稳定绕过不可描述的人教教我)。你可能会经常看到红色的提示XXXX fetching--------fail,然后进程就中止了,这种就是服务器无法连接至GitHub获取完整代码导致的。出现这种情况时,我的解决方法反复执行该代码直至完全成功为止,总的来说,这一步要尝试多久全看运气。

vi lgsm/config-lgsm/sbserver/common.cfg

编辑/home/sbserber/lgsm/config-lgsm/sbserver/目录中的common.cfg文件,如果不想使用vi指令,也可以使用WinSCP来进行编辑。

需要编辑内容为其中的steamuser=username和steampass=password这两个条目,将username替换为一个拥有该游戏的steam的账号,password替换为该账号的密码。这一步目的是使该软件获取登录steam服务器下载游戏的权限。

./sbserver install

完成准备工作,开始安装服务器,等待指令完成即可。若有使用steam令牌保护,这一步中还需要跟着提示输入令牌。由于不可描述的原因,这一步可能也会有大量的fetching--------fail,不用在意,反复尝试执行指令到完全成功为止,反正都全看运气,只要莽过去就好了。

至此服务器安装完成,要点就是各种fetching看到红色的fail就重试指令。

4.运行服务器及其他指令

执行指令

./sbserver start

启动服务器的指令。启动成功后,在加入游戏时输入云服务器的公网ip即可进入。

./sbserver stop

关闭服务器的指令。

./sbserver restart

重启服务器的指令

./sbserver console

查看服务器控制台的指令。使用该指令后进入控制台,需要注意的是进入控制台后,如果使用Linux通用的CTRL+C关闭控制台,服务器也会关闭。正常退出控制台是使用CTRL+b,然后按d。控制台中的信息其实与/home/sbserber/serverfiles/storage/目录下starbound_server.log文件中的内容一致,如果不想打开云服务器可以直接使用WinSCP查看该文件,一次服务器启动的全部控制台信息会在一个starbound_server.log中记录。

./sbserver backup

备份整个服务器。

LinuxGSM这款软件支持上百种游戏在Linux中架设服务器,方法大同小异,有兴趣的也在其官网中自行查阅。

我参考过的资料:

三、《Starbound》1.4版本的服务器配置详解及其他

服务器参数的设置通过修改/home/sbserber/serverfiles/storage/目录中的starbound_server.config文件来实现。该文件有严格的格式要求,如果格式错误会在服务器启动时加载starbound_server.config失败并生成新的默认设置的starbound_server.config,具体的错误信息会在starbound_server.log中第四行记录,如下示例:

[00:37:42.619] [Warn] Root: Failed to load user configuration file ../storage/starbound_server.config, resetting user config: (JsonParsingException) Error parsing json: bad object, should be } or , at 50:3

这是一次启动服务器时starbound_server.log中记录的starbound_server.config加载失败日志,表示第50行开始第3个字符开始有错误,此处应该为符号 } 或者,,调整时在这附近查找较容易找出错误原因。

下面将starbound_server.config内容中的条目复制出来,并在#号后注释讲解。没注释的是我没试过不知道是什么效果的。

{ #记住除了这里,下面的每个条目前面都有两个空格,不知道什么鬼原因设计的这种格式

allowAdminCommands : true, #是否允许使用admin指令,如果为false则管理员也无法使用

allowAdminCommandsFromAnyone : false,#是否所有人都能使用admin指令,如果为false则只有管理员能使用

allowAnonymousConnections : true,#是否允许匿名玩家登录,如果为false则必须使用本文档最后登记有的账号密码进入此服务器

allowAssetsMismatch : true,#是否允许资源不匹配,如果为false则玩家端必须与该服务端加载的内容完全一致才能进入此服务器

anonymousConnectionsAreAdmin : false,#如果为true,则任何匿名玩家都将作为管理员登录

bannedIPs : [],#不允许进入此服务器的ip,在游戏中使用ban的指令后在本文档中的记录,也可在本文档中手动输入

bannedUuids : [],#不允许进入此服务器的uid,在游戏中使用ban的指令后在本文档中的记录,也可在本文档中手动输入

checkAssetsDigest : false,

clearPlayerFiles : false,#清除进入此服务器的玩家角色存档,让进来的角色都是没有任何物品装备和科技初始角色

clearUniverseFiles : false,#清除宇宙存档,我没试过不知道什么作用

clientIPJoinable : false,#能否通过p2p加入,我不懂专业知识不知道两个设置的区别反正默认是这样的

clientP2PJoinable : true,#能否通过p2p加入,我不懂专业知识不知道两个设置的区别反正默认是这样的

configurationVersion : {

basic : 2,

server : 4

},

crafting : {

filterHaveMaterials : false

},

gameServerBind : ::,

gameServerPort : 21025,

interactiveHighlight : true,#鼠标放在可互动物品上时会不会出现高光

inventory : {

pickupToActionBar : true#捡起物品时自动加入快捷栏

},

maxPlayers : 8,#服务器能加入的最大玩家数

maxTeamSize : 4,#一个队伍中最大成员的数量

monochromeLighting : false,

playerBackupFileCount : 3,

queryServerBind : ::,

queryServerPort : 21025,

rconServerBind : ::,

rconServerPassword : ,

rconServerPort : 21026,

rconServerTimeout : 1000,

runQueryServer : false,

runRconServer : false,

safeScripts : true,

scriptInstructionLimit : 10000000,

scriptInstructionMeasureInterval : 10000,

scriptProfilingEnabled : false,

scriptRecursionLimit : 100,

serverFidelity : automatic,

serverName : A Starbound Server,#服务器名字,不知道在什么地方会有体现能看到

serverOverrideAssetsDigest : null,

serverUsers : {#本条目下的内容是给服务器中登记账号,当前版本的是这么个格式

username1 : { #登陆时要输入的账号名,至下一个括号前为该账号的信息,记住前面的四个空格

admin : true,#该账号是否有管理员权限,记住前面的6个空格,记住最后的这个逗号,网上找的教程都给漏了,我试了好久才试出来这里有个逗号才是正确的格式

password : password #该账号的密码,记住前面的六个空格

}

username2 : {

admin : true,

password : password

},

tutorialMessages : true#是否有教程提示

}

四、MOD安装及推荐分享

在我阅读的许多个教程中,都有提到通过编译脚本来实现自动订阅更新创意工坊合集。我各种测试后始终没有成功,大概自动订阅的方法还是需要有一定Linux脚本编辑分析基础的人来使用吧。

最终我使用的方法是使用WinSCP手动上传与更新mod。

创意工坊中下载到本地的MOD存放路径:X:\……\steamapps\workshop\content\211820\

云服务器中MOD的存放路径:/home/sbserver/serverfiles/mods

使用WinSCP来上传mod也很方便。

将创意工坊中下载的mod文件从文件内整理出来,使用WinSCP上传至云服务器中的指定路径,便可使服务器开启时加载这些mod。

顺便推荐两个MOD:

《Frackin Universe》

在starbound玩家群体中知名度较高的《富兰克林的宇宙》mod,该mod极大的拓展了游戏的内容,增加的内容涵盖了星球种类、生物群落、科技、装备、怪物、建筑、任务、地牢等各方各面,不仅仅是玩法与功能性的扩充,整个游戏的世界都变得更加的丰富多彩,可以说是这个游戏最大规模的mod,堪比大型DLC,甚至许多mod都是基于该mod来开发。如果感觉原版游戏的内容已经玩腻时,安装这个mod会给你惊喜。没接触过这个游戏的玩家从这个mod开始也会有与原版完全不一样更丰富的体验。

使用Frackin Universe开始游戏后物品栏里会出现基本说明书,分别介绍新的星球类型、生物群落、状态等,每一本都有20页以上,而书中介绍的也仅仅只是这个mod内容的冰山一角而已……

该mod有完善的汉化,搭配使用便可无任何语言障碍的游玩(《Frackin Universe 中文汉化 Mod》

《RPG Growth》

该mod为此游戏增添更多的rpg要素,增加职业系统、属性点系统专精系统天赋系统等等,不同的选择会给游戏过程带来很不同的感觉,极大的丰富了游戏的体验。安装后可从神秘之书菜单打开该mod专属菜单。

神秘之书界面,每一个选项栏都有丰富的内容拓展。

该mod也有汉化,虽然没有那么完善但基本可无障碍游玩:《RPG Growth 汉化补丁重制版》

五、其他事项

(零碎事项,想到了再补充)

如果出现这样内容的中文或英文字样提示,为安装的mod和服务器中的不完全一致的原因,在设置中将“允许资源不匹配”给勾选上即可进入。

游戏中的各种指令使用/help来获得说明

部分基础指令不需要管理员权限也可以使用,其他全部指令需要管理员权限才能使用。