# 网络服的概念

# 简介

网络服,即运行在远程服务器上的一个游戏服务器,通过网络供玩家连接。

每个网络游戏都需要一个专用的服务器来进行游戏内部数据的计算,并将运算结果发送给客户端,呈现给玩家。

下面介绍的是一些经典的网络服软件,供读者了解。

# Minecraft Server

Mojang官方编写的我的世界Java版服务器软件。

# Spigot

一个使用Java编写的我的世界Java版服务器软件。

# Bedrock Server

Mojang官方编写的我的世界基岩版服务器软件。

# Nukkit

一个由国人使用Java编写的我的世界基岩版服务器软件。

# 网络服和Mod的区别

# 架构差异

我的世界的联机功能和单人游戏功能,其实都是在房主的终端下新建了一个内部服务器,再使用客户端部分进行游戏画面的渲染。Mod的服务器运算部分,就是运行在房主的终端上的。

而网络服软件,专门将游戏的服务器运算部分,从客户端中分离出来,并将其运行在一个相对于玩家终端来说更加高性能的服务器上,来实现更高的玩家承载量和稳定性。

换而言之,在网络服上游玩的玩家的数据,全部会交给专业服务器进行处理。而Mod联机的情况下,所有玩家的数据,都会在房主的设备上进行处理,如果设备的算力不够,就会非常影响游戏体验。

# 数据存储

在Mod联机的情况下,产生的数据大多都会存储到地图文件中,并由读取地图时一并加载到游戏中。

而在网络服中,可以使用高性能的数据库(例如MySQL,MongoDB,Redis)来存储数据,并快速筛选出需要的数据进行缓存。数据库软件各有各的优势,开发者可以根据需要自行决定数据的存储位置。