# Reaper's Sky - Dedicated Server Everything needed to run the Reaper's Sky NeoForge **1.21.1** server (NeoForge **21.1.248**) on Debian 13 (trixie). ## Quick start (on the server box) ```sh sudo ./deploy.sh # installs Java 21 + curl/unzip, NeoForge, the 59 mods, config ./run.sh # start the server (run inside tmux/screen so it survives logout) ``` The first `./run.sh` generates the world. Wait for `Done (...)` in the console, then connect with IP **`reaperofveriod.nl`** (port 25565). `deploy.sh` is idempotent — safe to re-run; it skips anything already in place and verifies every mod by sha1 before installing. ## What deploy.sh does | Step | Result | |------|--------| | System packages | `openjdk-21-jre-headless`, `curl`, `unzip` (needs root/`sudo`) | | NeoForge server | Official installer from Maven → server files + `libraries/` | | Mods | Downloads the 59 server-safe mods pinned in `mods.json`, sha1-verified | | Config | `eula.txt` (EULA accepted), `server.properties` (IP, motd, 8 G) | | Run script | `run.sh` with 8 GB + G1GC (`nogui`) | Install location defaults to `~/reaper-sky-server`. Override with `DIR=/path`, memory with `MEMORY=6G`, etc.: ```sh sudo DIR=/srv/minecraft MEMORY=10G ./deploy.sh ``` ## Keeping it running ```sh tmux new -s mc # new session cd ~/reaper-sky-server && ./run.sh # detach with Ctrl-b d, reattach later with: tmux attach -t mc ``` Stop the server cleanly with the console command `stop` (Ctrl-c also works). ## Configuration notes - `server.properties` sets `online-mode=true` (Mojang authentication). Set it to `false` in `~/reaper-sky-server/server.properties` to allow unauthenticated clients, then restart. - `server-ip` is left **empty** on purpose: the server binds all interfaces (`0.0.0.0`) and is reached through the edge router's port-forward. Do **not** put the public hostname/IP here — it isn't assigned to a local interface and the server will crash with `Cannot assign requested address`. - `difficulty=hard`, `spawn-protection=0`, `view-distance=10` are set for the airship-focused, land-claim-friendly experience. - The 19 client-only mods (Iris/shaders, Sodium, Minimap, Jade, JEI, etc.) are intentionally excluded here — the server is pure gameplay logic. ## Updating the pack 1. Add/remove mods in the Prism instance `Reaper's Sky - dev`. 2. Rebuild + push the mrpack (see repo root `README.md`). 3. Re-run `server/build_mods.py` or regenerate `mods.json`, commit, push. 4. On the server: `git pull && sudo ./deploy.sh && ./run.sh` (also remove any stale jars from `~/reaper-sky-server/mods/` first).