Communication between servers and clients is the backbone of a successful mod implementation.
Read an [[Understanding Networking#overview|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]].
The simplest, for a new mod, would be [[latest:advanced:networking:simplechannel|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.