众所周知,《泰拉瑞亚》是一款像素风格的沙盒游戏,自由度极高,玩法丰富。
你可以选择成为一名战士,征服这个地点的世界;你可以选择成为一名建筑师,各种各样独特的建筑将一一呈现;你可以选择成为一名电工,极其精通电路,建造复杂的机关和陷阱。没有比你建造的设施更安全的地方了;你可以成为一名炼金术士,各种奇怪的材料可以让你制作出各种效果的药剂;你可以成为一名合成师,你的大脑就是最完整的合成表。只要告诉我你想要什么,我就能为你制作出来。
虽然游戏很有趣,但当我和新加坡的朋友想一起玩 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 会在服务器启动时自动启动。