{"id":22072,"date":"2026-06-11T12:22:58","date_gmt":"2026-06-11T12:22:58","guid":{"rendered":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/"},"modified":"2026-06-11T12:22:58","modified_gmt":"2026-06-11T12:22:58","slug":"fivem-screenshot-basic-discord-logs-guide","status":"publish","type":"post","link":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/","title":{"rendered":"FiveM screenshot-basic: Sending Screenshots to Discord"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you run a FiveM roleplay server, being able to capture what a player sees at any moment is one of the most practical moderation tools available. Whether you are catching modders mid-exploit, documenting a report, or auto-logging suspicious behaviour, <strong>screenshot-basic<\/strong> is the go-to developer resource for the job. This guide walks through a complete installation, shows you how to pipe screenshots straight into a Discord channel via webhook, explains the server-side API for anti-cheat scripts, and covers the most common pitfalls.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What screenshot-basic Actually Is<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/citizenfx\/screenshot-basic\" target=\"_blank\" rel=\"noopener\">screenshot-basic<\/a> is an official Cfx.re resource maintained under the <code>citizenfx<\/code> GitHub organisation. It uses the same WebGL\/OpenGL ES render-target calls that power the game view plugin, wrapping them with Three.js to copy the frame buffer asynchronously through NUI. The result is a base64 data URI (or a server-saved file) of exactly what the player sees on their screen at that instant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One important caveat before you dive in: <strong>screenshot-basic exposes no end-user commands on its own<\/strong>. It is a developer API only \u2014 a library that other resources call through exports. You will need either a companion resource (such as <code>discord-screenshot<\/code> by jaimeadf) or your own Lua\/JS code to trigger screenshots and deliver them somewhere useful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 \u2014 Install screenshot-basic<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Clone the repository directly into your resources folder. The convention is to put community or local resources inside a named sub-folder so they do not clash with cfx-server-data assets.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/path\/to\/server\/resources\/[local]\ngit clone https:\/\/github.com\/citizenfx\/screenshot-basic.git screenshot-basic<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then add it to your <code>server.cfg<\/code> so it starts before any resource that depends on it:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ensure screenshot-basic<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">No build step is required when cloning from master \u2014 the compiled output in <code>dist\/<\/code> is committed to the repository. If you ever modify the TypeScript source, you will need Node.js, Yarn, and Webpack to rebuild.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 \u2014 Understand the Three Exports<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">screenshot-basic exposes three exports. Knowing which one to use for which job saves a lot of trial and error.<\/p>\n\n\n\n<table class=\"wp-block-table is-style-stripes\"><thead><tr><th>Export<\/th><th>Side<\/th><th>Returns<\/th><th>Best for<\/th><\/tr><\/thead><tbody><tr><td><code>requestScreenshot<\/code><\/td><td>Client<\/td><td>Base64 data URI via callback<\/td><td>In-game display, bug reports triggered by the player<\/td><\/tr><tr><td><code>requestScreenshotUpload<\/code><\/td><td>Client<\/td><td>Remote server response via callback<\/td><td>Uploading directly to Discord webhook or any HTTP endpoint<\/td><\/tr><tr><td><code>requestClientScreenshot<\/code><\/td><td>Server<\/td><td>Data URI or saved file via callback<\/td><td>Admin\/anti-cheat triggered capture (player cannot cancel)<\/td><\/tr><\/tbody><\/table>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3 \u2014 Send a Screenshot to Discord (Client-Side Upload)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The simplest Discord integration calls <code>requestScreenshotUpload<\/code> from a client script and posts the image directly to a Discord webhook URL. Discord expects the file to be uploaded as a <code>multipart\/form-data<\/code> POST with the field name <code>files[]<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, create a webhook in your Discord server: <strong>Server Settings \u2192 Integrations \u2192 Webhooks \u2192 New Webhook<\/strong>. Copy the webhook URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then in your client-side Lua resource:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- client.lua\nRegisterCommand('screenshot', function()\n  exports['screenshot-basic']:requestScreenshotUpload(\n    'https:\/\/discord.com\/api\/webhooks\/YOUR_WEBHOOK_ID\/YOUR_WEBHOOK_TOKEN',\n    'files[]',\n    { encoding = 'jpg', quality = 0.85 },\n    function(data)\n      -- data contains Discord's JSON response\n      print('[screenshot-basic] Upload complete: ' .. tostring(data))\n    end\n  )\nend, false)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A few things to note here. The field name <code>files[]<\/code> is Discord&#8217;s expected multipart key for file attachments \u2014 do not change it. The <code>encoding<\/code> option accepts <code>'png'<\/code>, <code>'jpg'<\/code>, or <code>'webp'<\/code>; <code>'jpg'<\/code> is the default and produces the smallest files. Quality is a float from <code>0.0<\/code> to <code>1.0<\/code>, defaulting to <code>0.92<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because this is a client-side export, the screenshot runs in the player&#8217;s NUI context. That means a player running the command themselves can see it happen. For invisible, server-triggered captures, move to Step 4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 \u2014 Server-Side Screenshots for Anti-Cheat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>requestClientScreenshot<\/code> export runs on the server and silently instructs a specific client to capture their screen. This is the backbone of screenshot-based anti-cheat integrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Version requirement:<\/strong> The player&#8217;s FiveM client must be at least build <code>1129160<\/code>, and your server must run artifact pipeline <code>1011<\/code> or higher. Modern FiveM servers and clients satisfy this automatically.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- server.lua\n-- Call this from any server-side event, e.g. triggered by your anti-cheat\n\nlocal function capturePlayerScreen(playerId)\n  exports['screenshot-basic']:requestClientScreenshot(\n    playerId,\n    {\n      fileName = 'cache\/anticheat-' .. playerId .. '-' .. os.time() .. '.jpg',\n      encoding = 'jpg',\n      quality  = 0.90,\n    },\n    function(err, data)\n      if err then\n        print('[AC] Screenshot error for ' .. playerId .. ': ' .. tostring(err))\n        return\n      end\n      -- data is a file path (when fileName is set) or a data URI (when omitted)\n      print('[AC] Screenshot saved: ' .. tostring(data))\n\n      -- Forward to Discord via PerformHttpRequest or a webhook helper\n      -- Replace with your own webhook forwarding logic\n    end\n  )\nend\n\nRegisterCommand('screencap', function(source, args)\n  local target = tonumber(args[1])\n  if target then capturePlayerScreen(target) end\nend, true) -- true = server-only command<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When <code>fileName<\/code> is provided, the image is written to that relative path on the server and the callback receives the path string. When <code>fileName<\/code> is omitted, the callback receives a base64 data URI instead. If you want to forward that data URI to Discord from the server side, you will need to convert it to binary and send it via <code>PerformHttpRequest<\/code> \u2014 or use a ready-made wrapper resource.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using a Companion Resource: discord-screenshot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you want a pre-built admin command with Discord delivery out of the box, the community resource <strong>discord-screenshot<\/strong> by jaimeadf is the most widely used option. It sits on top of screenshot-basic and handles the webhook POST, player embeds, and ACE permission gating for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After downloading and placing it in your resources folder, your <code>server.cfg<\/code> needs both resources:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ensure screenshot-basic\nensure discord-screenshot<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Open the resource&#8217;s <code>settings.json<\/code> and set at minimum:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"webhookUrl\": \"https:\/\/discord.com\/api\/webhooks\/YOUR_WEBHOOK_ID\/YOUR_WEBHOOK_TOKEN\",\n  \"commandName\": \"screenshot\",\n  \"commandPermission\": \"request.screenshot\",\n  \"screenshotOptions\": {\n    \"encoding\": \"jpg\",\n    \"quality\": 0.9\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Grant the permission to your admin ace group in <code>server.cfg<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_ace group.admin request.screenshot allow<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Admins can then run <code>\/screenshot <player-id><\/code> in-game and the result appears in your Discord channel within a couple of seconds. Keep one thing in mind: the webhook URL is transmitted as part of the resource configuration and <strong>can be visible to players<\/strong> who inspect resource files or NUI network calls. Treat it as a low-sensitivity webhook and rotate it if it leaks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a well-rounded moderation toolkit, pair this with the guides on <a href=\"https:\/\/xgamingserver.com\/blog\/fivem-ban-kick-management-guide\/\">ban and kick management<\/a> and <a href=\"https:\/\/xgamingserver.com\/blog\/fivem-vmenu-setup-guide\/\">vMenu setup<\/a>, which cover the broader admin workflow that screenshot logging fits into.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting Common Issues<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Black screenshots.<\/strong> This is the most frequently reported problem and it is tied to the game&#8217;s display mode \u2014 it commonly shows up after the client switches between fullscreen and borderless modes of the same resolution, which can break the buffer the capture relies on. The usual fix is to have players use windowed or borderless windowed mode and avoid toggling display modes mid-session. You cannot force this server-side, but you can document it in your server rules or use a convar check.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resource fails to load.<\/strong> Confirm you are running a recent FiveM server artifact. The resource depends on cfx-server-data being updated after 2019-01-15; older builds will throw manifest errors. Also check that <code>ensure screenshot-basic<\/code> appears before any resource that exports from it in your <code>server.cfg<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Discord returns a 400 error.<\/strong> The most common cause is using the wrong field name. Discord requires <code>files[]<\/code> exactly \u2014 no variation. A 401 means the webhook URL has been revoked or is malformed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are having broader resource-loading trouble, the <a href=\"https:\/\/xgamingserver.com\/blog\/fivem-resource-loading-errors-troubleshooting-guide\/\">FiveM resource loading errors troubleshooting guide<\/a> covers the full diagnosis process. For fully managed FiveM hosting where artifact updates happen automatically, see <a href=\"https:\/\/xgamingserver.com\/five-m-server-hosting\">our FiveM server hosting plans<\/a> \u2014 no manual binary management required.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Full documentation for the resource is available at <a href=\"https:\/\/xgamingserver.com\/docs\/fivem\">the FiveM docs hub<\/a>, which covers setup through to advanced scripting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Can a player block or prevent a server-side screenshot?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not easily. The <code>requestClientScreenshot<\/code> export is initiated entirely server-side and the client resource handles capture without any player-facing prompt. A player running a modified client could theoretically intercept the NUI call and return a blank or fake frame, which is why screenshot evidence should always be treated as supporting evidence rather than conclusive proof on its own.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is the difference between requestScreenshot and requestScreenshotUpload?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>requestScreenshot<\/code> returns the image as a base64 data URI inside the client&#8217;s Lua environment \u2014 useful for displaying it in a NUI panel or passing it to another local system. <code>requestScreenshotUpload<\/code> does the HTTP POST itself from within the NUI layer, sending the image directly to any URL you specify (Discord, an image host, your own API). For Discord delivery, <code>requestScreenshotUpload<\/code> is the simpler path since Discord accepts raw multipart file uploads via webhook.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does screenshot-basic work on RedM as well?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The official <code>citizenfx\/screenshot-basic<\/code> manifest declares <code>game 'common'<\/code>, which in principle covers both FiveM and RedM. Community forks explicitly targeting RedM exist, but the upstream resource should work as long as the rendering context is available. Test in a development environment before relying on it for production moderation on a RedM server.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you run a FiveM roleplay server, being able to capture what a player sees at any moment is one of the most practical moderation tools available. Whether you are catching modders mid-exploit, documenting a report, or auto-logging suspicious behaviour, screenshot-basic is the go-to developer resource for the job. This guide walks through a complete [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":22047,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[142],"tags":[],"class_list":["post-22072","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fivem"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FiveM screenshot-basic: Discord Screenshot Logs (2026)<\/title>\n<meta name=\"description\" content=\"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FiveM screenshot-basic: Sending Screenshots to Discord\" \/>\n<meta property=\"og:description\" content=\"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"XGamingServer\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/xgamingserver69\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-11T12:22:58+00:00\" \/>\n<meta name=\"author\" content=\"Hectar Carson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@xgamingserver\" \/>\n<meta name=\"twitter:site\" content=\"@xgamingserver\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hectar Carson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\"},\"author\":{\"name\":\"Hectar Carson\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/561042c617869348e75abfe16a269f8d\"},\"headline\":\"FiveM screenshot-basic: Sending Screenshots to Discord\",\"datePublished\":\"2026-06-11T12:22:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\"},\"wordCount\":1215,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp\",\"articleSection\":[\"FiveM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\",\"name\":\"FiveM screenshot-basic: Discord Screenshot Logs (2026)\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp\",\"datePublished\":\"2026-06-11T12:22:58+00:00\",\"description\":\"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.\",\"breadcrumb\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/xgamingserver.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FiveM\",\"item\":\"https:\/\/xgamingserver.com\/blog\/category\/fivem\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"FiveM screenshot-basic: Sending Screenshots to Discord\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"name\":\"XGamingServer\",\"description\":\"Dedicated Game Server Hosting\",\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\",\"name\":\"XGamingServer\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"XGamingServer\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/xgamingserver69\/\",\"https:\/\/x.com\/xgamingserver\",\"https:\/\/www.instagram.com\/xgamingserver\/\",\"https:\/\/www.linkedin.com\/company\/xgamingserver\/\",\"https:\/\/www.pinterest.com\/xgamingserver\/\",\"https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/561042c617869348e75abfe16a269f8d\",\"name\":\"Hectar Carson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1cbcd42dac6c5f21cb52dd64f03fd442250a15f7bb1ade04e23002eb5b384de5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1cbcd42dac6c5f21cb52dd64f03fd442250a15f7bb1ade04e23002eb5b384de5?s=96&d=mm&r=g\",\"caption\":\"Hectar Carson\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FiveM screenshot-basic: Discord Screenshot Logs (2026)","description":"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/","og_locale":"en_US","og_type":"article","og_title":"FiveM screenshot-basic: Sending Screenshots to Discord","og_description":"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.","og_url":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/","og_site_name":"XGamingServer","article_publisher":"https:\/\/web.facebook.com\/xgamingserver69\/","article_published_time":"2026-06-11T12:22:58+00:00","author":"Hectar Carson","twitter_card":"summary_large_image","twitter_creator":"@xgamingserver","twitter_site":"@xgamingserver","twitter_misc":{"Written by":"Hectar Carson","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#article","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/"},"author":{"name":"Hectar Carson","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/561042c617869348e75abfe16a269f8d"},"headline":"FiveM screenshot-basic: Sending Screenshots to Discord","datePublished":"2026-06-11T12:22:58+00:00","mainEntityOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/"},"wordCount":1215,"commentCount":0,"publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp","articleSection":["FiveM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/","url":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/","name":"FiveM screenshot-basic: Discord Screenshot Logs (2026)","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp","datePublished":"2026-06-11T12:22:58+00:00","description":"Learn how to install screenshot-basic on your FiveM server, wire Discord webhook logs, and use server-side screenshots for anti-cheat in 2026.","breadcrumb":{"@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#primaryimage","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/xgamingserver.com\/blog\/fivem-screenshot-basic-discord-logs-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xgamingserver.com\/blog\/"},{"@type":"ListItem","position":2,"name":"FiveM","item":"https:\/\/xgamingserver.com\/blog\/category\/fivem\/"},{"@type":"ListItem","position":3,"name":"FiveM screenshot-basic: Sending Screenshots to Discord"}]},{"@type":"WebSite","@id":"https:\/\/xgamingserver.com\/blog\/#website","url":"https:\/\/xgamingserver.com\/blog\/","name":"XGamingServer","description":"Dedicated Game Server Hosting","publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/xgamingserver.com\/blog\/#organization","name":"XGamingServer","url":"https:\/\/xgamingserver.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","width":"1024","height":"1024","caption":"XGamingServer"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/xgamingserver69\/","https:\/\/x.com\/xgamingserver","https:\/\/www.instagram.com\/xgamingserver\/","https:\/\/www.linkedin.com\/company\/xgamingserver\/","https:\/\/www.pinterest.com\/xgamingserver\/","https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ"]},{"@type":"Person","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/561042c617869348e75abfe16a269f8d","name":"Hectar Carson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1cbcd42dac6c5f21cb52dd64f03fd442250a15f7bb1ade04e23002eb5b384de5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1cbcd42dac6c5f21cb52dd64f03fd442250a15f7bb1ade04e23002eb5b384de5?s=96&d=mm&r=g","caption":"Hectar Carson"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2026\/06\/fivem-3.webp","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/22072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/comments?post=22072"}],"version-history":[{"count":0,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/22072\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/media\/22047"}],"wp:attachment":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/media?parent=22072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/categories?post=22072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/tags?post=22072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}