{"id":40065,"date":"2026-05-01T09:17:12","date_gmt":"2026-05-01T13:17:12","guid":{"rendered":"https:\/\/overcentral.com\/en\/?p=40065"},"modified":"2026-05-01T09:25:21","modified_gmt":"2026-05-01T13:25:21","slug":"sbox-update-linux-servers-editor-video-improvements","status":"publish","type":"post","link":"https:\/\/overcentral.com\/en\/sbox-update-linux-servers-editor-video-improvements\/","title":{"rendered":"s&amp;box Update 26.04.28 Patch Notes: Linux Servers, Editor Upgrades &amp; Video Improvements"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/facepunch.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Facepunch<\/a> has released patch&nbsp;<strong>26.04.28<\/strong>&nbsp;for&nbsp;<em>s&amp;box<\/em>, a significant post-launch update focused on technical improvements, editor enhancements, and <a href=\"https:\/\/overcentral.com\/en\/lords-of-the-fallen-patch-1-102-deploys-critical-bug-fixes\/\" title=\"Lords of the Fallen Patch 1.102 Deploys Critical Bug Fixes\" data-iacss-internal=\"1\">critical bug fixes<\/a>. The patch introduces a&nbsp;<strong>Linux Dedicated Server<\/strong>, editor features including Selection Sets and Paste Special, and substantial video pipeline upgrades (libyuv for faster RGB to YUV conversion, enabling 2K AV1 recording at 60fps). On the bug-fixing front, this release addresses a critical StringBuilder race condition that could lead to remote code execution, resolves multiple AnimGraph crashes, fixes a CResourceSystem crash on Linux, and corrects the&nbsp;<code>IsRunningOnHandheld<\/code>codecodecodecodecode&nbsp;flag which was always returning false (causing UI issues on <a href=\"https:\/\/overcentral.com\/en\/pragmata-gets-solid-performance-on-steam-deck-with-tweaks\/\" title=\"Pragmata gets solid performance on Steam Deck with tweaks\" data-iacss-internal=\"1\">Steam Deck<\/a>). Quality-of-life improvements include better offline mode login resilience, ultrawide menu layout fixes, faster storage settings page scanning, and restored functionality for holding ESC to force quit the game. Alongside these changes, founder Garry reflects on the journey to Version One, doubles the Play Fund, and reaffirms weekly update commitments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Message from Garry: Reflection on Version One<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Alongside the technical changes in Release 26.04.28, founder Garry shares a personal reflection on the journey to&nbsp;<em>s&amp;box<\/em>&#8216;s Version One milestone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Hard Path<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Garry admits feeling embarrassed about how long development has taken, noting that if he were to build everything from scratch now, it would &#8220;probably take less than a year.&#8221; However, he acknowledges a counterpoint from someone who compared the situation to a songwriter saying, &#8220;if I knew what the song was I could have knocked it out in 5 minutes.&#8221;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><em>&#8220;It would have been easy to have taken Garry&#8217;s Mod and applied it to Source 2. I wasn&#8217;t happy to do that. I knew we could do more, I knew we would have regretted walking the easy path.&#8221;<\/em><\/p>\n\n<\/blockquote>blockquoteblockquoteblockquoteblockquoteblockquote\n\n\n\n<h3 class=\"wp-block-heading\">Honesty About Imperfections<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Garry is transparent about Version One&#8217;s shortcomings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It isn&#8217;t perfect and likely never will be<\/li>\n\n\n\n<li>Work remains on content discovery<\/li>\n\n\n\n<li>Challenges exist around dealing with low-quality AI-generated content<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><em>&#8220;At some point we have to say that it&#8217;s good enough for v1.&#8221;<\/em><\/p>\n\n<\/blockquote>blockquoteblockquoteblockquoteblockquoteblockquote\n\n\n\n<h3 class=\"wp-block-heading\">A Memorable Quote<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/overcentral.com\/en\/humanitz-104-patch-notes-bug-fixes\/\" title=\"HumanitZ 1.04 Patch Notes: Bug Fixes, Server Updates, and Quality of Life Changes\" data-iacss-internal=\"1\">patch notes<\/a> include a line that will likely define this moment for the community:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>&#8220;It isn&#8217;t perfect but at this moment in time it&#8217;s both the worst it will be and the best it has ever been.&#8221;<\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">An Invitation to Create<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Garry emphasizes his personal history\u2014getting his start in the game industry with&nbsp;<em>Garry&#8217;s Mod<\/em>, and watching countless community members do the same. His goal with&nbsp;<em>s&amp;box<\/em>&nbsp;is to continue that legacy:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>&#8220;I want to show people how fun and rewarding making games is. I want them to be able to make money from it.&#8221;<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Play Fund Doubled<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In hopeful anticipation of finally being profitable, Facepunch has&nbsp;<strong>doubled the Play Fund<\/strong>. Garry expresses hope that they can steadily increase it further over time.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Play Fund Aspect<\/th><th class=\"has-text-align-left\" data-align=\"left\">Details<\/th><\/tr><\/thead><tbody><tr><td><strong>Action<\/strong><\/td><td>Doubled with Release 26.04.28<\/td><\/tr><tr><td><strong>Reason<\/strong><\/td><td>Anticipating profitability<\/td><\/tr><tr><td><strong>Future plans<\/strong><\/td><td>Steady increases over time<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Play Fund is Facepunch&#8217;s system for rewarding community creators, ensuring that those who build content for&nbsp;<em>s&amp;box<\/em>&nbsp;can earn money from their work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next: Weekly Updates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Garry confirms that development will continue as before:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Weekly updates<\/strong>&nbsp;will be released<\/li>\n\n\n\n<li><strong>Community listening<\/strong>&nbsp;remains a priority<\/li>\n\n\n\n<li><strong>Roadmap<\/strong>&nbsp;shows larger features being planned<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>&#8220;This is how we work. We release and improve. This is what we did with Garry&#8217;s Mod, this is what we did with Rust. This is what we&#8217;re going to do with s&amp;box.&#8221;<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Added Features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Linux Dedicated Server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The patch introduces a&nbsp;<strong>Linux Dedicated Server<\/strong>, expanding hosting options for community servers beyond Windows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Editor: Selection Sets<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A new editor feature allowing users to save and recall specific selections of objects, streamlining complex scene editing workflows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Editor: Paste Special<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Advanced paste functionality giving creators more control over how assets are duplicated and placed within scenes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Improved: Quality-of-Life &amp; Performance<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cross-Platform Compatibility<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Native library loading<\/strong>&nbsp;now happens at runtime instead of at InteropGen, enabling cross-platform binary compatibility<\/li>\n\n\n\n<li><strong>Zio case-insensitive filesystem wrapper<\/strong>&nbsp;for Linux improves file handling reliability<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Offline Mode<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Offline mode login handling<\/strong>&nbsp;is now more resilient. The menu no longer throws errors when launched offline.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Video Recording Overhaul<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Improvement<\/th><th class=\"has-text-align-left\" data-align=\"left\">Details<\/th><\/tr><\/thead><tbody><tr><td><strong>RGB to YUV conversion<\/strong><\/td><td>Now uses libyuv for much faster processing, enabling 2K AV1 recording at 60fps<\/td><\/tr><tr><td><strong>Video export render target<\/strong><\/td><td>Now uses MSAA, eliminating dithering artifacts<\/td><\/tr><tr><td><strong>Quality<\/strong><\/td><td>Improved for scenes with fast-moving objects and camera movement<\/td><\/tr><tr><td><strong>Container format settings<\/strong><\/td><td>Now properly passed from managed to native layer<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Graphics &amp; Rendering<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AO upscaler<\/strong>&nbsp;is now pixel-perfect compared to full-resolution rendering, with proper MSAA support<\/li>\n\n\n\n<li><strong>Slow rotation<\/strong>&nbsp;no longer stutters due to improved per-component&nbsp;<code>Rotation.AlmostEqual<\/code>codecodecodecodecode&nbsp;precision<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ultrawide Display Support<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Menu layout<\/strong>&nbsp;improved for ultrawide displays with constrained content width and feathered edges<\/li>\n\n\n\n<li><strong>Menu fixes<\/strong>&nbsp;across store CTA positioning, search overlay, server list filters, and various UI components<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Batch Publisher UX<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Org handling<\/strong>&nbsp;improvements<\/li>\n\n\n\n<li><strong>Completion messages<\/strong>&nbsp;added for better user feedback<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Editor Improvements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Component categories<\/strong>&nbsp;reorganized for better discoverability in the editor<\/li>\n\n\n\n<li><strong>Removed unused shadow data<\/strong>&nbsp;from lightbinner, cleaning up for future GPU-driven lighting<\/li>\n\n\n\n<li><strong>Missing undo support<\/strong>&nbsp;added to&nbsp;<code>TransformComponentWidget<\/code>codecodecodecodecode&nbsp;for reset, paste, and toggle operations<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Storage Settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Storage settings page<\/strong>&nbsp;no longer takes minutes to scan large download caches.&nbsp;<em>Thank you @Zaddish<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fixed: Critical Bugs &amp; Crashes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Security Fix (Critical)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>StringBuilder race condition<\/strong>&nbsp;that could lead to remote code execution has been fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Crash Fixes<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Crash<\/th><th class=\"has-text-align-left\" data-align=\"left\">Status<\/th><\/tr><\/thead><tbody><tr><td>Two AnimGraph crashes<\/td><td>Fixed<\/td><\/tr><tr><td>Crash in&nbsp;<code>FindOrAllocateTransforms<\/code>&nbsp;during model hot-reload<\/td><td>Fixed<\/td><\/tr><tr><td>CResourceSystem crash when reloading symlinked resident resources on Linux<\/td><td>Fixed<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Video &amp; Encoding<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WebM video header<\/strong>&nbsp;being written twice \u2013 fixed<\/li>\n\n\n\n<li><strong>Odd-size resolutions<\/strong>&nbsp;breaking the AV1 encoder \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">UI &amp; Rendering<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inverse scissor box shadow rendering<\/strong>&nbsp;in UI \u2013 fixed<\/li>\n\n\n\n<li><strong>World panel transformation<\/strong>&nbsp;being applied twice in subpanels and render targets \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Steam Deck &amp; Handhelds<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>IsRunningOnHandheld<\/code>codecodecodecodecode<\/strong>&nbsp;always returning false \u2013 fixed. This was causing small UI on <a href=\"https:\/\/www.steamdeck.com\/\" target=\"_blank\" rel=\"sponsored noopener noreferrer\" data-iacss-external=\"1\">Steam Deck<\/a> and other handhelds<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dedicated Servers<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dedicated server errors<\/strong>&nbsp;when using&nbsp;<code>Steamworks.Friend<\/code>codecodecodecodecode&nbsp;methods \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Editor<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Focus in 2D editor views<\/strong>&nbsp;incorrectly moving camera toward objects instead of framing them \u2013 fixed<\/li>\n\n\n\n<li><strong>Rigidbody properties<\/strong>&nbsp;not being reapplied when ModelCollider updates, causing lost gravity scale on resize \u2013 fixed<\/li>\n\n\n\n<li><strong>Editor exceptions<\/strong>&nbsp;when performing large project structure changes \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Networking &amp; Game Loading<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Client disconnect<\/strong>&nbsp;not triggering when game load fails during handshake \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Character Models<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shorts clothing models<\/strong>&nbsp;clipping with the player body \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Menu<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Menu carousel null reference exception<\/strong>&nbsp;\u2013 fixed<\/li>\n\n\n\n<li><strong>Menu toggle styles<\/strong>&nbsp;and context menus on game cards \u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quality of Life<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Restored holding ESC to force quit game<\/strong>&nbsp;\u2013 fixed<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Summary of Key Changes in Release 26.04.28<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Category<\/th><th class=\"has-text-align-left\" data-align=\"left\">Main Improvements<\/th><\/tr><\/thead><tbody><tr><td><strong>New Features<\/strong><\/td><td>Linux Dedicated Server, Selection Sets, Paste Special<\/td><\/tr><tr><td><strong>Video<\/strong><\/td><td>libyuv conversion (2K AV1 at 60fps), MSAA, dithering fixed<\/td><\/tr><tr><td><strong>Performance<\/strong><\/td><td>Faster RGB\u2192YUV, storage page no longer slow<\/td><\/tr><tr><td><strong>Steam Deck<\/strong><\/td><td>Handheld UI fixed (<code>IsRunningOnHandheld<\/code>&nbsp;corrected)<\/td><\/tr><tr><td><strong>Security<\/strong><\/td><td>StringBuilder RCE vulnerability fixed<\/td><\/tr><tr><td><strong>Crash Fixes<\/strong><\/td><td>AnimGraph (2x), FindOrAllocateTransforms, CResourceSystem on Linux<\/td><\/tr><tr><td><strong>Editor<\/strong><\/td><td>Undo support, component categories reorganized, 2D view fixes<\/td><\/tr><tr><td><strong>Offline Mode<\/strong><\/td><td>No more errors when launched offline<\/td><\/tr><tr><td><strong>Ultrawide<\/strong><\/td><td>Menu layout improved with feathered edges<\/td><\/tr><tr><td><strong>Play Fund<\/strong><\/td><td>Doubled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Looking Ahead<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Facepunch plans to continue releasing&nbsp;<strong>weekly updates<\/strong>, listening to the community, and improving the platform. The roadmap shows larger features in development. As Garry states:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>&#8220;So more of the same. This is how we work. We release and improve. This is what we did with Garry&#8217;s Mod, this is what we did with Rust. This is what we&#8217;re going to do with s&amp;box. This is what we love doing.&#8221;<\/em><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Facepunch has released patch&nbsp;26.04.28&nbsp;for&nbsp;s&amp;box, a significant post-launch update focused on technical improvements, editor enhancements, and critical bug fixes. The patch introduces a&nbsp;Linux Dedicated Server, editor features including Selection Sets and Paste Special, and substantial video pipeline upgrades (libyuv for faster RGB to YUV conversion, enabling 2K AV1 recording at 60fps). On the bug-fixing front, this [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-40065","post","type-post","status-publish","format-standard","category-videogames"],"_links":{"self":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts\/40065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/comments?post=40065"}],"version-history":[{"count":0,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts\/40065\/revisions"}],"wp:attachment":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/media?parent=40065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/categories?post=40065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/tags?post=40065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}