ValeTickets
ValeTickets intends to make it easy for players to ask for help and for staff to keep track of it. It’s a small plugin with in‑game commands and a tiny web page for staff. I run this in my spare time, so I try to keep it practical and safe.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ValeTickets
ValeTickets - simple ticketing for your server
ValeTickets intends to make it easy for players to ask for help and for staff to keep track of it. It’s a small plugin with in‑game commands and a tiny web page for staff. I run this in my spare time, so I try to keep it practical and safe.
▶️ Quick start
1. Drop the jar in `plugins/` and start the server once. 2. In‑game (as OP), run `/ticketsetup` to create the owner account. 3. Visit `http://<server-ip>:<configured-port>/admin` and sign in. 4. Add admins with `/ticketadmin add <username>`. 5. Players use `/ticket` to file tickets and `/ticket check` to see updates.
If `/admin` returns 401, the owner account may not exist yet or the credentials are wrong.
📖 What it does
- Players can open tickets in chat with a short guided flow. - Staff can view tickets on a small web dashboard. - Optional file uploads (screenshots/logs) with type/size limits. - Simple roles: `OWNER` (can manage accounts) and `ADMIN`. - Basic rate limiting on the public form to reduce spam. - In-game notifications when tickets are updated. - *DiscordSRV integration support planned for future versions.*
🎮 Commands
Players - `/ticket` - start a short guided flow to create a ticket - `/ticket check` - view your tickets and their status
Admins - `/ticketadmin passwd` - change your own password
Owner - `/ticketsetup` - create the first owner account (permission: `valetickets.setup`) - `/ticketadmin add <username>` - add an admin - `/ticketadmin reset <username>` - reset an admin’s password - `/ticketadmin list` - list accounts - `/ticketreload` - reload plugin config and restart the web server (permission: `valetickets.reload`)
Examples - `/ticketadmin add alice` - `/ticketadmin reset bob`
🌐 Web interface
- Public form: `http://<server-ip>:8765/` - Admin dashboard: `http://<server-ip>:8765/admin` - Change password: `http://<server-ip>:8765/change-password`
🔒 Security
- Passwords are hashed with Argon2id. No plaintext, ever. - The plugin ships as a single jar with needed libraries inside.
⚙️ Config
`plugins/ValeTickets/config.yml`
```yml web: enabled: true bind: 0.0.0.0 port: 8765
How to show ticket URLs to players
urlDisplay: mode: "ip" # "ip", "domain", or "custom" domain: "your-server.com" # Used when mode is "domain" customMessage: "Check our website!" # Used when mode is "custom" uploads: enabled: true dir: uploads maxBytesPerTicket: 104857600 # 100 MB total maxBytesPerFile: 10485760 # 10 MB per file allowedTypes: ["png", "jpg", "jpeg", "txt"] rateLimit: windowSeconds: 600 maxTicketsPerWindow: 3 ```
If anything’s unclear, feel free to open an issue. The plugin is intended to be simple to run on a normal Paper server.
This Plugin was built with the use of GPT-5, Gemini 2.5, and Claude Sonnet 4. As such, profiting off this plugin through redistribution or use in servers with P2W features is prohibited. Please see license file for more information.