Class MinecraftServer

java.lang.Object
net.minestom.server.MinecraftServer

public final class MinecraftServer extends Object
The main server class used to start the server and retrieve all the managers.

The server needs to be initialized with init() and started with start(String, int). You should register all of your dimensions, biomes, commands, events, etc... in-between.

  • Field Details

    • LOGGER

      public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger LOGGER
    • VERSION_NAME

      public static final String VERSION_NAME
      See Also:
    • PROTOCOL_VERSION

      public static final int PROTOCOL_VERSION
      See Also:
    • THREAD_NAME_BENCHMARK

      public static final String THREAD_NAME_BENCHMARK
      See Also:
    • THREAD_NAME_TICK_SCHEDULER

      public static final String THREAD_NAME_TICK_SCHEDULER
      See Also:
    • THREAD_NAME_TICK

      public static final String THREAD_NAME_TICK
      See Also:
    • TICK_PER_SECOND

      @Deprecated public static final int TICK_PER_SECOND
      Deprecated.
    • TICK_MS

      public static final int TICK_MS
  • Constructor Details

    • MinecraftServer

      public MinecraftServer()
  • Method Details

    • init

      public static MinecraftServer init()
    • updateProcess

      @Internal public static ServerProcess updateProcess()
    • getBrandName

      @NotNull public static @NotNull String getBrandName()
      Gets the current server brand name.
      Returns:
      the server brand name
    • setBrandName

      public static void setBrandName(@NotNull @NotNull String brandName)
      Changes the server brand name and send the change to all connected players.
      Parameters:
      brandName - the server brand name
      Throws:
      NullPointerException - if brandName is null
    • getDifficulty

      @NotNull public static @NotNull Difficulty getDifficulty()
      Gets the server difficulty showed in game option.
      Returns:
      the server difficulty
    • setDifficulty

      public static void setDifficulty(@NotNull @NotNull Difficulty difficulty)
      Changes the server difficulty and send the appropriate packet to all connected clients.
      Parameters:
      difficulty - the new server difficulty
    • process

      @Experimental public static @UnknownNullability ServerProcess process()
    • getGlobalEventHandler

      @NotNull public static @NotNull GlobalEventHandler getGlobalEventHandler()
    • getPacketListenerManager

      @NotNull public static @NotNull PacketListenerManager getPacketListenerManager()
    • getInstanceManager

      @NotNull public static @NotNull InstanceManager getInstanceManager()
    • getBlockManager

      @NotNull public static @NotNull BlockManager getBlockManager()
    • getCommandManager

      @NotNull public static @NotNull CommandManager getCommandManager()
    • getRecipeManager

      @NotNull public static @NotNull RecipeManager getRecipeManager()
    • getTeamManager

      @NotNull public static @NotNull TeamManager getTeamManager()
    • getSchedulerManager

      @NotNull public static @NotNull SchedulerManager getSchedulerManager()
    • getBenchmarkManager

      @NotNull public static @NotNull BenchmarkManager getBenchmarkManager()
      Gets the manager handling server monitoring.
      Returns:
      the benchmark manager
    • getExceptionManager

      @NotNull public static @NotNull ExceptionManager getExceptionManager()
    • getConnectionManager

      @NotNull public static @NotNull ConnectionManager getConnectionManager()
    • getBossBarManager

      @NotNull public static @NotNull BossBarManager getBossBarManager()
    • getPacketProcessor

      @NotNull public static @NotNull PacketProcessor getPacketProcessor()
    • isStarted

      public static boolean isStarted()
    • isStopping

      public static boolean isStopping()
    • getChunkViewDistance

      @Deprecated public static int getChunkViewDistance()
      Deprecated.
      Gets the chunk view distance of the server.

      Deprecated in favor of ServerFlag.CHUNK_VIEW_DISTANCE

      Returns:
      the chunk view distance
    • getEntityViewDistance

      @Deprecated public static int getEntityViewDistance()
      Deprecated.
      Gets the entity view distance of the server.

      Deprecated in favor of ServerFlag.ENTITY_VIEW_DISTANCE

      Returns:
      the entity view distance
    • getCompressionThreshold

      public static int getCompressionThreshold()
      Gets the compression threshold of the server.
      Returns:
      the compression threshold, 0 means that compression is disabled
    • setCompressionThreshold

      public static void setCompressionThreshold(int compressionThreshold)
      Changes the compression threshold of the server.

      WARNING: this need to be called before start(SocketAddress).

      Parameters:
      compressionThreshold - the new compression threshold, 0 to disable compression
      Throws:
      IllegalStateException - if this is called after the server started
    • getDimensionTypeManager

      public static DimensionTypeManager getDimensionTypeManager()
    • getBiomeManager

      public static BiomeManager getBiomeManager()
    • getAttributeManager

      public static AttributeManager getAttributeManager()
    • getAdvancementManager

      public static AdvancementManager getAdvancementManager()
    • getExtensionManager

      @Nullable public static @Nullable ExtensionManager getExtensionManager()
    • getTagManager

      public static TagManager getTagManager()
    • getTrimManager

      public static TrimManager getTrimManager()
    • getServer

      public static Server getServer()
    • start

      public void start(@NotNull @NotNull SocketAddress address)
      Starts the server.

      It should be called after init() and probably your own initialization code.

      Parameters:
      address - the server address
      Throws:
      IllegalStateException - if called before init() or if the server is already running
    • start

      public void start(@NotNull @NotNull String address, int port)
    • stopCleanly

      public static void stopCleanly()
      Stops this server properly (saves if needed, kicking players, etc.)