packs-server.properties
Packs Server keeps its settings in /etc/packs/packs-server.properties. It writes the file at its first start, so you don’t have to make it.
Packs Server writes the file again at each start. It keeps every value you set and adds each new setting with its default, so a new version’s settings show up there by themselves. It also writes its own comment above each line, so comments you add yourself don’t stay, and neither do lines it doesn’t know.
Below is the whole file with its default values. Click any setting to see what it does and what it accepts. Most servers only ever change listen.
Packs Server reads the file only when it starts. After you edit it, run systemctl restart packs-server.
listen = 127.0.0.1:7650#
The address where Packs Server listens for Oasis. Put the same address in storage.server.address in Oasis's config. The default only lets in connections from the same machine, which is right when Minecraft runs on that machine and outside a panel.
For Pterodactyl or Pelican, see Pterodactyl and Pelican. For a Minecraft server on another machine, see Packs Server on another machine. The connection over this address is encrypted.
socket = /run/packs/packs-server.sock#
The Unix socket. The packs command talks to Packs Server here, and it reads this line to find the socket. Oasis can use it too, with a unix: address, but only when Minecraft runs as the same user as Packs Server.
Every packs command works through this socket only, never over listen. So whoever can open the socket file can manage Packs Server. The default sits in /run/packs, which belongs to the packs user, so you run packs as root.
data = /var/lib/packs#
Where Packs Server keeps everything. stores/ holds one folder for each store, keys/ holds the keys you made with packs key add, and server.key is Packs Server's own key. The packs user must be able to write here.
Packs Server makes server.key at its first start. If that file is lost, Packs Server makes a new one, and every Minecraft server then needs the new server key in its config. Run packs key server to print it.
read-threads = 6#
How many threads answer lookups and the other reads. All stores share them.
cache-bytes = 67108864#
How much memory each store keeps for the parts of its history it read recently. The default is 64 MiB. Every store has a cache of its own, so three stores can use three times this.
The caches live in Packs Server's memory. If you raise this, give Packs Server more memory too, with PACKS_HEAP.
seal-rows = 65536#
Packs Server writes new history to a journal first, then packs it into its long-term files. That packing is called sealing. A seal starts when this many new rows are waiting.
seal-idle-millis = 5000#
A seal also starts when no new rows arrive for this long, so a quiet server doesn't leave rows in the journal. The default is 5 seconds.
sync-interval-millis = 200#
How often Packs Server makes sure the journal is on disk. The edits that arrive in one interval go to disk together. The default suits most servers. Oasis keeps each batch until Packs Server confirms it is on disk.
merge-bytes-per-second = 33554432#
In the background, Packs Server merges its long-term files into fewer, bigger ones. This is the most it writes for that each second, on average, so the merge doesn't hog the disk. The default is 32 MiB.
merge-rows = 8000000#
The most rows one merged file holds. It keeps the memory a merge needs small.