小时候玩Minecraft的经历,让我第一次尝试深入了解“服务器”这个概念。那时我还在上小学,玩这个游戏的时候,一直都是自己单机,或者是局域网联机,不过那得是偶尔有朋友来家里才能有的事情,我也不懂得“局域网”是个什么东西,只知道只要连上同一个wifi或者热点,就可以多人联机玩游戏了。我对多人联机存在着一种偏执,总想着怎样远程和别人联机,但也不知道怎么做,网上找的方法最终也都以失败告终(联机盒子是后来的事情了)。而后来在第一次加入别人的服务器玩游戏之后,我萌生了自己搞一个服务器的想法。但我根本就不知道自己应该干什么,也不知道到哪里去学到自己想知道的东西,甚至还有过“只要在ip地址一栏输入相同内容,两个人就能联机了”这种幼稚可笑的想法。在经历了不知多少次失败之后,我最终还是放弃了,要么去玩真正的网游,要么就乖乖玩别人的mc服务器,自己搞服务器这件事再也不敢想了。
后来随着年龄的增长,阅历也随之变得更加丰富,我慢慢认识到了“服务器”是一台机器,而不是什么虚无缥缈的东西,也明白了一些它背后的原理——服务器其实就是一台电脑,想让一群人一起联机玩游戏,就得一直把服务器开着机,而不是像自己小时候所想的那样,只要有了“服务器”,便可以在想玩的时候就玩,不玩的时候把电脑一关,也不影响别人玩游戏。服务器的概念在我的中学时光里慢慢从幻想变成科学,从虚无变成实际,由抽象变得具体。
高考之后,我填写了计算机相关专业的志愿,并最终被网络空间安全专业录取。从此,“服务器”成了我早晚都要接触的事物。我也明白一个道理——与其等到大二大三的时候在专业课上听得云里雾里,最后被学业压得喘不过气,还不如先提前了解一下自己未来的学习甚至工作中要打交道的对象。于是,我重新回首了自己儿时的遗憾,决定将其兑现。
之所以选择了阿里云,是因为我在b站寻找教程的时候发现初次申领和续费都是免费的。我按部就班领取了实例,但由于第一次开服,缺少经验,走了不少弯路。首先在安装服务器系统这件事上就犯了难。很多开服教程都建议安装Ubuntu,我照做之后,发现操作它只能敲代码,这对于我一个初学者来说显然是很要命的,一番操作下来我已经晕头转向,虽然网上的教程在做什么,我就跟着做什么,但系统总是报错,不仅无法成功安装Java,我连自己保存的东西放在了哪里、怎么打开都不知道。我开始寄希望于安装图形操作界面,在找到相关教程之后,却看到作者说“不建议配置低的服务器使用图形操作界面”。因此我又放弃了,转而回去继续研究令人头皮发麻的满屏幕密密麻麻的字母。我从上午忙活到下午,连续几个小时一直都趴在电脑前,却一点进展都没有,只要有一点错误,哪怕只是把东西存错地方了,我都要重新装一遍系统,因为我实在不知道该怎么回到上一步。在经历了不知多少次失败后,我情绪几近失控,彻底开始摆烂了。但到了晚上,我又开始觉得可惜,便又爬回了电脑前。又是无数次的卸载重装,我再一次失去了兴趣,想着弄到12点就睡觉,然后再也不搞了。我又折腾到很晚,准备放弃的时候,我也不知道自己怎么想的,就安装了Windows。安装成功开机,我怎么也没想到,之前几次不管是Ubuntu还是Windows,我开机之后看到的都是指令式的操作界面,而这次竟然看到了熟悉的图形界面,这让我重新找到了希望,决定继续下去。我马上就熟悉了操作,根据网上的教学排除了一些困难(比如ie浏览器不好使和机器本身自带的一大堆下载限制),之后几乎是无师自通成功安装了Java和Minecraft服务器插件。但我依然无法进入游戏。查阅了相关资料,我发现是防火墙设置的问题,修改了设置之后,就能正常进入游戏了。这个设置在网络与安全——安全组——安全组规则可以进行设置,此处可以看到我将入方向的端口范围修改为1/65535,授权对象为0.0.0.0/0。网上说我无法进入游戏是因为自己的ip地址不在服务器允许的范围内,为了能够正常运行,我所设置的配置将范围调整到了最大,由于我目前的目的仅仅是为了满足玩游戏的需求,因此并没有太深究,我这样做虽然解决了问题,但无法保证安全性,也不知道未来会出现什么问题,因此还请有玩游戏之外的需求的朋友不要像我这样,还是要深入了解一下,以防万一。另外,奉劝那些刚刚准备入门的朋友,对于网络上的教程,不要全盘接受照猫画虎,而是多花花心思看看那种方案适合自己,该变通的时候变通。而对于图形界面这个东西,本人还是建议使用,特别是对刚入门的朋友来说图形界面尤其重要,至少不让操作变得那么陌生,也能帮你少走不少弯路,不要为了追求性能把简单的问题复杂化。实际上,我在游戏里并不觉得服务器性能受到了影响,即使偶尔有卡顿,也在能接受的范围内。
当我第一次在自己本地的游戏客户端进入自己刚刚搭好的服务器时,已经是凌晨四点,我看向窗外,天空已经开始蒙蒙亮。我家猫早就已经不耐烦了,一直吵着要我赶紧睡觉。我终于如释重负般躺在床上,一觉睡到中午