泰拉瑞亚:自由度极高的沙盒游戏,与新加坡朋友联机却遇卡顿难题

棋牌游戏开发 8个月前 91浏览 0评论

众所周知,《泰拉瑞亚》是一款像素风格的沙盒游戏,自由度极高,玩法丰富。

你可以选择成为一名战士,征服这个地点的世界;你可以选择成为一名建筑师,各种各样独特的建筑将一一呈现;你可以选择成为一名电工,极其精通电路,建造复杂的机关和陷阱。没有比你建造的设施更安全的地方了;你可以成为一名炼金术士,各种奇怪的材料可以让你制作出各种效果的药剂;你可以成为一名合成师,你的大脑就是最完整的合成表。只要告诉我你想要什么,我就能为你制作出来。

虽然游戏很有趣,但当我和新加坡的朋友想一起玩 Terraria 时,发现系统服务器无法满足我们的需求。如果我做主机,他就要被困在新加坡,反之亦然。于是,作为计算机专业的我决定做自己该做的事情——自己搭建 Terraria 服务器。

服务器能做的有:最大程度降低你和好友之间的延迟,中国和新加坡之间的延迟大概在30ms左右,低于英雄联盟的正常延迟;24小时在线,你不用一直开着电脑也能保持服务器运行;自动备份游戏存档等等。

如果您有以下要求,则需要服务器教程:

1. 你和好友相距遥远,身处世界不同角落,即使使用加速器,你们连接时传送也会卡住。

2、作为房主的好友,你不可能24小时在线,因为房主下线后其他人就无法继续“玩”(偷偷开发),这时候服务器24小时在线的作用就体现出来了。

3.你想要学习新的知识,比如搭建Terraria服务器(由此你可以衍生出其他服务器的搭建方法,都是类似的)。

如果你有上述想法或其他原因,并决定遵循本教程,那么这里还有另一个温馨提醒:

1. 本教程大概需要2个小时(根据你的基础可以长一点也可以短一点),毕竟万事开头难,要勇敢去挑战哦。

2.本教程是一个比较完整的一步步教程,如果你认真看完,按照步骤一步步来,一定可以成功搭建自己的服务器。

3.搭建服务器需要一定的资金支持,具体数额取决于第四步选择哪个分支,分支一是包年,需要一百多元,分支二是按小时计费,一个月需要一百多元,但可以随时关闭,非常方便。

4.有问题可以进群:636826971(梓宇游戏基地),@梓宇zy,对,就是我,我会把我知道的都告诉你,帮你们解决你们的难题。

1.准备阶段:

搭建游戏服务器最重要的是什么?服务器。综合以上比较,这里我们选择ECS云服务器。

为什么我应该使用ECS服务器而不是VPS云虚拟主机?让我解释一下:

==不看这段也没关系↓↓↓==

ECS全称为弹性计算服务,当然也可以简单归类为云服务器,VPS则称为云虚拟主机。

两者的区别可以简单概括为:

VPS 是一种从一台物理服务器虚拟出多台虚拟服务器的技术,因此很容易对同一台物理服务器上的其他 VPS 造成资源挤占,造成服务器性能的波动。

VPS的扩展性不如ECS,因为受到单台物理服务器的瓶颈限制,毕竟是物理服务器的虚拟机,不可能超越物理服务器。

同等配置的VPS租用价格比ECS低,更加实惠。

还有几点我就不在这里列举了,因为如果真的比较的话,就变成一篇千字论文了。(笑)所以综合以上几点,我们可以判断,ECS 更适合做游戏服务器,稳定又安全。VPS 好像更适合做小型个人博客,价格方面也会更划算。那就开始吧!

2.配置阶段

ECS云服务器推荐配置:

CPU: 单核或以上

内存:2G及以上

带宽:2M及以上

如果配置低于这个,内存不小于1的话,是可以正常运行的,但是可能会导致配置过程非常慢或者游戏进行到一半就断线。因为上面的配置组合是我亲自尝试过的,所以如果想要特别稳定的话,建议大家还是按照我的方法操作。

那么哪里可以买到ECS云服务器呢?我慢慢给大家解释一下(别打我别打我,我才不会这么文艺,我来告诉你好不好),我们需要在阿里云上购买一台ECS云服务器。(嘘,这手真的重了)。

这里提醒一下,购买服务器的时候可能会被要求注册,不用怕,这跟实名认证差不多,如果要注册的话,按照步骤注册一下,然后按照本教程继续就可以了。

