The goal of this document is to describe the hardware and software configuration of the Jaunty server for future reference.
Revision: 01.2025
Jaunty is hosted on a DigitalOcean Droplet — one of their cloud-hosted virtual private servers. In the interest of accommodating every player as much as possible, the server is hosted in DO's NYC3 region. The current hardware is as follows:
CPU: DO Regular, 8 vCPU cores RAM: 16GB Disk (SSD): 155GB
At the very base level, Jaunty runs on Ubuntu 24.10 and version 6.11.0-13-generic of the Linux kernel. Remote access is done via SSH, which has been configured to disallow root login and the use of password authentication. A separate user account has been created and added to the sudo group; the server process runs under this.
Jaunty uses fish as a shell, trading portability for a generally better syntax over other shells.
config.fish
set -gx EDITOR vimEditing configurations, scripts, etc is all done using the stock version of vim that comes with 24.10.
.vimrc
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtabJaunty's choice of backup tool is rclone; currently v1.60.1-DEV is installed. Backups of the server are taken nightly and synced to a Backblaze B2 bucket. Files within the bucket are retained for 3 days before being purged. See #docker for the script.
Historically, a lot of tutorials would suggest using screen or tmux to keep long-lived processes (e.g. Minecraft servers) running while disconnected. This always felt very janky to me; I never liked doing it. Nowadays, I would argue the most common method would be to run the server in a container.
docker is Jaunty's chosen method of maintaining the server process. It does not come pre-installed with Ubuntu, but it can be installed by configuring apt to use Docker's sources1. We also make a point to install the compose and buildx plugins as well. We're running version 27.4.1 of the engine and client.
As per mentioned, the server is ran with Docker. The itzg/minecraft-server image has become the defacto standard in recent years due to its extensive configuration and excellent support. Rather than the vanilla server, we use Paper — a fork of Spigot, which is in turn a fork of Bukkit. Paper is pretty opinionated in its decisions, but the performance boost it brings to the table is substantial. Beyond Paper, there's also a few plugins installed:
- Chunky — automatically generates chunks in a radius
- Simple Voice Chat — implements proximity-based voice chat into the game
- AxGraves — places a "grave" in the world upon player death