Skip to content

Features

Salmon keeps Paper’s plugin foundation and adds a focused layer of optimization and operator tooling on top. Every section below is marked as a safe default or an option that can change your world — read the caveats before you flip a switch.

Safe default

Per-chunk spawn caps

Limits newly spawned primed TNT and hostile, passive, water, and ambient entities on a per-chunk basis. Starter caps are 16 primed TNT, 32 hostile mobs, 64 passive creatures, 48 water creatures, and 16 ambient creatures per chunk.

Caps apply only to new spawns; they never remove entities already present in a chunk. Set an individual cap to 0 to disable it.

Opt-in, destructive

Persistent hostile-mob cleanup

An optional job that can permanently remove matching hostile entities, with controls for entity age, type, distance from players, and protection rules.

Disabled by default. Because removals are permanent, back up your world and review the matching rules carefully before enabling it.

Observational

Plugin execution metrics

Reports slow plugin event handlers and scheduled Bukkit tasks so you can see what’s costing tick time.

Metrics are read-only: Salmon does not kill, restart, or rewrite plugins, and it never guarantees that a given plugin is compatible or bug-free.

Configurable

Redstone optimization

Uses Paper’s Alternate Current implementation by default, which improves redstone dust update throughput on large circuits.

Alternate Current can change update order and affect timing- or location-sensitive contraptions. Choose eigencraft, vanilla, or paper instead in config/salmon-opts.yml if that matters more than raw throughput.

Safe default

MOTD Builder

Reads MOTD templates from salmon.yml and overrides the server.properties MOTD. Supports & color codes and {online} / {max} placeholders, with separate lines for maintenance mode.

Operator-managed

SMP maintenance mode

Toggle with /smp maintenance on|off. Maintenance uses its own dedicated name/UUID allowlist, separate from Minecraft’s normal server whitelist.

Allowlist your staff before enabling maintenance, or they will be locked out along with everyone else.

Operator tool

/salmon commands

Status, script reload, and optional Modrinth plugin search/install, run as an operator or with the salmon.command permission.

Installed plugins require a server restart. Third-party plugins are code — review them before installing.

Console authority

Salmon Scripts (.slms)

Trusted, English-like scripts placed in salmon-scripts/, run at startup in filename order or reloaded via /salmon scripts reload.

Script commands run with console authority and can modify worlds. Treat .slms files as executable, trusted configuration — only run scripts you wrote or reviewed.

For plugin authors

SalmonAPI

A Salmon-specific API that lets plugins register functions callable from .slms scripts and offload asynchronous or background work.

Not present on an unmodified Paper server — plugins built against SalmonAPI expect Salmon specifically.

Operator-initiated

Modrinth plugin services

/salmon modrinth search and /salmon modrinth install search and install Paper/Spigot plugin projects from Modrinth.

Installed plugins require a restart. Review a project and its dependencies before installing it on a live server.

Prepares, doesn't run

Chunky pregeneration setup

Salmon can download and prepare a compatible Chunky plugin through Modrinth so Paper discovers it normally.

Salmon does not perform chunk pregeneration itself — Chunky runs the job once installed.

None of this promises a specific outcome

Optimization behavior is configurable, and third-party plugin compatibility is never guaranteed. Salmon does not promise a specific TPS gain, universal stability, zero lag, or automatic recovery. Test destructive options and scripts on a copy of your server with world backups in place first. See the Salmon Scripts guide for the full scripting security notes.