Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
SSP-1.0.0.jar — what's inside, and what you need to run it
This is the file you drop into your server. Everything below describes that one jar: what it contains, what it needs, and what it creates once it starts.
What the file is
| Filename | SSP-1.0.0.jar |
| Size | ~138 KB |
| Type | Bukkit/Spigot server plugin (not a client mod, not a datapack) |
| Contents | 33 compiled classes + plugin.yml + config.yml |
| Bundled libraries | None — nothing is shaded in |
It is a plugin, so it goes in your server's plugins/ folder. Players do
not install anything, and it will not do anything if put in a client mods/
folder.
What you need
Required
| Java 17 or newer | The jar is compiled to Java 17 bytecode (class major version 61). Any server running MC 1.18+ already meets this. |
| A Bukkit-family server | Spigot, Paper, or Purpur. Also works on Bukkit-hybrid loaders (Mohist, Arclight, Cardboard). |
| Minecraft 1.18 → current | Declared api-version: 1.18. Anything newer is reached reflectively at runtime, so one jar covers the whole range. |
| Operator status | The entire /ssp tree is gated behind the ssp.admin permission (default: op). Without it the command reports as nonexistent. |
Fabric and Forge will not load this. They are different mod loaders with no
plugin.yml and no Bukkit entry point. Use a hybrid server if you need it on
one of those.
Optional — both entirely safe to leave uninstalled
| Plugin | What it unlocks | Without it |
|---|---|---|
| SkinsRestorer | A disguised player sees their own new skin instantly, no relog. | Skins still change and everyone else sees them immediately; the wearer needs a relog. |
| Simple Voice Chat | The proximity voice gate — microphones muted unless the speaker holds ssp.voice. |
The voice gate sits idle. Everything else is unaffected. |
Both are detected at startup. Neither is bundled, and a missing one is logged as a normal info line, not an error.
Internet access
The identity scrambler resolves usernames against api.mojang.com and
sessionserver.mojang.com. If your server cannot reach the internet, disguises
will not find identities to use — /ssp random diagnose will tell you so.
Nothing else in the plugin needs network access.
Installing
- Stop the server.
- Drop
SSP-1.0.0.jarintoplugins/. - Start the server. Look for
[SSP] Command /ssp registered.in the console. - Run
/sspin-game as an operator to see the full command list.
To update, replace the jar and restart. Your config.yml is never
overwritten — see the warning below.
What it creates on first run
All inside plugins/SSP/:
| Path | What it holds | Safe to edit by hand? |
|---|---|---|
config.yml |
Settings. Nine sections: unknown-command-message, chat, sign, voice, identity, plotarmor, admin, troll, illusion. |
Yes — then /ssp reload. |
data.yml |
Runtime state: whitelists, bypass lists, bans, timeouts, plot armour, saved disguises. | No — not while the server is running; the plugin overwrites it. |
presets/ |
One .yml per saved inventory preset (/ssp inventory save). |
Not recommended. |
The one gotcha worth knowing
Bukkit never overwrites an existing config.yml. If you have run an older
build and then update the jar, any new settings will be missing from your
file and will silently fall back to their coded defaults.
If a newly documented option seems to do nothing, that is why. Either add the
key by hand, or delete config.yml and restart to regenerate it — data.yml
and presets/ are untouched by that, so you lose no bans, whitelists or
loadouts.
Permissions
| Node | Default | Grants |
|---|---|---|
ssp.admin |
op | The entire /ssp tree. Also implies ssp.admin.inventory. |
ssp.admin.inventory |
op | Only /ssp inventory — so loadout management can be delegated without handing over the rest of the plugin. |
ssp.voice |
nobody | Lets the holder's proximity voice actually be broadcast. Never granted automatically; hand it out through your permissions plugin. |
What the commands are
Nine tabs. Full descriptions are in README.md; the complete per-command list with behaviour notes is in CHANGELOG.md.
| Tab | Purpose |
|---|---|
/ssp chat |
Global chat lockdown and bypass whitelist. |
/ssp sign |
Sign lockdown, enforced three separate ways. |
/ssp random |
Identity scrambler — real skins and usernames from real accounts. |
/ssp plotarmor |
Survival lock: fatal hits never register a death. |
/ssp admin |
Real moderation: bans, timeouts, freeze, vanish, invsee, teleport. |
/ssp troll |
Cosmetic, fully reversible effects. No item loss, no lasting damage. |
/ssp illusion |
Fake output for staging a moment — nothing here is real. |
/ssp inventory |
Global gear presets: save once, deploy to anyone. |
/ssp status, /ssp reload |
Current state, and re-read config.yml. |
Three commands are genuinely destructive and are logged to console on every
use, independent of chat scrollback: /ssp admin clearinventory,
/ssp inventory load onto another player, and /ssp inventory delete.
If something goes wrong
| Symptom | Check |
|---|---|
/ssp says unknown command |
Are you an operator? That message is also what non-ops are designed to see. Run /plugins — green means loaded. |
Plugin missing from /plugins |
It failed to enable. The console has the reason at startup. |
| Disguise applies but you can't see your own skin | Expected on Spigot without SkinsRestorer. Run /ssp random diagnose — the ACTIVE BACKEND: line says which path is in use. |
| A config option seems ignored | Your config.yml predates it. See the gotcha above. |
| Everyone gets re-disguised on login | The global scramble is on. /ssp random disable turns it off. |


