Installation
Requirements
| Java | 21 or newer |
| Server | Paper 1.20 or newer |
| Required | SnLib.jar (SnLib 1.27.0 or newer) |
| Optional | Vault, PlaceholderAPI |
| Database | SQLite (default, no setup) or MySQL |
| License | Yes - SnGifts is part of the licensed bundle |
The jar is compiled for Java 21. A server still running Java 17 refuses to load it, so move the server to Java 21 first.
The SnLib floor is not a soft warning. The required API level is compiled into this jar, so SnGifts
refuses to enable on any server whose SnLib.jar is older than 1.27.0, and reports it in the
console. Update SnLib.jar before you drop SnGifts in.
Steps
- Download
SnGifts-<version>.jarfrom the releases page (tags prefixedsngifts-). - Put it in
plugins/, together withSnLib.jar. - Start the server. SnGifts writes its files, creates
plugins/.Sn-License/license.ymland then disables itself, because that file still holds a placeholder. - Paste your bundle key on the first non-comment line of
plugins/.Sn-License/license.yml. - Restart the server. SnGifts validates the key at startup.
- Edit
plugins/SnGifts/config.ymlandplugins/SnGifts/rewards.yml, then run/gifts reload.
One key unlocks the whole bundle. plugins/.Sn-License/license.yml is shared by every Sn bundle
plugin on the server, so if you already run one of them the file exists and SnGifts reads the key
that is already there. Nothing to paste twice.
The key is checked once, at startup. SnGifts refuses to enable without a valid one, so the server
log is the place to look if the plugin is missing from /plugins.
Updating SnLib always needs a full restart, never a /reload.
First boot
plugins/
.Sn-License/
license.yml your bundle key - shared by every Sn bundle plugin on this server
SnGifts/
config.yml tiers, reset clock, claim limits, playtime, database, sounds
rewards.yml the reward pool every tier draws from
guis/
gifts.yml the layout, the templates and the info item of the gifts menu
lang/
messages_en.yml every line the plugin sends to players and admins
database.db SQLite database, when database.type is sqliteNothing has to be created by hand. Every file above is written on first boot.
The shipped rewards.yml gives diamonds, emeralds and a vault:500 payout as examples. Replace
them with commands your server actually has before you let players claim.
Dependencies
| Plugin | Required |
|---|---|
| SnLib | Yes |
| Vault | No |
| PlaceholderAPI | No |
Updating
Replace the jar and restart. New keys are merged into your config.yml, lang/messages_en.yml and
guis/gifts.yml on boot, and your values, comments and additions are preserved. Tiers you deleted
under gifts.tiers stay deleted.
rewards.yml is yours. SnGifts writes it once on first boot and never touches it again, so nothing
is ever merged into your reward pool.