Installation
- Download the latest
snchat-v*release from Sn-Releases. - Place the
.jarfile into your server'splugins/folder, together with SnLib and LuckPerms. - Start the server once. SnChat creates
plugins/.Sn-License/license.ymland stops with[Sn] License: FAILin the console. That is expected on a fresh install. - Paste your Sn license key into that file, replacing the placeholder value.
- Restart the server. SnChat validates the key at startup.
The license file is shared by every licensed Sn plugin, so one key unlocks the whole bundle. You only fill it in once per server.
Requires SnLib installed (depend: [SnLib]), version 1.23.0 or later.
The license is checked once, at startup. There are no periodic checks and nothing is disabled later. If the server starts, it stays running.
The check needs outbound HTTPS. A firewalled or offline server shows the same [Sn] License: FAIL line as a wrong key. If your key is correct and the plugin still refuses to enable, check that the server can reach the internet.
Dependencies
| Plugin | Required |
|---|---|
| SnLib | Yes |
| LuckPerms | Yes |
| PlaceholderAPI | No |
SnChat is built against Java 21, as is SnLib. On 1.20.x your server itself has to run a Java 21 runtime. Paper supports it on every 1.20 build, but a server still on Java 17 will not load the plugin. 1.21.x requires Java 21 anyway.
Generated files
config.yml, lang/messages_en.yml and both guis/ files are created before the license is checked, so a failed first boot still leaves them on disk. announcements.yml and blockcommands.yml are created after it, so they appear only once the plugin enables.
data.yml is different: it is player state the plugin writes itself, so it is never seeded or merged and does not exist until the first /snchat alerts.
Read this before your first restart
The command whitelist is on out of the box. command-blocker.enabled defaults to true and blockcommands.yml ships with a populated default group.
From the very first boot:
- every player in the LuckPerms
defaultgroup can only run the commands listed under it; - every group not listed in
blockcommands.ymlfalls back to thedefaultlist, so it is restricted too; - operators hold
snchat.bypass.blockcommandsand notice nothing.
That combination is easy to miss until a player reports it. Either add your groups to blockcommands.yml, or set command-blocker.enabled: false in config.yml.
blockcommands.yml does not exist until the plugin has enabled once. Do this on the restart that follows a successful license check, not on the boot that failed it.