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 .nix files used for building the modpack are generated by cursetool
from the .yaml files in manifest/
, and should always be updated after
any change to the .yaml files.
$ cursetool/run.sh update manifest/e19.yaml
The Curse website occasionally breaks, causing mod pages to redirect to themselves. Cursetool will use a cached value if this happens. In the event that no cache can be found, it will backoff and retry until it can successfully retrieve the mod page.
General contribution workflow
Requires nix package manager and a unix environment (You can also use nixos!) of your choice to run it in.
-
Clone this repository
-
Create a directory to house the server
-
Navigate into it and run
../path/to/repository/update_and_start.sh
Choose the server you intend to build -
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.