Guide · Updated 28 Sep 2026
How to handle player reports and support tickets on a RedM server
Most new servers take reports in Discord DMs. It works for a week. Then two staff answer the same player, a third never sees the report at all, and nobody can say later who decided what. A ticket system fixes that by giving every report one place, one owner and one history. This guide covers how to set one up in game, how to split the work between staff, and the rules that keep reports fair.
What a report needs to hold
A good report answers four questions without anyone having to ask: what happened, who was involved, where, and when. A player writing in a hurry will not supply all four, so the system should collect them. Where the player stood is the one they forget most, and it is the one staff need first.
Poggy Tickets (Free) is free and does this in game. A player types /ticket (or presses Page Up) and gets two buttons:
- I need help right now. Calls on-duty staff straight away, with no form to fill. For a player stuck under the map, not a rules dispute.
- Send a ticket. A short form: the kind of issue, how urgent it is, and what happened. For a report, the player picks the other player from a list of everyone within 100 metres (owners can change that to everyone online, or to server ids), and can add a video link. The player's position is saved with the ticket.
If no staff are online, the player is told so and the ticket is kept for later. While they type, the form suggests answers to questions that were solved before and shows the expected wait, which quietly closes the easy ones before they are sent.
Answering: one owner per ticket
Staff open the panel with /tickets (or Home). Each ticket shows its age, whether the player is online, and its kind. The rule that matters most: claim before you answer. A claimed ticket has one owner, so two staff never answer the same player with two different decisions.
From a ticket, staff can:
- Answer in a chat that the player sees as a conversation, with a pop-up and a sound when it moves.
- Use one of eight ready-made replies for the questions you answer every day.
- Write internal notes that other staff see and the player never does. They are removed on the server before anything is sent to the player.
- Assign it to someone, or escalate it to another role when it needs more power than the person holding it.
- Teleport to the player or to where the ticket was sent from.
Tickets do not rot. After 24 hours with no reply from the player they get a nudge, and after 48 hours the ticket closes itself.
Roles: who sees what
A helper answering "how do I craft a rope" should not see a report about a moderator. Poggy Tickets starts with four roles, Admin, Mod, Helper and Developer, and each is a row you can edit: 18 powers, which ticket kinds it sees, which staff chat rooms it reads, and whether it hears help requests. Admin is locked and framework admins hold it automatically. Roles are edited in the panel or in /poggy, with no restart.
A simple split that works on most servers:
| Role | Sees | May |
|---|---|---|
| Helper | Questions and bugs | Answer, close, use ready-made replies |
| Mod | Everything but reports about staff | Warn, kick, short bans, teleport |
| Admin | Everything | Long and permanent bans, archive, roles |
| Developer | Bugs | Answer and close |
Staff also get a chat room per role (never saved), /staffduty to go on and off duty, and /invis, which is logged. For seeing where staff and players are, the free Admin Blips (Free) adds map blips for admins.
Warn, kick, ban: a ladder, not a mood
The fastest way to lose a community is inconsistent punishment. Write a ladder down and use it. Poggy Tickets suggests one on every player's record: warn, warn, kick, ban for a day, ban for a week, permanent. Warnings stop counting after 90 days. You can act from a ticket, or with no ticket through /mod [id], the Players tab or /poggy.
- A warning is full screen and the player has to acknowledge it. If they are offline it waits for their next login, so "I never saw it" stops being an answer.
- Every action needs a reason, and reporters are never named.
- Bans are account bans kept by Poggy Core (Free), so they follow the player to every character and still hold if the ticket script is stopped. How to stop banned players coming back covers what a ban matches and the shared ban network.
Staff can also add notes to a player and put them on a watch list, which is where a pattern of small things becomes visible.
Discord, without the DMs
Set a webhook in the config and each ticket becomes one Discord post that is edited as it moves: red when opened, amber when claimed, green when closed. It is never deleted. Each ticket kind can go to its own channel, and each staff chat room can have its own webhook. Player text in those posts cannot ping anyone, so a report cannot be used to spam @everyone.
There is also an optional web panel, off by default, that lets players read their tickets and staff answer them from a browser at poggy.app/tickets. Turning it on sends copies of open tickets to a relay, which keeps them while the ticket is open and for 7 days after it closes; turning it off makes the relay forget your community at once. Leave it off until you want it.
Rules that keep reports fair
- Nobody handles a report about themselves or a friend. Escalate it.
- Clips beat stories. Ask for the video link before deciding a report with no witnesses.
- Decide on the evidence, write the reason, then act. The reason is for the next staff member, not for the player.
- Answer the player even when the answer is "no action". A closed ticket with no reply reads as being ignored.
- Limit how often tickets can be sent. Poggy Tickets allows one ticket every 15 minutes, two open at a time, and one help call every 5 minutes, which is enough for real problems and too little for spam.
Installing it
Poggy Tickets needs Poggy Core (Free) and oxmysql, and OneSync for the teleport buttons. The tables are created on first start. Put it after poggy_core in server.cfg; how to install a RedM script has the start order. RedM admin tools covers the rest of the staff kit: txAdmin, ACE permissions and framework admin menus.



























