An open API service indexing awesome lists of open source software.

https://github.com/pablob07/mineplugins-panel

Panel mineplugins-panel for premium plugins of minecraft 1.21+
https://github.com/pablob07/mineplugins-panel

Last synced: 11 days ago
JSON representation

Panel mineplugins-panel for premium plugins of minecraft 1.21+

Awesome Lists containing this project

README

          

# MinePlugins Panel

Minecraft Paper 1.21+ plugin store and licensing system with hardware-based license binding.

## Features

- πŸ“¦ **Product Management** - Upload and manage plugin versions
- πŸ” **License System** - Hardware-bound licenses per server
- πŸ’³ **Payment Gateways** - Tebex and PayPal integration
- πŸ“Š **Analytics** - Track licenses, revenue, and validations
- 🌐 **Public Server Status** - Display live server status on your store
- πŸ”„ **Heartbeat** - Real-time server monitoring

## Requirements

- Node.js 20+
- PostgreSQL database ([Neon](https://neon.tech) recommended)
- Next.js 14/15
- TypeScript

## Environment Variables

Copy `.env.example` to `.env` and fill in your values.

| Variable | Description | Required |
|----------|-------------|----------|
| `DATABASE_URL` | Neon connection string (pooled) | βœ… |
| `DIRECT_URL` | Neon direct connection string (for migrations) | βœ… |
| `NEXTAUTH_SECRET` | Auth secret (generate with `openssl rand -base64 32`) | βœ… |
| `NEXTAUTH_URL` | Your application base URL | βœ… |
| `DISCORD_CLIENT_ID` | Discord OAuth App ID | βœ… |
| `DISCORD_CLIENT_SECRET` | Discord OAuth App Secret | βœ… |
| `PAPER_LICENSE_SECRET` | HMAC secret for license keys | βœ… |
| `TEBEX_STORE_ID` | Tebex store identifier | ❌ |
| `TEBEX_SECRET_KEY` | Tebex secret key for validation | ❌ |
| `PAYPAL_CLIENT_ID` | PayPal client ID | βœ… |
| `PAYPAL_CLIENT_SECRET` | PayPal client secret | βœ… |
| `PAYPAL_WEBHOOK_ID` | PayPal webhook ID for payment confirmation | βœ… |
| `BLOB_READ_WRITE_TOKEN` | Vercel Blob storage token | βœ… |

## Quick Start

### Local Development

```bash
# 1. Install dependencies
npm install

# 2. Setup environment variables
cp .env.example .env

# 3. Generate Prisma client
npx prisma generate

# 4. Run database migrations
npx prisma migrate dev

# 5. Start development
npm run dev
```

Open `http://localhost:3000` to access the panel.

Use `DATABASE_URL` with the Neon pooler for the app runtime, and `DIRECT_URL` for Prisma CLI commands such as `migrate`, `db push`, `db pull`, and `generate`.

## Payment Gateway Configuration

The panel supports multiple payment gateways that can be configured in `Admin -> Payment Settings`:

- **Tebex**: Global payment processor with support for hundreds of local methods.
- **PayPal**: Direct integration for secure checkouts.

Settings can be managed via the administration dashboard, allowing you to toggle gateways and switch between Sandbox and Production modes.

### Deployment (Vercel)

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/PabloB07/mineplugins-panel)

1. **One-Click Deploy**: Use the button above to clone and deploy.
2. **Build Configuration**:
- Framework Preset: Next.js
- Run `npx prisma migrate deploy` after the first deployment.
3. **OAuth Setup**: Configure your Discord redirect URL to `https://your-domain.vercel.app/api/auth/callback/discord`.

## Scripts

```bash
npm run dev # Development server
npm run build # Production build
npm run start # Production server
npm run lint # Lint code
```

## Database Schema

The database includes:

- **Users** - Customer and admin accounts
- **Products** - Plugin products with pricing
- **PluginVersions** - Version management
- **Licenses** - License keys with hardware binding
- **LicenseActivation** - Server activations with hardware hash
- **Orders** - Order management
- **ValidationLog** - Validation history
- **ServerStatus** - Public server status

## Architecture

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Minecraft │────▢│ License │────▢│ Panel β”‚
β”‚ Server │◀────│ Client │◀────│ (API) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

## Related Projects

- [mineplugins-license](https://github.com/PabloB07/mineplugins-license) - License client library
- [mineplugins-wiki](https://github.com/PabloB07/mineplugins-wiki) - Documentation

## License

MIT License - Β© 2026 MinePlugins