# Interface ClientServerCommand

All Superinterfaces:
  `Serializable`

All Known Implementing Classes:
  `AbandonRaceCommand`, `AttachComponentCommand`, `CreateGameCommand`, `DrawCardCommand`, `DrawFaceDownComponentCommand`, `DrawFaceUpComponentCommand`, `DrawFromReservedCommand`, `EndAssemblePhaseCommand`, `EndCrewPlacingPhaseCommand`, `GetFaceUpComponentListCommand`, `GetSubDeckCommand`, `IncrementCommand`, `JoinGameCommand`, `LeaveGameCommand`, `PingCommand`, `PlaceCrewMemberCommand`, `PlaceRocketCommand`, `PutDownComponentCommand`, `RemoveComponentCommand`, `RollDiceCommand`, `SetCardContextCommand`, `SetEffectContextCommand`, `SetGameLevelCommand`, `SetMaxPlayersCommand`, `SetNicknameCommand`, `ShowShipCommand`, `StartFinalHourGlassCommand`, `StartHourGlassCommand`, `ViewGameCommand`

public interface ClientServerCommand extends Serializable
Represents a command that can be sent from a client to the server. All client-server commands must implement this interface to ensure they can be executed by the `SocketServer`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `execute(SocketServer server)`
  Executes the command on the provided `SocketServer` instance.

- ## Method Details

  - ### execute

    void execute(SocketServer server) throws Exception
    Executes the command on the provided `SocketServer` instance. This method defines the action to be performed on the server side when this command is received.
    Parameters:
      `server` - The `SocketServer` instance to execute the command on.
    Throws:
      `Exception` - if an error occurs during command execution.