Clients and Client Communication

Although the server is the heart of any multiplayer game. It doesn't accomplish much without clients to play it. In order to interact with the game and each other, clients communicate with the server over the network. Developing a network communication protocol can be complicated and time-consuming. Fortunately, Darkstar provides a great deal of library code that dramatically simplifies network communication between server and clients. Darkstar provides functions to help implement both the server side and the client side communication. In both cases, the user provides custom implementations of event-handling interfaces that interact with the Darkstar communication code to implement the networked interactions between your game client and your game server. This interaction is illustrated in Figure 2.

The basic pattern of communication in Darkstar

Figure 2. The basic pattern of communication in Darkstar

The first section describes how the Darkstar server accepts connections from a client, receives commands from the client, sends game state back to the client, and handles client disconnection (either graceful or forced). The second section describes Darkstar's client-side communication: establishing a connection, sending messages, receiving game state, and disconnecting from the server. The Client-Server Authentication section discusses client authentication, and Managing Game State with Persistent Objects ...

Get Darkstar: The Java Game Server now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.