步骤1:在百度上搜索阿里云,点击进入。

第二步:点击网站右上角注册阿里云账号或者登录。

步骤3:用鼠标在首页上方导航栏左侧找到产品选项,找到弹性计算里的云服务器ECS点击进入。

第四步分支1:这里可以灵活选择购买,因为会有各种活动,比如下面这个是大学生优惠,如果你只是想在国内搭建一个Terraria服务器,而且你是大学生,那么直接买这个就可以了,但是不要买轻量级的应用服务器,记得点击切换到云服务器ECS。(如果使用分支1的方式,购买后可以直接跳到第六步)

如果你和我一样想搭建一个国内国外都能玩的国际服,或者想购买更灵活的小时费,随时删除停服的服务器,可以跳过这一步,继续往下看。(毕竟上面是包年套餐,但是好便宜啊!)

步骤4的分支2:忽略该事件,直接点击一开始的“立即购买”即可。

第五步:进行自定义选择配置(第四步分支2详细解释)

1.选择自定义购买,根据需求选择计费方式,这里我选择的是按量付费,刚开始尝试的朋友也推荐这个,如果不喜欢可以直接删除服务器再选择重新购买。

2.区域根据自己服务器需求来定,我想和新加坡的好朋友一起玩,所以选择了香港服务器,作为我们两个梦想的起点。

3.这里过滤实例,CPU为1vCPU,内存为2GiB。

4、经过筛选,下面众多选项中只剩下三台服务器,我们选择的是共享计算n4服务器,1核CPU,2G内存,5M带宽。

5.选择公共镜像的CentOS7.4镜像

6、不要动存储系统磁盘,使用默认设置。

7. 选择完成后,点击右下角的下一步。

8.本页面只需修改一处,将“按固定带宽计费”改为“按流量计费”,其余保持默认即可。

这里解释一下,因为游戏数据的传输不需要频繁流量,所以只要你认为你半天平均传输数据的时间少于一千兆字节,就可以选择“按流量计费”。(这里的“所有时间”包括你睡觉和外出等空闲时间。)

9.单击下一步:系统配置

10.设置密码

这里选择登录凭据为密码,并设置登录密码,密码必须包含大写字母、小写字母和数字。

11. 实例名称和主机名不是必选,可以自定义。只要你想改就行。只是不要写中文。

12.点击确认排序,分组设置无需设置,直接跳过即可。

13.确认信息无误后,勾选底部的服务条款,点击创建实例。

14.创建成功后游戏搭建,点击管理控制台。

15.这里我们可以看到刚刚购买的服务器实例,不用担心,状态是启动状态,几分钟后会自动变绿运行,等状态变绿运行后就可以开始下一步了,此时不要关闭这个页面。

步骤6:下载Putty

这个是远程管理软件,因为阿里云网页管理在修改文件的时候经常会卡死。

Putty的官网下载地址是:~sgtatham/putty/latest.html

1.进入官网后,点击此处。

2、根据系统位数选择下载(如果你是32位系统就选择32位的下载,如果你是64位系统就选择64位的下载),点击图片箭头指向的蓝色字样即可下载。

3、下载完成后打开下载的文件,安装putty,安装过程会默认继续,直到安装完成。

4.打开安装好的Putty。

如果找不到快捷方式。

64 位版本位于路径 C:\Program Files\PuTTY

32 位版本位于路径 C:\Program Files(x86)\PuTTY。

打开之后你会看到这样的界面。

在进行正常操作之前,我们首先设置一个选项,让我们的远程管理保持在线。

点击左侧目录中的Connection,在第一个文本框中将数字0改为60。

这样会每60秒发送一个空数据包来维持链接,如果不这样做,每隔几分钟如果没有操作,远程接口就会自动断开连接。

5、点击左侧目录的Session,回到初始界面,在Host Name处填入你云服务器的公网地址,就是我让你不要关闭的那个页面,port处填入22,如果默认填写的话,就不用管了,全部填完之后,点击右下角的open。

6.启动远程链接后,会弹出警告框,请点击“是”。

6.然后输入账号和密码登录,默认账号为root,密码为之前设置的密码,如果出现Welcome开头的字样,则表示登录成功。

如果忘记密码,可以进入控制台,在公网地址末尾找到更多选项,重置密码。

步骤 7:设置交换分区

恭喜你,你已经连接到你购买的服务器了,那么接下来就是代码的部分了,我在这里给大家准备好代码,如果你按照我一步一步来的话,是不会有什么问题的,请不要慌,我们继续吧。

