教你搭建一个属于自己的游戏服务器
众所周知,《泰拉瑞亚》是一款像素风的沙盒游戏,有着极高的自由度,游戏的玩法很丰富。
你可以选择作为一名战士,讨伐这个位置的世界;可以选择做一名建筑师,各种别具一格的建筑都会一一呈现;可以选择做一名电力学家,对电路学精通无比,构建复杂的机关、陷阱,没有比你建造的设施更安全的地方了;可以做一名炼金学家,千奇百怪的材料可以让你做出各式各样效果的药水;可以做一名合成家,你的脑子就是最齐全的合成表,想要什么直说,都能给你造出来。
虽然游戏非常有趣,但当我和远在新加坡的朋友想要一起联机泰拉瑞亚的时候,我们发现系统服务器并不能满足我们。如果我做主机,他在新加坡就会瞬移卡顿,反之我会很卡顿。就这样,作为计算机专业的我决定做一些应该做的事情——自己搭建一个泰拉瑞亚服务器。
服务器能做到的事情有:将你与朋友之间的延迟降到最低,在国内与新加坡联机的延迟大概在30ms左右,比英雄联盟正常延迟要低;24小时在线,不用一直开着自己的电脑也能保持服务器不关闭;自动备份游戏存档等等。
如果你有以下的需求,说明你需要一个服务器教程:
1、你与朋友相距甚远,分别生活在世界各地,互相联机就算使用加速器都会出现瞬移卡顿。
2、作为主机的朋友或者你无法24小时在线,因为其他人没法在主机下线的时候继续“玩耍”(偷偷发育),这时候服务器24小时开机在线的作用体现出来了。
3、你想学习新的知识,比如搭建一个泰拉瑞亚服务器(由此可以衍生出其他服务器的搭法,大同小异)。
如果你有以上的想法或者别的原因,决定跟着这个教程做的话,那么下面又是一段温馨提示:
1、该教程会消耗你大概2小时左右的时间(时间更长或更短取决于你的基础),毕竟万事开头难,勇于挑战嘛。
2、该教程是一个较为完整的步骤教程,认真的一步步看,一步步做肯定可以成功搭建出属于你的服务器出来。
3、搭建服务器需要一定的资金支持,需要多少主要看你到第四步时选择哪一个分支,分支一是包年的操作,需要一百多,分支二是按时计费,一个月需要一百多,但方便在随时都可以关闭。
4、如还有疑问欢迎加入群:636826971(梓宇游戏基地),@梓宇zy,没错就是我,我会知无不言为你解惑。
一、准备阶段:
搭建游戏服务器最需要的是什么?是服务器,通过上面对比,这里我们将选择ECS云服务器。
为什么要使用ECS服务器而没有使用VPS云虚拟主机?我这里会说一下:
==这一段话不看也无所谓↓↓↓==
ECS叫做弹性计算服务,当然,也可以简单地把它归结一类称为云服务器,而VPS叫做云虚拟主机。
两者之间的区别可以简单的归结于以下几点:
VPS是由一台物理服务器虚拟出多个虚拟服务器的技术,所以很容易被同一台物理服务器的其他VPS挤压资源导致服务器性能产生波动。
VPS在拓展性方面不如ECS,因为会受制于单台物理服务器的瓶颈上限,毕竟是一台物理服务器的虚拟机,总不可能超过物理服务器。
VPS同配置租用价格低于ECS,比较亲民。
还有几点我就不在这里列出了,要真对比下去就成千字论文了。(笑)所以综上的几条我们可以判断出ECS更适合作为游戏服务器,稳定、安全。而VPS似乎更适合作为小型个人博客,在价格方面会更加划算。那么介绍到这里,我们开始正式开工吧!
二、配置阶段
ECS云服务器推荐配置:
CPU:1核及以上
内存:2G及以上
带宽:2M及以上
如果配置比这个低,且内存不低于1的话,也可以正常的运行,但可能会导致配置过程很慢或者游戏中途断线,因为以上配置组合是我亲自试过的,所以如果想要特别稳的话,建议跟着我的来。
那么ECS云服务器在哪里搞呢?且听我慢慢的道来(别打我别打我,我不文绉绉了,我说,我说还不行吗),我们需要在阿里云上购买ECS云服务器。(嘶,下手真重)。
在这里先提醒一下,在购买服务器的时候可能会让你进行备案,不要害怕,这只是类似实名认证的东西,如果要备案,那就按照步骤备案完再进行本教程即可。
第一步:百度搜索阿里云,并点击进入。
第二步:在网站的右上角点击注册一个阿里云的账号,或者登陆。
第三步:鼠标找到首页上方导航栏偏左一些的产品选项,在弹性计算中找到云服务器ECS并点击进入。
第四步的分支一:这里在购买方面可以自己灵活选择,因为会有各种活动比如下面这里就是一个大学生优惠,如果大家只是想在国内搭建一个泰拉瑞亚服务器并且你是一个大学生,那么可以直接购买这个,应该也够用了,但可别买成轻量应用服务器了,记得要点一下切换至云服务器ECS。(使用分支一方法的,购买完毕后可以直接跳到第六步。)
如果想要像我一样搭建一个国内外都可以玩的国际服务器,或者想要购买按小时收费的更灵活,可以随时删除停止的服务器,可以跳过这个往下看。(毕竟上面是包年的,但是好便宜!)
第四步的分支二:不去理会活动,直接点击开头的立即购买。
第五步:进行自定义选择配置(第四步分支二的详解)
1、选择自定义购买,根据需求选择计费方式,这里我选择按量付费,也推荐刚开始尝试的朋友可以这样尝试,如果不喜欢可以直接删除服务器重新选择购买。
2、地域根据自己的服务器需求来决定,我这里是想要和新加坡的好朋友一起玩,所以选择了香港的服务器作为我们两个梦的开始。
3、在实例这里进行筛选,CPU为1vCPU,内存为2GiB。
4、筛选完之后下面众多的服务器选择只剩下了三个,我们选择1核CPU、2G内存、5M带宽的共享计算型n4服务器。
5、镜像选择公共镜像的CentOS7.4镜像
6、存储系统盘不去动它,默认即可。
7、选择完毕后点击右下角的下一步。
8、这一个页面只需要修改一个地方,把“按固定带宽”修改成“按使用流量”来计费即可。其他默认不动。
这里解释一下。因为游戏数据的传输对于流量来说需求不频繁,只要你认为你的所有时间平均下来半天用不到一个G的数据传输,那你选择“按使用流量计费”。(这里说的所有时间包括你睡觉出门空闲的时间。)
9、点击下一步:系统配置
10、设置密码
这里登录凭证选成密码,并且设置登录密码,要求包含大写字母、小写字母以及数字。
11、实例名称、主机名,这里不是必改选项,可以自定义,想改就改吧,别写中文就行了。
12、点击确认订单,分组设置不用设置,直接跳过。
13、确认好信息之后,勾上最下面的服务条款并且点击创建实例。
14、创建成功后,点击管理控制台。
15、这里我们会看到我们刚才购买的服务器实例,状态在启动中别着急,等待几分钟后会自动变成绿色的运行中。当状态变成绿色的运行中之后就可以开始下一步了,这时候这个页面不要关闭。
第六步:下载Putty
这是一个远程管理软件,因为阿里云网页管理会在修改文件时经常出现卡顿。
Putty的官网下载网址是:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html1、进入官网之后点击here。
2、根据系统位数选择下载,(也就是说32位系统的就选择32位的下载,64位的就选择64位的下载)。直接点击图里箭头所指的蓝色字就可以下载了。
3、下载好了之后打开下载的文件安装putty,安装过程一直默认下一步,即可安装完毕。
4、打开安装好的Putty,
如果找不到快捷方式的。
64位的可以在C:\ProgramFiles\PuTTY这个路径找到
32位的可以再C:\Program Files(x86)\PuTTY这个路径找到。
打开后看到的是这样一个界面。
在进行正常操作前,我们先设置一个选项,作用是保持我们的远程管理不掉线。
点击左边目录的Connection,在第一个文本框那里将0的数字修改成60。
这样就会每60秒发送一个空的数据包来维持链接不中断,不这么做的话每隔几分钟不操作这个远程界面就自动断开了。
5、点击左边目录的Session即可回到初始界面,并且在Host Name中填上你的云服务器的公网地址,也就是我让你别关的页面的那里,端口port填22,如果默认填上了就不用去管它,全部填写完毕后点击右下角的open。
6、启动远程链接后会弹出一个警告框,请点击“是”。
6、接着输入账号密码来登录,账号是默认的root,密码就是之前你设置的那个。出现Welcome开头的字样就是登陆成功了。
如果忘记了密码可以再控制台,也就是看公网地址那里的末尾找到更多选项进行重置密码
第七步:设置Swap分区
到了这里恭喜你,你已经连接上你购买的服务器了,那么接下来就是代码部分了,这里的代码我会为你准备好,你按照我的一步步来,就不会有问题,请不要太慌张,让我们继续往下。
Putty的粘贴是鼠标右键,也就是说你在这里复制好代码后,只需要在putty里面按一下右键就好了。
由于ECS云服务器镜像安装好是没有给系统分配软件交换分区Swap的,所以这里我们需要手动分配一下,以免我们的泰拉瑞亚在挂机在服务器途中突然关闭。
输入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的过程中会出现IS this ok 询问的一句话,这里输入一个y代表同意并继续即可。
4、 安装远程管理工具screen # yum install -y screen注:yum自动下载并安装RPM包的一个命令,可以自动安装上工具需要的一切依赖软件,十分方便。
第九步:下载泰拉瑞亚官方服务器压缩包。
1、为了使后面的管理方面和目录清爽,我们先给泰拉瑞亚预先创建好文件夹。
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.txt10、进入配置文档后,更改文件编码格式为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具体如下:
注:世界的名字和密码自定,不要傻fufu的真的就这样保存了,记得把世界的名字和设定一个密码修改成你想要的。
世界名字可以中文,密码不要使用中文。
difficulty 是游戏的难度,对应的是0为普通,1为专家,如difficulty=0是普通模式
autocreate 是自动生成的世界的大小,1是小世界,2是大世界,3是超大世界。
maxplayers是最大同时游戏人数。
如:
这里我设置的意思就是,存档名为梓宇zy.wld,世界名字为梓宇zy,游戏难度为专家,地图大小为超大地图,最大人数4人,密码为123456.
到这里泰拉瑞亚服务器就安装成功了。
第十步:启动服务器。
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.txt8、再次看到熟悉的服务器程序界面。
根据提示我们可以知道输入help可以调出帮助页面,里面有常用的命令,比如save-保存之类的,可以自己看看。
如果你跟着做到了这里,那么恭喜你,你的配置历程已经差不多了结束了,剩下的就是测试和打磨的部分。
三、游戏测试
1、选择多人模式。
2、通过IP加入游戏
3、输入你的服务器的公网IP地址(就是你买的阿里云服务器的公网地址)
4、输入端口号7777
5、输入服务器密码
6、游戏进入完毕,恭喜你,成功了!尽情去享受你的成果吧~
7、每加入一个玩家,服务器那里也会有回馈信息。
到这里,你的服务器已经可以正常的运行泰拉瑞亚服务端,并且和朋友们愉快的玩耍。
以下几点需要注意:
1、服务器只有在服务端输入save命令之后才会保存地图数据。
# save2、服务器的公网IP尽量不要泄露出去,如果你是公开的服务器那无所谓,但这里是私人服务器教程,本身就是与朋友分享的,如果公开泄露容易被攻击甚至如果密码也被知道,那你迎来的将会是地图被掏空。(笑)
如果这篇文章你喜欢,不妨点个收藏以及留个言,你们的关注就是我最大的鼓励~
如果文章反响不错,后面还会补充以下优化功能:
1、服务器定时自动保存数据
2、服务器自动定时备份数据
3、服务器地图数据导出和导入。
4、服务器开机自动启动泰拉瑞亚。
发表回复