Declarative Minecraft server in NixOS https://mineflake.ipfsqr.ru
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Egor Ternovoy 90f474ae8f
Revert "World creation"
14 hours ago
.woodpecker Update CI/CD 4 days ago
docs Move docs to normal wiki 4 weeks ago
modules Revert "World creation" 14 hours ago
pkgs Add paper 1.19.2 14 hours ago
.editorconfig Add editorconfig 4 weeks ago
.gitignore Update docs 4 weeks ago
LICENSE Initial commit 2 months ago
README.md Fix wakatime link in README.md 2 days ago
default.nix Merge dev (#28) 1 month ago
flake.lock Merge dev (#28) 1 month ago
flake.nix Merge bungee & spigot pkgs 4 weeks ago
pin_url.sh Use IPFS everywhere 3 days ago

README.md

mineflake

license gpl3.0 ci/cd status matrix read the wiki read the options gitea wakatime

NixOS flake for easy declarative creation of minecraft server containers.

Example configuration

minecraft = {
  enable = true;

  default.hostAddress = "192.168.100.1";

  servers = {
    proxy = {
      useDefault = false;
      hostAddress = "192.168.100.1";
      localAddress = "192.168.100.2";
      bungeecord = {
        enable = true;
        online_mode = false;
        listeners = [
          {
            host = "0.0.0.0:25565";
            priorities = [ "lobby" ];
          }
        ];
        servers = {
          lobby.address = "192.168.100.3";
          main.address = "192.168.100.4";
        };
      };
      plugins = with pkgs.mineflake; [ cleanmotd authmebungee ];
      configs = {
        "plugins/AuthMeBungee/config.yml".data.authServers = [ "lobby" ];
        "plugins/CleanMotD/config.yml".data.motd.motds = [ "Cool server!" ];
      };
      package = pkgs.mineflake.waterfall;
    };

    lobby = {
      localAddress = "192.168.100.3";
      properties.enable = true;
      properties.online-mode = false;
      configs = {
        "plugins/AuthMe/config.yml".data.Hooks = {
          sendPlayerTo = "main";
          bungeecord = true;
          multiverse = false;
        };
      };
      plugins = with pkgs.mineflake; [ authme essentialsx ];
    };

    main = {
      localAddress = "192.168.100.4";
      properties.enable = true;
      properties.online-mode = false;
      plugins = with pkgs.mineflake; [ coreprotect essentialsx ];
    };
  };
};

Read the docs!