# 网络服的概念
# 简介
网络服,即运行在远程服务器上的一个游戏服务器,通过网络供玩家连接。
每个网络游戏都需要一个专用的服务器来进行游戏内部数据的计算,并将运算结果发送给客户端,呈现给玩家。
下面介绍的是一些经典的网络服软件,供读者了解。
# Minecraft Server
Mojang官方编写的我的世界Java版服务器软件。
# Spigot
一个使用Java编写的我的世界Java版服务器软件。
# Bedrock Server
Mojang官方编写的我的世界基岩版服务器软件。
# Nukkit
一个由国人使用Java编写的我的世界基岩版服务器软件。
# 网络服和Mod的区别
# 架构差异
我的世界的联机功能和单人游戏功能,其实都是在房主的终端下新建了一个内部服务器,再使用客户端部分进行游戏画面的渲染。Mod的服务器运算部分,就是运行在房主的终端上的。
而网络服软件,专门将游戏的服务器运算部分,从客户端中分离出来,并将其运行在一个相对于玩家终端来说更加高性能的服务器上,来实现更高的玩家承载量和稳定性。
换而言之,在网络服上游玩的玩家的数据,全部会交给专业服务器进行处理。而Mod联机的情况下,所有玩家的数据,都会在房主的设备上进行处理,如果设备的算力不够,就会非常影响游戏体验。
# 数据存储
在Mod联机的情况下,产生的数据大多都会存储到地图文件中,并由读取地图时一并加载到游戏中。
而在网络服中,可以使用高性能的数据库(例如MySQL,MongoDB,Redis)来存储数据,并快速筛选出需要的数据进行缓存。数据库软件各有各的优势,开发者可以根据需要自行决定数据的存储位置。