Putty的粘贴功能是鼠标右键,也就是说你把代码复制到这里之后,只需要在putty里右键就可以了。

由于ECS云服务器镜像安装的时候没有给系统分配软件交换分区,所以我们需要在这里手动分配一下,防止我们的Terraria在服务器挂掉的时候突然关闭。

输入free -m可以看到swap分区为0。(此步骤仅作演示,无需操作)

操作代码:请不要复制后续代码中出现的#号,它是用来区分代码表达和提示信息,例如# swapoff –a,则只需要复制swapoff –a即可。

代码:

1、删除原来的Swap分区
# swapoff –a
2、新建一个读写块大小为1M、块个数为1024的Swap分区
# dd if=/dev/zero of=/root/swapfile bs=1Mcount=1024
3、格式化创建好的Swap交换分区
# mkswap /root/swapfile
4、启动新建的Swap交换分区
# swapon /root/swapfile
5、将Swap交换分区添加到开机自启动挂载

如何使用文本编辑器:(必需,否则复制可能不完整或无法保存)

在进入第 5 步-自动挂载 Swap 之前,这里先简单介绍一下 vim 文本编辑器的使用。输入文本后,按键盘上的字母 i 进入编辑模式游戏搭建,按 esc 键退出编辑模式。如果不进入编辑模式就进行复制,复制将不完整,记住这一点。

按i键进入编辑模式后,putty左下角会出现“INSERT”字样,代表现在可以编辑文本了,这时候右键点击复制我的代码,否则会出错。

文本保存方法:按esc退出编辑模式(也就是非编辑模式),然后输入:wq保存退出。(请不要省略冒号,按了冒号才可以继续)(请不要开启中文输入法,否则会一直响)。

按Esc退出编辑模式后,左下角的“INSERT”字样会消失,此时输入英文单词:wq。

当你输入完毕后,putty软件左下角会出现输入:wq,代表你输入正确,此时按回车保存退出,如果不想保存退出,可以使用:q!强制退出。

现在我们知道了如何使用 vim 编辑器,我们将继续设置 Swap 的启动。

5、进入分区自动挂载配置文件
# vi /etc/fstab
6、在众多的文本最后添加一行:
# /root/swapfile swap swap defaults 0 0

效果如下:

7、添加完毕后,按ESC退出编辑模式,使用:wq保存并退出。
# :wq
8、重启服务器:
# reboot

进去之后会有一个红色的警告框提示你连接中断,这是因为重启导致连接自然中断。

20秒后,右键点击putty标题栏,选择Restart Session,重新输入账号和密码登录。

9、检查Swap交换分区有没有增加。
# free –m

在上图中我们可以看到Swap已经有值了,这就说明添加成功了。

第八步:在系统中安装必要的软件。

1、 安装下载工具wget
# yum install -y wget
2、 安装解压工具unzip
# yum install -y unzip
3、 安装压缩工具zip
# yum install –y zip

在安装 zip 文件的过程中,会出现一个问题询问“可以吗”。在此处输入“y”表示同意并继续。

4、 安装远程管理工具screen
# yum install -y screen

注:yum是一个自动下载并安装RPM包的命令,可以自动安装该工具所需的所有依赖软件,非常方便。

第九步:下载Terraria官方服务器压缩包。

1.为了后面管理和目录清晰,我们先为Terraria建立文件夹。

2、在根目录下的opt文件夹下创建terraria文件夹
# mkdir /opt/terraria
3、继续在新创建的terraria文件夹创建bin,worlds,zip三个文件夹
# mkdir /opt/terraria/{bin,worlds,zip}
4、检查是否创建成功
# ls /opt/terraria/

我们可以看到下图中出现了三个蓝色的字,蓝色代表文件夹,代表创建成功。

5、 进入zip文件夹
# cd /opt/terraria/zip
6、 下载最新版本1.3.5.3的泰拉瑞亚服务包(想知道其他版本服务包的下载地址可以去官网找,以后更新之后也就只需要改变代码后面的版本号即可。)
# wget http://terraria.org/server/terraria-server-1353.zip

出现进度条指示下载正在进行中。

上图中的FINISHED代表下载完成。

7、 将下载好的压缩包解压到bin文件夹
# unzip terraria-server-1353.zip -d/opt/terraria/bin

按下回车键之后,会出现一长串实时的解压信息,只需要等待解压完成即可,这个过程并不会花费很长时间。

