Revision Difference
receiving-reports#547133
<cat>Play.Hosting</cat>⤶
<title>Receiving player reports</title>⤶
⤶
# Receiving Reports⤶
⤶
When a player makes a report using the F7 dialog that report will be sent to Facepunch, there are also tools to receive these reports for your own custom servers. This should help you quickly respond to issues players encounter when playing on your server.⤶
⤶
#Printing to console⤶
⤶
The simplest way to get notified of player reports is via the `server.printReportsToConsole` convar. This will print into the server console log every time a player makes a report along with a minimal summary of the report (for performance reasons).⤶
⤶
#Sending reports to an external endpoint⤶
⤶
To receive the full report, it's also possible to send a report to an external service using the `server.reportsServerEndpoint` convar. Once a HTTP address is assigned any reports made by a player will be sent in their entirety to the given endpoint. ⤶
⤶
It's recommended to also assign a private password to the `server.reportsServerEndpointKey` convar. This will be included in any reports and can be used to verify the report is legitimate.⤶
⤶
The data is sent as a `Dictionary<string,string>` and the fields are:⤶
⤶
| Key | Value |⤶
| ----------- | ------- |⤶
| data | The JSON formatted report |⤶
| userid | The Steam ID of the player making the report. This is also included in the data field |⤶
| key | If a key is assigned to `server.reportsServerEndpointKey` it will be included here |⤶
⤶
An example of a report:⤶
⤶
```⤶
{⤶
"Subject":"Subject goes here",⤶
"Message":"Message goes here",⤶
"Type":0,⤶
"TargetReportType":null,⤶
"TargetId":null,⤶
"TargetName":null,⤶
"AppInfo":{⤶
"Version":3,⤶
"Build":{⤶
"Date":0,⤶
"Scm":{⤶
"Type":null,⤶
"ChangeId":null,⤶
"Branch":null,⤶
"Repo":null,⤶
"Comment":null,⤶
"Author":null,⤶
"Date":null⤶
},⤶
"Build":{⤶
"Id":null,⤶
"Number":null,⤶
"Tag":null,⤶
"Url":null,⤶
"Name":null,⤶
"Node":null⤶
},⤶
"Valid":false⤶
},⤶
"Name":"COMPUTERNAME",⤶
"Os":"Windows 10 (10.0.0) 64bit",⤶
"Cpu":"Intel(R) Core(TM) i9-9920X CPU @ 3.50GHz",⤶
"CpuCount":24,⤶
"Mem":11049,⤶
"Gpu":"NVIDIA GeForce RTX 2080 Ti",⤶
"GpuMem":11049,⤶
"Arch":"x64",⤶
"UserId":"123456789123456",⤶
"UserName":"USERNAME",⤶
"ServerAddress":"127.0.0.1:28015",⤶
"ServerName":"My Untitled Rust Server",⤶
"LevelName":"Playground",⤶
"LevelPos":"(2.6, 8.5, 44.8)",⤶
"LevelRot":"(1.9, 214.7, 0.0)",⤶
"MinutesPlayed":0,⤶
"Image":""⤶
}⤶
}⤶
```⤶
⤶
The Type field contains the report type (General=0, Bug=1, Cheat=2, Abuse=3, Idea=4). The TargetId and TargetName will be populated with the targeted player in the case of a player report. The Image field will include a Base64 encoded jpg of the screenshot captured by the report dialog when reporting offensive content.