elite*gold: 0
Join Date: Feb 2019
Posts: 434
Received Thanks: 137
|
Facepunch API endpoints
I released this information at — 2026-04-17 19:12 in my discord server, I only saw 1 thread after my first release and it was on another forum. I have been pretty busy in real life so I have not really been that active on EPVP but I decided today to make a write-up about it.
It's no secret that Facepunch themselves are hiring in-house Anti Cheat programmers and even offer penetrator testers to help them through platforms like HackerOne
They have been doing this for a while now, however I decided to make a MITM proxy running on a raspberry PI model B intercepting HTTP/HTTPS traffic and dumping everything Facepunch is actively grabbing through their endpoints and there is some very interesting information in these endpoints
The endpoints are
api.facepunch.com
rust-api.facepunch.com
Endpoint 1 (/api/public/feedback/report/)
This get sent when you F7 report someone ingame on any server
Code:
{
"endpoint": "POST /api/public/feedback/report/",
"params": {
"public_key": "REDACTED"
},
"report": {
"Subject": "[cheat] 1",
"Message": "1",
"Type": 2,
"TargetReportType": "cheat",
"TargetId": "REDACTED",
"TargetName": "REDACTED",
"TargetEntity": null,
"UsersInRange": null,
"AppInfo": {
"UserName": "REDACTED",
"UserId": "REDACTED",
"GpuMem": "REDACTED",
"Mem": "REDACTED",
"Version": 3,
"ServerAddress": "REDACTED",
"ServerName": "REDACTED",
"ServerVersion": "REDACTED",
"Name": "REDACTED",
"LevelName": "Procedural Map",
"LevelPos": "REDACTED",
"LevelRot": "REDACTED",
"CpuCount": "REDACTED",
"Cpu": "REDACTED",
"Gpu": "REDACTED",
"Os": "REDACTED",
"Arch": "REDACTED",
"MinutesPlayed": 3,
"Image": null,
"Build": {
"Valid": true,
"Build": {
"Name": "Rust-Client-release",
"Url": "https://build.facepunch.com/job/Rust-Client-release/24/",
"Id": "24",
"Node": "SVR-RUST-BS-03",
"Number": "24",
"Tag": "jenkins-Rust-Client-release-24"
},
"Date": 1776410850,
"Scm": {
"Comment": "",
"Type": "PlasticScm",
"Author": "",
"ChangeId": "148916",
"Date": "17/04/2026 08:27:30",
"Repo": "rust_reboot",
"Branch": "release"
}
}
}
},
"userid": "REDACTED",
"token": "REDACTED",
"config": {
"accessibility": {
"allynametagcolour": "0",
"buildingblockedzonecolour": "0",
"clannametagcolour": "0",
"disablemovementininventory": "False",
"enemynametagcolour": "0",
"healthbarcolour": "0",
"holosightcolour": "0",
"hungerbarcolour": "0",
"hydrationbarcolour": "0"
},
"audio": {
"master": "0",
"game": "1",
"ui": "1",
"voices": "1",
"musicvolume": "0",
"musicvolumemenu": "0",
"speakers": "2"
},
"graphics": {
"fov": "90",
"drawdistance": "500",
"vsync": "0",
"renderscale": "1",
"shadowmode": "3",
"lodbias": "0.7",
"dlss": "-1",
"dlaa": "False",
"dof": "False",
"bloom": "False",
"motionblur": "False",
"contactshadows": "False",
"grassshadows": "False",
"volumetric_clouds": "0",
"screenmode": "1",
"resolution": "6",
"uiscale": "1"
},
"fps": {
"limit": "240",
"limitinbackground": "False",
"limitinmenu": "False"
},
"input": {
"sensitivity": "1",
"ads_sensitivity": "1",
"flipy": "False",
"toggleads": "False",
"toggleduck": "False",
"alwayssprint": "False",
"pushtotalk": "True"
},
"crosshair": {
"color": "6",
"style": "1",
"dotsize": "1.7",
"length": "7",
"width": "2",
"spacing": "1",
"outline": "False",
"dynamic_spacing": "True",
"dynamic_visibility": "False"
},
"global": {
"language": "en",
"streamermode": "False",
"showblood": "False",
"richpresence": "False",
"censornudity": "2",
"perf": "5"
}
},
"keybinds": {
"tab": "inventory.toggle",
"return": "chat.open",
"space": "+jump",
"1": "+slot1",
"2": "+slot2",
"3": "+slot3",
"4": "+slot4",
"5": "+slot5",
"6": "+slot6",
"7": "+holsteritem",
"a": "+left",
"b": "+gestures",
"c": "~fov 30;fov 90",
"d": "+right",
"e": "+use;+nextskin",
"f": "lighttoggle;+focusmap",
"g": "+map",
"h": "+hoverloot",
"j": "clan.toggleclan",
"m": "+firemode",
"n": "inventory.examineheld",
"p": "+pets",
"q": "+prevskin;no_input",
"r": "+reload",
"s": "+backward",
"t": "chat.open",
"v": "+voice",
"w": "+forward",
"x": "swapseats",
"y": "forward;sprint",
"mouse0": "+attack",
"mouse1": "+attack2",
"mouse2": "+attack3",
"mouse3": "+ping",
"mouse4": "+hoverloot",
"mousewheelup": "+invprev",
"mousewheeldown": "+invnext",
"leftshift": "+sprint",
"leftcontrol": "+duck",
"leftalt": "+altlook",
"f1": "consoletoggle",
"f2": "legacyconsoletoggle"
}
}
Endpoint 2 (/api/public/analytics/rust/client)
Acts like a heartbeat packet
Code:
[2026-04-17T19:13:03.162044] POST /api/public/analytics/rust/client
CONTENT-TYPE: application/json; charset=utf-8
BODY: [
{
"Timestamp": "2026-04-17T17:13:00.2750410Z",
"Data": {
"type": "client_performance",
"guid": "REDACTED",
"environment": "release",
"session_id": "REDACTED",
"time_of_day": "625789745837330000",
"connected_time": "639.3717914",
"server_session_id": "REDACTED",
"server_index": "1",
"instanced_rendering": "false",
"draw_count": "0",
"current_texture_memory": "3429245901",
"desired_texture_memory": "3411850789",
"non_streaming_memory": "3090197520",
"non_streaming_count": "4203",
"streaming_upload_count": "1241",
"streaming_texture_count": "8665",
"streaming_loading_count": "0",
"streaming_pending_count": "0",
"streaming_renderer_count": "15767",
"target_texture_memory": "3429245901",
"total_texture_memory": "22157987341",
"friends_menu_open_count": "0",
"friends_messages_sent": "0",
"friends_messages_received": "0",
"friends_invites_sent": "0",
"friends_invites_received": "0",
"friends_invites_accepted": "0",
"friends_discord_link_state": "none",
"modified_convars": {
"app.serverid": "REDACTED",
"audio.master": "0",
"audio.musicvolume": "0",
"audio.musicvolumemenu": "0",
"client.allowdiscordprovisionalaccount": "False",
"client.hasdeclinedtutorial": "True",
"client.headbob": "False",
"client.hurtpunch": "False",
"client.map_marker_autoname": "False",
"copypaste.drawselection": "True",
"debug.skyreflection": "True",
"decor.quality": "40",
"effects.antialiasing": "0",
"effects.ao": "False",
"effects.bloom": "False",
"effects.creationeffects": "False",
"effects.hurtoverlay": "False",
"effects.hurtoverleyapplylighting": "False",
"effects.lensdirt": "False",
"effects.maxgibs": "0",
"effects.motionblur": "False",
"effects.shafts": "False",
"effects.vignet": "False",
"env.cloudrotation": "290.8498",
"env.nightlight_debugcamera_enabled": "False",
"gc.buffer": "4096",
"gc.enabled": "True",
"global.censornudity": "2",
"global.perf": "5",
"global.richpresence": "False",
"global.showblood": "False",
"graphics.drawdistance": "500",
"graphics.fov": "90",
"graphics.lodbias": "0.7",
"graphics.resolution": "6",
"graphics.screenmode": "1",
"graphics.shaderlod": "2",
"graphics.shadowmode": "3",
"graphics.vm_fov_scale": "False",
"graphics.volumetric_clouds": "0",
"graphicssettings.anisotropicfiltering": "0",
"graphicssettings.billboardsfacecameraposition": "False",
"graphicssettings.particleraycastbudget": "256",
"graphicssettings.pixellightcount": "0",
"graphicssettings.shadowqualitypreset": "1",
"graphicssettings.softparticles": "False",
"grass.quality": "40",
"mesh.quality": "75",
"particle.quality": "40",
"reports.exceptionreportmaxlength": "600",
"server.tutorialenabled": "True",
"terrain.quality": "40",
"tree.meshes": "45",
"tree.quality": "75",
"water.quality": "0",
"water.reflections": "0",
"weather.clear_chance": "0.9",
"weather.fog_chance": "0.03",
"weather.overcast_chance": "0.03",
"weather.rain_chance": "0.08",
"weather.storm_chance": "0.02",
"crosshair.color": "6",
"crosshair.dynamic_visibility": "False",
"crosshair.style": "1",
"drone.maxcontrolrange": "600",
"gametip.showgametips": "False",
"ioentity.allow_on_boats": "True",
"lookattooltip.crosshairmode": "2",
"rgbeffects.brightness": "0",
"rgbeffects.enabled": "False"
},
"command_line": "\"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Rust\\RustClient.exe\" \"-logfile\" \"output_log.txt\" \"-timestamps\" \"-disable-gpu-skinning\" \"-graphics.dlss\" \"1-\" ",
"lag_spike_count": "7",
"lag_spike_no_gc_count": "6",
"lag_spike_threshold": "0.1",
"gc_count": "1",
"ram_managed": "1508659200",
"ram_total": "12696",
"uptime": "724",
"map_url": "REDACTED",
"world_size": "REDACTED",
"world_seed": "REDACTED",
"world_ts": "REDACTED",
"active_scene": "Procedural Map",
"is_official": "true",
"time_talking": "0",
"language": "en",
"graphics_settings": {
"render_scale": "1",
"nvidia_dlss": "-1",
"shadow_quality_preset": "1",
"shadow_quality": "1",
"shadow_cascades": "2",
"max_shadow_lights": "1",
"water_quality": "0",
"water_reflections": "0",
"shader_level": "2",
"draw_distance": "500",
"shadow_distance": "180",
"anisotropic_filtering": "1",
"parallax_mapping": "0",
"grass_displacement": "True",
"grass_shadows": "False",
"nvidia_reflex": "-1",
"particle_quality": "40",
"object_quality": "75",
"tree_quality": "75",
"max_tree_meshes": "45",
"terrain_quality": "40",
"grass_quality": "40",
"decor_quality": "40",
"anti_aliasing": "0",
"ambient_occlusion": "False",
"bloom": "False",
"lens_dirt": "False",
"motion_blur": "False",
"sun_shafts": "False",
"sharpen": "True",
"vignet": "False",
"occlusion_culling": "True",
"contact_shadows": "False",
"toggle_culling": "True",
"fps_limit": "240",
"vsync": "0",
"fps_limit_background": "False",
"fps_limit_menu": "False",
"field_of_view": "90",
"screen_x": "1920",
"screen_y": "1080",
"resolution_x": "1920",
"resolution_y": "1080",
"refresh_rate": "180",
"fullscreen": "1",
"physics_steps": "32",
"physics_maxsteps": "2",
"sensitivity": "1",
"ui_scale": "1",
"ui_inventory_player": "True",
"audio_master": "0",
"audio_music": "0",
"audio_music_menu": "0",
"audio_voices": "1",
"audio_game": "1",
"audio_instruments": "1",
"audio_voice_props": "1",
"audio_events": "1",
"audio_speakers": "2",
"encryption": "2"
},
"server_address": "REDACTED",
"era": "None",
"steam_id_hash": "REDACTED=",
"hardware": {
"device_name": "DESKTOP-REDACTED",
"device_hash": "REDACTED=",
"gpu_name": "REDACTED",
"gpu_ram": "REDACTED",
"gpu_vendor": "ATI",
"gpu_version": "Direct3D 11.0 [level 11.1]",
"gpu_shader_level": "50",
"gpu_max_buffer_size": "REDACTED",
"gpu_device_version": "Direct3D 11.0 [level 11.1]",
"cpu_cores": "12",
"max_compute_work_size": "1024",
"max_compute_work_size_x": "1024",
"max_compute_work_size_y": "1024",
"max_compute_work_size_z": "64",
"cpu_frequency": "3993",
"gpu_max_texture_size": "16384",
"cpu_name": "REDACTED",
"system_memory": "REDACTED",
"os": "REDACTED",
"supports_compute_shaders": "True",
"supports_async_compute": "False",
"supports_async_gpu_readback": "True",
"supports_3d_textures": "True",
"supports_instancing": "True"
},
"application": {
"unity": "2022.3.41x1",
"changeset": "148916",
"branch": "release",
"network_version": "2623",
"eos_sdk": "1.19.0.3-49960398",
"eos_enabled": "true",
"eos_supported_system_config": "18",
"eos_tpm": "false",
"eos_secureboot": "true",
"eos_hvci": "false",
"eos_iommu": "false"
},
"flush_ms": "1",
"gpu_frametime_average_ms": "8.63498777281508",
"total_time": "599.4445754",
"frames": "66608",
"frametime_average": "0.00899958826867643",
"frametime_99_9": "0.0314012",
"frametime_99": "0.0132436",
"frametime_90": "0.0101887",
"frametime_75": "0.0094682",
"frametime_50": "0.0087782",
"frametime_25": "0.0081794",
"frametime_10": "0.0076851",
"frametime_1": "0.0071787",
"frametime_0_1": "0.0069931",
"frametime_std_dev": "3.59987918210651",
"inventory_total_time": "0.4319574",
"inventory_frames": "38",
"inventory_frametime_average": "0.0113673",
"inventory_frametime_99_9": "0.0359414",
"inventory_frametime_99": "0.0359414",
"inventory_frametime_90": "0.0161867",
"inventory_frametime_75": "0.0104014",
"inventory_frametime_50": "0.0097672",
"inventory_frametime_25": "0.0092997",
"inventory_frametime_10": "0.0091147",
"inventory_frametime_1": "0.0089021",
"inventory_frametime_0_1": "0.0089021",
"inventory_frametime_std_dev": "5.49019533108919",
"gc_generations": "0",
"gc_total": "38",
"ping_average": "29",
"ping_count": "120"
}
}
]
The analytics packet is an interesting one cause it contain a lot of information from user-mode from your computer and even game information such as keybinds, active console commands
Hardware packet
Code:
"hardware": {
"device_name": "DESKTOP-REDACTED",
"device_hash": "REDACTED=",
"gpu_name": "REDACTED",
"gpu_ram": "REDACTED",
"gpu_vendor": "ATI",
"gpu_version": "Direct3D 11.0 [level 11.1]",
"gpu_shader_level": "50",
"gpu_max_buffer_size": "REDACTED",
"gpu_device_version": "Direct3D 11.0 [level 11.1]",
"cpu_cores": "12",
"max_compute_work_size": "1024",
"max_compute_work_size_x": "1024",
"max_compute_work_size_y": "1024",
"max_compute_work_size_z": "64",
"cpu_frequency": "3993",
"gpu_max_texture_size": "16384",
"cpu_name": "REDACTED",
"system_memory": "REDACTED",
"os": "REDACTED",
"supports_compute_shaders": "True",
"supports_async_compute": "False",
"supports_async_gpu_readback": "True",
"supports_3d_textures": "True",
"supports_instancing": "True"
},
EOS information
Code:
"application": {
"unity": "2022.3.41x1",
"changeset": "148916",
"branch": "release",
"network_version": "2623",
"eos_sdk": "1.19.0.3-49960398",
"eos_enabled": "true",
"eos_supported_system_config": "18",
"eos_tpm": "false",
"eos_secureboot": "true",
"eos_hvci": "false",
"eos_iommu": "false"
},
They also log stuff as, is_official, time_talking, graphics_settings, modified_convars
modified_convars is very interesting cause they could potentially tell that you are using an external/dma/internal cheat if you have example noclip enabled, godmode enabled, fov value changes
Modified Convars
Code:
"modified_convars": {
"app.serverid": "REDACTED",
"audio.master": "0",
"audio.musicvolume": "0",
"audio.musicvolumemenu": "0",
"client.allowdiscordprovisionalaccount": "False",
"client.hasdeclinedtutorial": "True",
"client.headbob": "False",
"client.hurtpunch": "False",
"client.map_marker_autoname": "False",
"copypaste.drawselection": "True",
"debug.skyreflection": "True",
"decor.quality": "40",
"effects.antialiasing": "0",
"effects.ao": "False",
"effects.bloom": "False",
"effects.creationeffects": "False",
"effects.hurtoverlay": "False",
"effects.hurtoverleyapplylighting": "False",
"effects.lensdirt": "False",
"effects.maxgibs": "0",
"effects.motionblur": "False",
"effects.shafts": "False",
"effects.vignet": "False",
"env.cloudrotation": "290.8498",
"env.nightlight_debugcamera_enabled": "False",
"gc.buffer": "4096",
"gc.enabled": "True",
"global.censornudity": "2",
"global.perf": "5",
"global.richpresence": "False",
"global.showblood": "False",
"graphics.drawdistance": "500",
"graphics.fov": "90",
"graphics.lodbias": "0.7",
"graphics.resolution": "6",
"graphics.screenmode": "1",
"graphics.shaderlod": "2",
"graphics.shadowmode": "3",
"graphics.vm_fov_scale": "False",
"graphics.volumetric_clouds": "0",
"graphicssettings.anisotropicfiltering": "0",
"graphicssettings.billboardsfacecameraposition": "False",
"graphicssettings.particleraycastbudget": "256",
"graphicssettings.pixellightcount": "0",
"graphicssettings.shadowqualitypreset": "1",
"graphicssettings.softparticles": "False",
"grass.quality": "40",
"mesh.quality": "75",
"particle.quality": "40",
"reports.exceptionreportmaxlength": "600",
"server.tutorialenabled": "True",
"terrain.quality": "40",
"tree.meshes": "45",
"tree.quality": "75",
"water.quality": "0",
"water.reflections": "0",
"weather.clear_chance": "0.9",
"weather.fog_chance": "0.03",
"weather.overcast_chance": "0.03",
"weather.rain_chance": "0.08",
"weather.storm_chance": "0.02",
"crosshair.color": "6",
"crosshair.dynamic_visibility": "False",
"crosshair.style": "1",
"drone.maxcontrolrange": "600",
"gametip.showgametips": "False",
"ioentity.allow_on_boats": "True",
"lookattooltip.crosshairmode": "2",
"rgbeffects.brightness": "0",
"rgbeffects.enabled": "False"
},
|