Skip to content

Erisia/builder

Repository files navigation

Erisia server-builder

Build scripts for the server

Dependencies

The only real dependency is Nix. You can acquire this by installing NixOS, but you probably won't want to. Nix can be installed on any Linux system, following the instructions on that page.

It also works in Windows WSL, but you'll need to first follow these instructions to work around a current bug in WSL.

You'll need git-lfs installed for some of the embedded jars.

Quick start

Make a server directory, then run update-and-start.sh using its relative path. Example:

$ mkdir erisia
$ cd erisia
$ git lfs install  # If you haven't already.
$ git clone https://github.com/Erisia/builder.git git
$ git/update-and-start.sh

Updating manifests

The .json files used for building the modpack are generated by modestly-modular-modpack-modifier from the .yaml files in manifest/, and should always be updated after any change to the .yaml files.

$ nix run ./modestly-modular-modpack-modifier -- -o manifest manifest/e32.yaml

If the current pack uses any mods from Curse, you will need to configure the Curse API client or mod resolution will fail. See Modestly Modular Modpack Modifier README for instructions.

General contribution workflow

Requires nix package manager and a unix environment (You can also use nixos!) of your choice to run it in.

  1. Clone this repository

  2. Create a directory to house the server

  3. Navigate into it and run ../path/to/repository/update_and_start.sh Choose the server you intend to build

  4. Assuming all this succeeds, you can use any text editor to edit the files under manifest and base in the builder folder. These files are the ones that influence what mods the server is running as well as the configs that get deployed to the client.

    Changing the manifest will not automatically change the running mods. See Updating Manifests for how to do that, and how to update mods to newer versions.

Once you've updated with cursetool and tried your changes with update_and_start.sh you can push your changes back up to the repo (use a branch or a fork please) and open a pull request against master. At that point an admin can pull your changes into the server.

Useful tips

  • Dynmap quickly creates gigabytes of rendered map tiles. You might want to disable it while debugging.
  • You aren't limited to running only the server. To test a new client configuration, look at the ServerPackLocal stance at the bottom of default.nix.

License

Everything in this Git repository is MIT-licensed, with the exception of the third_party directory and mods/configuration data in the base directory; see third_party/README.md for details.

It isn't currently in shape for reuse, but if you wish to do so, make sure to expunge base and third_party.