Interface Server

All Known Implementing Classes:
AbstractServer, NetworkServer

public interface Server
Listens for new sessions to connect.
  • Method Details

    • getBindAddress

      SocketAddress getBindAddress()
      Gets the bind address the server is listening on.
      Returns:
      The listening bind address.
    • getPacketProtocol

      Supplier<? extends MinecraftProtocol> getPacketProtocol()
      Gets the packet protocol of the server.
      Returns:
      The server's packet protocol.
    • isListening

      boolean isListening()
      Returns true if the listener is listening.
      Returns:
      True if the listener is listening.
    • getGlobalFlags

      Map<String,Object> getGlobalFlags()
      Gets this server's set flags.
      Returns:
      This server's flags.
    • hasGlobalFlag

      boolean hasGlobalFlag(Flag<?> flag)
      Checks whether this server has a flag set.
      Parameters:
      flag - Flag to check for.
      Returns:
      Whether this server has a flag set.
    • getGlobalFlag

      default <T> T getGlobalFlag(Flag<T> flag)
      Gets the value of the given flag as an instance of the given type.
      Type Parameters:
      T - Type of the flag.
      Parameters:
      flag - Flag to check for.
      Returns:
      Value of the flag.
      Throws:
      IllegalStateException - If the flag's value isn't of the required type.
    • getGlobalFlag

      default <T> T getGlobalFlag(Flag<T> flag, T def)
      See Also:
    • getGlobalFlagSupplied

      <T> T getGlobalFlagSupplied(Flag<T> flag, Supplier<T> defSupplier)
      Gets the value of the given flag as an instance of the given type. If the flag is not set, the specified default value will be returned.
      Type Parameters:
      T - Type of the flag.
      Parameters:
      flag - Flag to check for.
      defSupplier - Default value supplier.
      Returns:
      Value of the flag.
      Throws:
      IllegalStateException - If the flag's value isn't of the required type.
    • setGlobalFlag

      <T> void setGlobalFlag(Flag<T> flag, T value)
      Sets the value of a flag. The flag will be used in sessions if a session does not contain a value for the flag.
      Type Parameters:
      T - Type of the flag.
      Parameters:
      flag - Flag to check for.
      value - Value to set the flag to.
    • getListeners

      List<ServerListener> getListeners()
      Gets the listeners listening on this session.
      Returns:
      This server's listeners.
    • addListener

      void addListener(ServerListener listener)
      Adds a listener to this server.
      Parameters:
      listener - Listener to add.
    • removeListener

      void removeListener(ServerListener listener)
      Removes a listener from this server.
      Parameters:
      listener - Listener to remove.
    • getSessions

      List<Session> getSessions()
      Gets all sessions belonging to this server.
      Returns:
      Sessions belonging to this server.
    • bind

      Binds the listener to its host and port.
      Returns:
      The server.
    • bind

      AbstractServer bind(boolean wait)
      Binds the listener to its host and port.
      Parameters:
      wait - Whether to wait for the listener to finish binding.
      Returns:
      The server.
    • bind

      AbstractServer bind(boolean wait, Runnable callback)
      Binds the listener to its host and port.
      Parameters:
      wait - Whether to wait for the listener to finish binding.
      callback - Callback to call when the listener has finished binding.
      Returns:
      The server.
    • close

      void close()
      Closes the listener.
    • close

      void close(boolean wait)
      Closes the listener.
      Parameters:
      wait - Whether to wait for the listener to finish closing.
    • close

      void close(boolean wait, Runnable callback)
      Closes the listener.
      Parameters:
      wait - Whether to wait for the listener to finish closing.
      callback - Callback to call when the listener has finished closing.