Difference between revisions of "Networking/1.16"

From Forge Community Wiki
(Copy Networking to MC1.16 archive)
 
(Copy Networking to MC1.16 archive)
 
Line 1: Line 1:
 
Communication between servers and clients is the backbone of a successful mod implementation.
 
Communication between servers and clients is the backbone of a successful mod implementation.
  
Read an [[Understanding Networking#overview|overview/1.16]] of why networking matters and the basic strategies in thinking about networking.
+
Read an [[Understanding Networking#overview/1.16|overview]] of why networking matters and the basic strategies in thinking about networking.
  
 
There are a variety of techniques provided by Forge to facilitate communication - mostly built on top of [https://netty.io netty].
 
There are a variety of techniques provided by Forge to facilitate communication - mostly built on top of [https://netty.io netty].
  
The simplest, for a new mod, would be [[Using SimpleChannel|SimpleImpl/1.16]], where most of the complexity of the netty system is
+
The simplest, for a new mod, would be [[Using SimpleChannel/1.16|SimpleImpl]], where most of the complexity of the netty system is
 
abstracted away. It uses a message and handler style system.
 
abstracted away. It uses a message and handler style system.
  

Latest revision as of 04:14, 27 July 2021

Communication between servers and clients is the backbone of a successful mod implementation.

Read an overview of why networking matters and the basic strategies in thinking about networking.

There are a variety of techniques provided by Forge to facilitate communication - mostly built on top of netty.

The simplest, for a new mod, would be SimpleImpl, where most of the complexity of the netty system is abstracted away. It uses a message and handler style system.

Overview

There are two primary goals in network communication:

  1. Making sure the client view is "in sync" with the server view
    • The flower at coordinates X, Y, Z just grew
  2. Giving the client a way to tell the server that something has changed about the player
    • the player pressed a key

The most common way to accomplish these goals is to pass messages between the client and the server. These messages will usually be structured, containing data in a particular arrangement, for easy sending and receiving.