Wilfred

An advanced Docker-based CLI tool to manage and create game servers.

What is Wilfred?

Wilfred is a command-line interface for running and managing game servers locally. It uses Docker to run game servers in containers, which means they are completely separated. Wilfred can run any game that can run in Docker.

Highlights

  • Easy to install and few dependencies
  • An easy-to-use command-line interface for smooth game server management.
  • Secure and isolated containers for each game server
  • Works with any game that can run in Docker
  • Integrates with game configuration files so that you never have to manually open and edit files
  • Works with many games out of the box

Supported games

As long as your server can run in Docker, it can probably run using Wilfred (after some tinkering). These are the games supported by default. You can submit new games to wilfred-dev/images.

  • Minecraft
    • Vanilla Minecarft
    • BungeeCoord
    • Paper
    • Spigot
    • SpongeVanilla
    • Waterfall
    • Bedrock
  • Multi Theft Auto
  • Voice Servers
    • Mumble

Installation

Please refer to the official documentation for further installation instructions and documentation.

Quickstart

Make sure you have Docker installed (see the official documentation for more info). The recommended way of installing Wilfred is via Homebrew. Once brew is installed, Wilfred can easily be installed from the official tap.

brew tap wilfred-dev/wilfredbrew install wilfred

Want the bleeding edge? You can install the latest commit using--HEAD (bugs are to be expected, don't use in production environments!).

brew tap wilfred-dev/wilfredbrew install --HEAD wilfred

Wilfred can also be installed using pip. You need to use Python 3.6 or newer to run Wilfred.

pip install wilfred --upgrade

A snap package is also in the works but is currently not considered stable.

Once you got Wilfred installed, run wilfred setup to set a path for Wilfred to use to store server files.

console gif guide

To create your first server, use wilfred create. Most values have a default value, where you can just press return to use them.

Wilfred will ask you which "image" to use. An image is a set of configuration files that defines a specific game within Wilfred. These images are not to be confused with Docker images, Wilfred images sort of wrap around the Docker images. A couple of games are already built into Wilfred, but you can also create your own.

Then, Wilfred will ask you to set any environment variables (if available for that image). The environment variables differ from game to game and most of them have a default value.

Once the server is created, you can use wilfred servers to list available servers. To start it, use wilfred start <name>. To attach to the server console, you can use wilfred console <name>. If you want to start the server and attach to the server console in a single command, you can use wilfred start <name> --console (it will start the server and then immediately attach to the server console).

Read more in the documentation

Get in touch

You can reach out to the Wilfred devs and community via multiple channels.

  • discord logo

    Discord

    Discuss development and get help from the community.

    Join
  • discourse logo

    Discourse

    Discuss development and get help from the community.

    (Coming soon)

  • github logo

    GitHub

    Wilfred is open-source and licensed under the simple and permissive MIT License.

    Explore