Skip to content
Active
Games
Tools
Oct 2026

Monkey SMP

A whitelisted, modded Minecraft Java factions server I run, with a one-command installer for every platform, a live world map, and pull-based deploys that update the server overnight after a backup.

170
Server mods
15
Releases
1,680 pytest + 316 Pester
Tests
8
ADRs
Monkey SMP project visual

The constraint

A modded server is only as good as the number of players who manage to join it. Every client needs the exact same mod versions, nobody wants to read a setup guide, and the person running it does not want to SSH in every time a mod updates.

The approach

Pin every mod by hash in one manifest and download it from its original source, so nothing is redistributed and nothing drifts. One installer, run through a pinned PowerShell 7, installs the matching client on Windows, macOS and Linux. The server pulls its own releases: it polls for new tags and deploys in a 4 AM window, after a backup and an in-game warning.

Process
  1. 1
    Verify, don't redistribute

    Every mod is downloaded from its own author's host and checked against a hash pinned in the manifest. The pack never ships anyone else's jar.

  2. 2
    One installer, every platform

    Rather than three scripts that drift, the installer runs on a pinned PowerShell 7 everywhere, so a fix lands on every platform at once.

  3. 3
    Pull, don't push

    The server watches for tagged releases and deploys itself overnight, after a backup and a warning in chat. Shipping a release is tagging it.

  4. 4
    Rehearse the release

    Releases go through a rehearsal before they are tagged, and a consolidation pass after v2.7.0 simplified the architecture they ship.

Outcomes

  • Moved from Paper to Fabric in v2.0.0
  • One installer for Windows, macOS, Linux and Docker
  • An HTTPS world map, clipped to the world border, at map.monkeysmp.lscaturchio.xyz
  • Traced server lag to a permissions mod and removed it in v2.7.0
  • Season I: Saturday 7 November 2026
What I'd do next
  • Publish the client pack on Modrinth once its review allows it.
Details

Built and run a whitelisted, modded Minecraft Java server on Fabric, with hash-pinned mods, a cross-platform installer and a live HTTPS world map.

Automated deploys as a pull: the server polls for tagged releases and updates itself in an overnight window after a backup.