Official PaperMC plugin for MCSets SetStore - automatic delivery of store purchases to your Minecraft server.
- Automatic Delivery: Automatically executes commands when purchases are made
- Real-time Notifications: WebSocket support for instant delivery notifications
- Fallback Polling: Automatic fallback to polling if WebSocket is unavailable
- Player Verification:
/verifycommand for players to link their Minecraft accounts - Configurable Logging: Toggle logging for debugging and monitoring
- Offline Queueing: Queue deliveries for offline players
- Minecraft: 1.20.4+
- Server Software: Paper, Purpur, or compatible forks
- Java: 17 or higher
- Download the latest release from releases
- Place the JAR file in your server's
pluginsfolder - Start/restart your server
- Configure your API key in
plugins/SetStore/config.yml
After first run, edit plugins/SetStore/config.yml:
# Your SetStore API key (get from https://mcsets.com/dashboard/servers)
api-key: "your-api-key-here"
# API settings
api:
base-url: "https://mcsets.com/api/v1/setstore"
timeout: 30
# Server identification (auto-detected if empty)
server:
ip: ""
port: 0
# WebSocket for real-time notifications
websocket:
enabled: true
reconnect-delay: 5
max-reconnect-attempts: 5
# Fallback polling
polling:
enabled: true
interval: 60
# Heartbeat to keep server online
heartbeat:
interval: 300
# Delivery settings
delivery:
command-delay: 5
require-online: false
queue-offline: true
# Logging
logging:
level: "INFO"
log-requests: false
log-deliveries: true
log-commands: true
# Debug mode
debug: false| Command | Permission | Description |
|---|---|---|
/verify |
mcsets.verify |
Generate a verification code to link your Minecraft account |
| Command | Permission | Description |
|---|---|---|
/setstore status |
mcsets.admin |
Show connection status |
/setstore queue |
mcsets.admin |
Process pending deliveries |
/setstore reconnect |
mcsets.admin |
Reconnect to SetStore |
/setstore debug |
mcsets.admin |
Toggle debug mode |
/setstore logging [option] |
mcsets.admin |
Configure logging (requests/deliveries/commands/all/none) |
/setstore reload |
mcsets.admin |
Reload configuration |
/setstore help |
mcsets.admin |
Show help |
| Permission | Default | Description |
|---|---|---|
mcsets.verify |
true | Allows using the /verify command |
mcsets.admin |
op | Access to admin commands |
mcsets.notify |
op | Receive delivery notifications |
# Clone the repository
git clone https://github.com/mcsets/mcsets-setstore-plugin.git
cd mcsets-setstore-plugin
# Build with Maven
mvn clean package
# The JAR will be in target/mcsets-setstore-plugin-1.0.0.jarThe plugin communicates with the following SetStore API endpoints:
POST /connect- Register server on startupGET /queue- Fetch pending deliveriesPOST /deliver- Report delivery resultsPOST /online- Report online playersPOST /heartbeat- Keep server marked as onlinePOST /verify- Generate player verification codes
If WebSocket fails to connect, the plugin will automatically fall back to polling. This is normal if your hosting doesn't support WebSocket connections. Check the console for:
[SetStore] WebSocket server not available. Disabling WebSocket and using polling instead.
- Verify your API key is correct in
config.yml - Ensure your server can reach
mcsets.comon port 443 - Check firewall settings
- Run
/setstore statusto check connection - Run
/setstore queueto manually process pending deliveries - Enable debug mode with
/setstore debugfor detailed logs
- Documentation: https://mcsets.com/docs
- Issues: GitHub Issues
- Discord: MCSets Discord
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by MCSets