Архитектура серверной и клиентской частей Minecraft отличается по нескольким параметрам:
Физические стороны. 12 Это дистрибутивы игры: физический клиент (игра, которую можно запустить из лаунчера) и физический сервер (доступный для загрузки на официальном сайте игры). 12 Клиентская и серверная среда представляют собой уменьшенные дистрибутивы одной и той же программы, содержащие только необходимые части кода. 2 Например, сервер не будет иметь классов для рендера. 1
Логические стороны. 12 Они отвечают за игровую логику. 2 Логический клиент отправляет состояние игрока, выполняет рендер, частично моделирует мир. 1 Логический сервер обрабатывает основную логику (например, рост растений, AI мобов и т. п.), обрабатывает пакеты и поддерживает состояние игрового мира. 1
Взаимодействие. 3 Клиент и сервер разделены, и каждый из них отдельно рассчитывает блоки и сущности. 3 Клиент отвечает за рендеринг, размещение игрока и некоторые другие механики. 3 Сервер обрабатывает действия других игроков, чат, команды и другие вещи, которые доступны только серверу. 3
Количество подключений. 3 Сервер, если не настроено иначе, может быть подключён к любому количеству клиентов в любой момент, а клиент может быть подключён только к одному серверу одновременно. 3