pReport - Player Reporting System

pReport - Player Reporting System

Hey facepunch, I haven’t really contributed to the community besides posting in the questions sub forum. That being said I thought I would make this small idea I had so that owners can have more control over their servers and know what users are violating rules (given the fact that somebody reports them :p).

So, I coded a small little script called pReport that allows users to report other users for violating server rules. Here are some screenshots!

the main form (accessed by running the console command pReport_menu)

here is the confirmation window, so you don’t misspell a users name and report a non-existing name!

and here is where admins can view reported users

The code is a bit messy, it was a little under a half hours worth of work however it works fine. Feel free to post in the thread with things you wanted added/with things that need fixed. Thanks for taking the time to check this out guys :v:

wtf, only client code.
read and write file only on client?

Would be nice if you could call up the menu with just “!report” in the chat. This will be helpful

Great looking interface, will download.


Why do you have to enter your name? Seems abusable

In my opinion, you should store all reports server side, perhaps in sqlite, or mysql?
You could then have commands which admins could search for reports based on SteamID, or name of report-ee?
You could also notify all admins on player connect, if that player has any negative reports, and print them to console or something. That way, it won’t disrupt gameplay, and admins can check up on the joining player when they need to.

Why do you store reports on the client?

Quality release.

Loaked in teh code and :psyboom:


Saving file on the client side is bad and useless

[lua]file.Append(“pReport_reported_users.txt”, "Offender: “…offender…”
Victim: “…victim…”
Reason for Reporting: “…reason…”
Time and Date of incident: “…time…”
Description from Victim: “…description…”


use concommand.Add on the server and RunConsoleCommand on the client instead

This was a quick thing guys, I didn’t really think lots of people would use it. If you want me to add SQL/SQLite compatability I can do so

For entering the users name, just make a dropdown list of all players except you.
Where it says your name, either remove that, and log it somewhere else where the client can’t touch it, or make a text box that isn’t removable, and it has the clients name in there.

I hope that you don’t have to type in the time and date. It should popup the time when you opened the menu, and live update.

I will be recoding this tonight, adding server SQL saving, autofilling for each text box( local name, time ). I will also be cleaning the code.