序言
这几期决定来介绍一下服务器的架构,由于篇幅太长,这内容可能要分好几期来讲,本片先讲解一下MC服务器的架构(以我在运营的魔法社服务器为例)
需要注意的是:所有教程均不涉及搭建方法(搜索引擎是个好东西),只涉及到技术讲解。
架构图
在这个架构中,我使用了MC管理面板来管理一周目与二周目的服务端,跳转服务器,MC管理面板可分为WEB端和守护进程(大致可以理解为前端与后端),前端主要负责提供网页端的交互界面,而后端主要负责对服务端的管理(也就是刚才提到的一周目与二周目的服务端,跳转服务器)。WEB端与守护进程连接,二者均运行在实体服务器上(这也就意味着实体服务器寄了就全寄了)。
同时,当用户想要访问MC服务器或者是其它服务时,会首先连接到内网穿透的服务端(一般来说是具有公网IP的云服务器,或者是由诸如像Sakura frp 或者Open frp这类服务商提供),然后服务端与客户端建立连接,再将数据包转发至实体服务器中的对应服务(可能有的同学很好奇为什么要这么麻烦,具体原因可以去看这个视频【硬核】公网访问?内网穿透!零经验上手!_哔哩哔哩_bilibili,由于篇幅有限,这里就不在展开。)
跳转服务器
跳转服务器,这是我对它的定义,但它本名叫做BungeeCord(类似的还有Waterfall 或者 Velocity),是很流行的一种分布式部署Minecraft服务端从而提高服务器硬件资源利用率的技术。(说白了呢就是可以把多个服务器连起来让玩家以为他只是在一个服务器中跳转),可能有的同学玩过一些比较大型的服务器可能就会发现,在服务器的主城中有很多选项,你可以通过这些选项去往你要游玩的地方(比如起床战争),而这种跳转实现的原理,可以说是BungeeCord实现的。正是有了这个小东西,让玩家可以在不同服务端中跳转,同时对于服务器来说可以起到一个负载均衡的作用(将玩家分流到不同服务器上的MC服务端中),降低服务器的负载。
MC管理面板
首先需要说明的是,MC管理面板不是必须项,因为MC服务端在启动后会有一个命令行面板,用户可以通过这个面板来管理服务器。但是,总所周知,魔法社服务器是由两个人来维护的,因此,当另一个人需要管理服务器时,在本地服务器上的管理面板就无法满足其需求,因此,MC管理面板应运而生。常见的MC管理面板大多数是翼龙面板和MCSmanager,我这里选择了MCSmanager,主要原因是部署简单,且易于使用。MC管理面板可分为WEB端和守护进程(大致可以理解为前端与后端),前端主要负责提供网页端的交互界面,而后端主要负责对服务端的管理,也就是说,使用了这个面版后,你可以像登录你家路由器后台一般在网页上远程管理你家中的服务器,或者让别人协助你管理服务器
但是需要注意的是,若你想要在远程管理你的服务器,你需要同时对守护进程和WEB服务端进行内网穿透(你问我内网穿透是什么?前面给了B站连接力,自己学去),原因如下:
内网穿透
算了还是大致说一下罢。内网穿透其实是个很广的概念(可以实现的技术总类很多)。但总的来说只要能够通过一些方式,能够让处于外网的你的用户连接到你的服务器,那就属于内网穿透的范围。内网,顾名思义,就是局域网,是指位于同一地理位置内的一组网络设备及其连接的通信网络。这组设备都可以互相通信,实现数据的传输和共享。(比如你家的路由器下的所有设备可以构成一个局域网),若没有内网穿透,你在服务器上部署的服务只能让在与你服务器同一个局域网下的设备连接。而这里的外网,不是我们常说的那个外网,如果是那个外网的话,那就是不能说的()。而这里的外网,指的是相对于局域网的外部网络,即广域网,又称公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。也因此,当你处在外网的朋友想要进入到你的服务器与你玩耍时,就需要内网穿透工具这一“桥梁”,与你的服务器进行连接传输。
好好好