
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.
📖About 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
- Drop the jar in
plugins/and start the server once. - In‑game (as OP), run
/ticketsetupto create the owner account. - Visit
http://<server-ip>:<configured-port>/adminand sign in. - Add admins with
/ticketadmin add <username>. - Players use
/ticketto file tickets and/ticket checkto 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) andADMIN. - 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
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.