8、 将配置文件拷贝到泰拉瑞亚文件夹的根目录。
# cp -p /opt/terraria/bin/1353/Windows/serverconfig.txt /opt/terraria/
9、 编辑拷贝过来的配置文档。
# vim /opt/terraria/serverconfig.txt

10.进入配置文档后,将文件编码格式改为UTF-8(因为要把世界名改成中文)。把这行代码连同冒号一起复制,在ESC的非编辑模式下粘贴,注意不能在编辑模式下粘贴,因为这是命令。

命令:

:set fileencoding=utf-8

如果你的操作正确的话,putty左下角会出现下面的情况,这时候按回车键就可以改变文件编码了。

11. 将以下代码复制到文档的最后一行。(不要担心前面有多少个字,只需滚动到末尾并按 i 键进入编辑模式,然后复制并粘贴以下代码)。

world=/opt/terraria/Worlds/世界的名字.wld
worldname=世界的名字
difficulty=0
autocreate=2
maxplayers=4
password=设定一个密码
worldpath=/opt/terraria/worlds

详情如下:

注意:世界的名称和密码是可自定义的。不要傻乎乎的就这样保存它们。记得更改世界的名称并设置你想要的密码。

世界名可以是中文,但是密码不能是中文。

difficity为游戏难度,对应0为普通,1为专家,如difficulty=0就是普通模式

autocreate是自动生成的世界的大小,1是小世界,2是大世界,3是非常大的世界。

maxplayers 是可以同时玩游戏的最大玩家数量。

喜欢:

这里我设置的是,保存文件名为Ziyuzy.wld、世界名是Ziyuzy、游戏难度为专家级、地图尺寸为超大、最大玩家人数为4人、密码为123456。

至此Terraria服务器已经安装成功。

第十步:启动服务器。

1、 给运行文件赋予运行权限。
# chmod777 /opt/terraria/bin/1353/Linux/TerrariaServer.bin.x86_64
2、 启动服务器。
cd /opt/terraria/bin/1353/Linux&& ./TerrariaServer.bin.x86_64 -config /opt/terraria/serverconfig.txt

第一次启动世界将是一个漫长的过程,因此请耐心等待完成百分比。

当世界生成后会出现下面的内容,表示世界已经构建完成。

让我们在这里抑制住内心的喜悦,因为这说明你成功了,但是我们还要退一步,因为还有一步要做。

3、退出服务器程序。(在冒号后面输入exit即可退出服务器程序,回到之前的命令界面)
# exit
4、再次编辑拷贝过来的配置文档。
# vim /opt/terraria/serverconfig.txt
5、将之前添加的一段话中三行代码前面加上#号,使其失效。
(翻到最后找到这段代码,按i键进行编辑模式,用上下左右键把光标一上去加上#号即可)
#worldname
#difficulty
#autocreate

如下所示:

6、按Esc键退出编辑模式,输入:wq保存。
# :wq
7、再次启动游戏。
cd /opt/terraria/bin/1353/Linux && ./TerrariaServer.bin.x86_64 -config /opt/terraria/serverconfig.txt

8.再次看到熟悉的服务器程序界面。

根据提示我们知道输入help可以调出帮助页面,里面有常用的命令,比如save-保存等等,大家可以自行查看一下。

如果您已经坚持到了这一步,那么恭喜您,您的配置过程已经接近结束,剩下的就是测试和完善部分。

3.游戏测试

1. 选择多人游戏模式。

2.通过IP加入游戏

3.输入你服务器的公网IP(你购买的阿里云服务器的公网IP)

4.输入端口号7777

5.输入服务器密码

6. 游戏已完成。恭喜!您成功了!享受您的成就吧。

7、每次有玩家加入,服务器上都会有反馈信息。

此时你的服务器就可以正常运行Terraria服务器了,可以和朋友们开心的玩耍了。

需要注意以下几点:

1.只有在服务端输入保存命令后,服务器才会保存地图数据。

# save

2.尽量不要泄露服务器公网IP。如果你用的是公网服务器,那没关系,但这是私网教程,是用来分享给朋友的。如果公网泄露,很容易被攻击。就算知道密码,最后也是一张挖空的地图。(笑)

如果喜欢本文请收藏并留言,你们的关注就是我最大的鼓励~

如果文章反响良好,后续会加入以下优化功能:

1. 服务器定期自动保存数据

2.服务器定期自动备份数据

3.导出和导入服务器地图数据。

4.Terraria 会在服务器启动时自动启动。

点击关闭
  • 客服QQ:

    1234567

    -------------------

分享:

支付宝

微信