Impulse Server Manager
PluginAGPL-3.0-or-later

Impulse Server Manager

Automatically create, start, and stop backend servers with Velocity

463
Downloads
4
Followers
1 years ago
Updated
📦
5
Versions

📖About Impulse Server Manager

Impulse

Impulse is a plugin for the Minecraft server proxy Velocity. It adds the ability
to dynamically start and stop servers on demand as players join and leave. Why run a server that is only used for a few
hours a day?

Key Features

Impulse has many features to make managing your servers easy! Some highlights include:

  • Dynamic server creation and destruction - only run servers when your players are connected
  • First and third party brokers - Cores to drive your servers no matter how they are deployed, via Docker, JAR files,
    or something else. We are actively working on expanding our selection but you can find the full list
    here
  • Automatic hot reload of configuration - update how impulse runs a server automatically, without a reload command!
  • Unmanaged server support - plays nice with any static servers you have configured in Velocity
  • Custom events - broadcasts custom events that allow you to extend Impulse's functionality
  • Third party Broker support - Implement your own Broker or use someone else's to manage your servers
  • FOSS - Impulse is commited to being free and open source always

Documentation

For more detailed information on how to use Impulse, see our documentation.
For API documentation, see our KDocs.

Installation

In short, download our latest release from one of our sources and place it in your Velocity plugins folder. For more
detailed instructions see our installation
guide.

Sources:

Quick Start

[!TIP]
Looking for a more in-depth guide? See
our Getting Started
documentation.

The following configuration should get you started with a simple lobby server.

Step 1: Configure Velocity

Simply add the server to your velocity config as normal.

player-info-forwarding = "modern"

[servers]
lobby = "127.0.0.1:25566"

try = ["lobby"]

Step 2: Configure Impulse

Configure impulse so it know how to manage your server

instanceName: Bones
servers:
  - name: lobby
    inactiveTimeout: 300
    type: docker
    docker:
      image: itzg/minecraft-server
      portBindings:
        - "25566:25565"
      env:
        ONLINE_MODE: "FALSE"
        TYPE: "FABRIC"
        EULA: "TRUE"
        MODRINTH_PROJECTS: "fabricproxy-lite"
        DIFFICULTY: "PEACEFUL"
        ALLOW_NETHER: "FALSE"
        MODE: "adventure"
      volumes:
        - "/srv/lobby:/data"

Step 3: Configure the MC Server

Add some config to allow for modern forwarding

# create the file /srv/lobby/config/FabricProxy-Lite.toml
hackOnlineMode = true
hackEarlySend = false
hackMessageChain = true
disconnectMessage = "This server requires you to connect through the proxy."
secret = "<YOUR SECRET FROM forwarding.secret FILE>"

Step 4: Connect

Simply start your velocity proxy and connect to it from your Minecraft client. If you run into issues check
our documentation or open an issue!

Getting Help

If your having problems with Impulse, experiencing a bug, or just want to recommend a feature, feel free
to open an issue! I will do my best to
respond.

Contributing

All contributions are welcome! For more specific instructions see
our contributing page.

For specifics on adding creating your own broker to integrate with another server platform
see our guide.