<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ChopperHook Blog (Posts about Steam)</title><link>https://blog.chopperhook.xyz/</link><description></description><atom:link href="https://blog.chopperhook.xyz/categories/steam.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 &lt;a href="mailto:chopper@oncrack.me"&gt;Chopper&lt;/a&gt; </copyright><lastBuildDate>Wed, 06 Dec 2023 09:06:19 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>CS2 and "VAC Live"</title><link>https://blog.chopperhook.xyz/posts/cs2-vac-live/</link><dc:creator>Chopper</dc:creator><description>&lt;h2&gt;&lt;/h2&gt;
&lt;h2&gt;"&lt;em&gt;The purpose of a system is what it does&lt;/em&gt;".&lt;/h2&gt;
&lt;p&gt;With the upcoming release of CS2, there is plenty of conversation around "VAC Live". Many people seem to think it'll be an improvement for CS2 over CSGO. Today I'll talk about why this probably is not the case.&lt;/p&gt;
&lt;p&gt;Currently, in CSGO, there are only three requirements to cheat in a safe manner:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Your cheat and loader of choice must not be detected&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You must not use features of the cheat which are known to lower "Trust", cause "Untrusted" bans or VAC bans.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You must not rage every game.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These aren't difficult steps to follow, and this is intentional.&lt;/p&gt;
&lt;p&gt;Valve essentially allow cheating in CSGO. Their entire system is designed in this way. &lt;/p&gt;
&lt;h3&gt;VAC&lt;/h3&gt;
&lt;p&gt;VAC, compared to any other AC, is a minimal attempt at detecting cheats in the "traditional" manner. It's very passive compared to other AC solutions and it's also safer to run due to it being user-mode and not kernel-mode. &lt;/p&gt;
&lt;p&gt;Personally, I like VAC as it isn't terribly invasive and can't crash my entire PC like Vanguard does.&lt;/p&gt;
&lt;p&gt;VAC could do a better job with some effort: Despite the source code for many cheats being publicly available, such as &lt;a href="https://github.com/danielkrupinski/Osiris"&gt;Osiris&lt;/a&gt;, they still don't detect them. On Linux, any user can download, compile and inject Osiris with zero consequences. Unless they use detected features such as "No duck cooldown".&lt;/p&gt;
&lt;p&gt;&lt;img alt="VAC Module" src="https://de.nuke.ie/temp/7305758579172023-07-24_11-34-10.png"&gt;&lt;/p&gt;
&lt;p&gt;What they've tried so far isn't much: Here's a &lt;a href="https://lwss.github.io/State-Of-Vac-linux-2020/"&gt;post&lt;/a&gt; by &lt;a href="https://github.com/LWSS/"&gt;LWSS&lt;/a&gt; about VAC on Linux as of 2020, it has gone essentially unchanged since.&lt;/p&gt;
&lt;p&gt;Some interesting methods they've tried:&lt;/p&gt;
&lt;p&gt;In an attempt to detect modified view angles, they added backup variants of the associated variables. The idea here was to store the original view angles in the backup and compare them to the current ones. In the case that a cheat has modified the original view angles, the values will no longer match and the player should be banned. The main issue with this attempt is that in a cheat, you can also update the backup view angle's associated variables, meaning this has been entirely circumvented. &lt;/p&gt;
&lt;p&gt;On Linux, a VAC module exists which runs &lt;code&gt;cat /proc/$(pidof csgo_linux64)/maps | grep AimTux&lt;/code&gt; in order to "detect" &lt;a href="https://github.com/AimTuxOfficial/AimTux"&gt;AimTux&lt;/a&gt;. Note that to bypass this, you simply just rename the library before injection. It's like "detecting" if a file is malware by using the file name.&lt;/p&gt;
&lt;h3&gt;Trust&lt;/h3&gt;
&lt;p&gt;The "&lt;a href="https://help.steampowered.com/en/faqs/view/00EF-D679-C76A-C185"&gt;Trust&lt;/a&gt;" system isn't intended to ban players. This system exists to keep cheaters separate from legitimate players.&lt;/p&gt;
&lt;p&gt;This implies that they would prefer let cheaters play with/against other cheaters.&lt;/p&gt;
&lt;p&gt;Of course this system isn't perfect either. At the time of writing, when using &lt;a href="https://gamesense.pub/"&gt;gamesense&lt;/a&gt; (among other cheats), you can rage and still have high trust.&lt;/p&gt;
&lt;h3&gt;CS2&lt;/h3&gt;
&lt;p&gt;What makes people think this will be any different for CS2?&lt;/p&gt;
&lt;p&gt;"VAC Live" is supposedly a more active system utilising the trained "VAC Net" AI to detect cheaters. See &lt;a href="https://www.youtube.com/watch?v=BfCSOjfPQWc"&gt;this video&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The report dialog" src="https://de.nuke.ie/temp/1922173075572023-07-24_11-32-49.png"&gt;&lt;/p&gt;
&lt;p&gt;In the video, a player reports another and the target is instantly banned. Some important things to note about this are that the cheater was barely getting kills and also that during the report, the final checkbox was highlighted in red.&lt;/p&gt;
&lt;p&gt;The cheater having low kills is something of note because they may not have even been cheating in that match. The ban &lt;em&gt;could&lt;/em&gt; have been a pending one from CSGO as Valve almost always delay bans to slow down the rate at which people can find out if a feature, cheat or loader is detected. In this case, "VAC Live" is nothing more than allowing players to give the ban a push to make it happen sooner.&lt;/p&gt;
&lt;p&gt;The final checkbox being red is of note as it may indicate that it does more than just report. What first comes to mind is that it could run VAC modules on the target and ban accordingly. For the regular player, this would be about the most to expect from this new feature.&lt;/p&gt;
&lt;p&gt;The expectation that "VAC Live" may be better at detecting cheats is not a good one to have. As explained earlier, Valve don't bet on detecting cheats.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Cheating in CS2 will probably be the same as in CSGO. I don't see Valve dumping their work on non-invasive anti-cheat any time soon. "VAC Live" is not likely to change much for legitimate players or cheaters.&lt;/p&gt;</description><category>cheating</category><category>cs</category><category>gaming</category><category>linux</category><category>Steam</category><guid>https://blog.chopperhook.xyz/posts/cs2-vac-live/</guid><pubDate>Thu, 13 Jul 2023 09:41:52 GMT</pubDate></item><item><title>Modern Warfare 2 MP on Linux</title><link>https://blog.chopperhook.xyz/posts/modern-warfare-2-mp-on-linux/</link><dc:creator>Chopper</dc:creator><description>&lt;h2&gt;&lt;/h2&gt;
&lt;p&gt;These are some notes about Modern Warfare 2 Multiplayer on Linux. I talk about the performance of the game, note about proton versions and explain how to unlock the FPS and FOV.&lt;/p&gt;
&lt;h3&gt;Warning&lt;/h3&gt;
&lt;p&gt;Later in this post I talk about using what is technically a cheat for MW2 MP. Please note that MW2 MP uses VAC and that I am not responsible in the case you get banned.&lt;/p&gt;
&lt;h3&gt;Performance&lt;/h3&gt;
&lt;p&gt;First thing I'd like to note is one of the nice things about gaming on Linux.&lt;/p&gt;
&lt;p&gt;On Windows, MW2 SP runs great. To lock 333 FPS on it is nothing. MP however is a very different story. MP runs terribly.&lt;/p&gt;
&lt;p&gt;The most obvious barrier is the 91 FPS cap on the game which, as far as I know, was put in place to prevent players exploiting the physics related silly-ness that comes with getting higher frame rates.&lt;/p&gt;
&lt;p&gt;For those who don't know: As is popular in many games from the late 2000s and early 2010s, some physics in MW2 are tied to the frame rate. In the majority of older Call of Duty games this is the case. If you run the game at a frame rate over 125, you will start to notice some differences in gravity, it will be lower. The higher the frame rate, the lower it goes until it suddenly has the opposite affect when you exceed 333 FPS. I have no idea why it inverts like this.&lt;/p&gt;
&lt;p&gt;So 91 FPS is the cap for MP for that reason. What if we removed that cap? (More detail on how later)&lt;/p&gt;
&lt;p&gt;On Windows, removing the FPS cap is barely even worthwhile as the game will just about average 125 FPS on most systems.&lt;/p&gt;
&lt;p&gt;On Linux however, we can easily lock 250 FPS or higher on the same hardware. I don't know the cause of this but it's always nice to see. So, speaking of playing on Linux, Proton time.&lt;/p&gt;
&lt;h3&gt;Getting it running&lt;/h3&gt;
&lt;p&gt;MW2 MP on Steam isn't as fussy as other COD games. Currently I play on Proton 8 but it should work on most versions.&lt;/p&gt;
&lt;p&gt;In future I'll probably write a post about the weird behaviours of COD 4 and Black Ops on Steam.&lt;/p&gt;
&lt;h3&gt;FPS Unlockers and FOV Changers&lt;/h3&gt;
&lt;p&gt;To unlock the FPS and change FOV, we have to jump through some more hoops than the Windows user.&lt;/p&gt;
&lt;h4&gt;ProtonHax installation&lt;/h4&gt;
&lt;p&gt;The first of which is installing &lt;a href="https://github.com/jcnils/protonhax"&gt;ProtonHax&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Arch users can simple install &lt;code&gt;protonhax&lt;/code&gt; from the &lt;a href="https://aur.archlinux.org/packages/protonhax"&gt;AUR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Personally I am on the &lt;code&gt;-git&lt;/code&gt; version. I guess try it if the regular one doesn't work for you.&lt;/p&gt;
&lt;p&gt;Everyone else will be building it from source.&lt;/p&gt;
&lt;h4&gt;ProtonHax setup&lt;/h4&gt;
&lt;p&gt;Now that you have that installed, go to the launch options of MW2 MP on Steam and add the following:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;protonhax init %command%
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Now when the game is launched, we can use ProtonHax to run other applications along side the game.&lt;/p&gt;
&lt;h4&gt;ProtonHax Usage&lt;/h4&gt;
&lt;p&gt;First off, we need a tool to run along side the game. I will be using &lt;a href="https://github.com/Chopper1337/mw2-fps-unlocker"&gt;mw2-fps-unlocker&lt;/a&gt; which allows you to change the FPS limit and your FOV.&lt;/p&gt;
&lt;p&gt;Run MW2 at least once if you haven't already. This will create the "compatdata" folder we need to place the executable in.&lt;/p&gt;
&lt;p&gt;Navigate to the install directory of the game, default should be &lt;code&gt;/home/$USER/.local/share/Steam/steamapps/common/Call of Duty Modern Warfare 2/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then go up the directory tree til you're in the "steamapps" folder, from which you can navigate to the following directory: &lt;code&gt;steamapps/compatdata/10190/pfx/drive_c/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;10190&lt;/code&gt; here is the APPID of the game on Steam. If you visit the store page for a game, you will see the APPID in the URL.&lt;/p&gt;
&lt;p&gt;Place your trainer executable in this "drive_c" folder.&lt;/p&gt;
&lt;p&gt;Now you can launch the game.&lt;/p&gt;
&lt;p&gt;In a terminal, run &lt;code&gt;protonhax ls&lt;/code&gt; to verify the game is detected. You should see the APPID of the game in the output.&lt;/p&gt;
&lt;p&gt;We can then run &lt;code&gt;protonhax run 10190 C:\YOUR-TRAINER-HERE.exe&lt;/code&gt; and it should launch the trainer along side the game.&lt;/p&gt;</description><category>COD</category><category>gaming</category><category>linux</category><category>MW2</category><category>Steam</category><guid>https://blog.chopperhook.xyz/posts/modern-warfare-2-mp-on-linux/</guid><pubDate>Tue, 11 Jul 2023 18:18:53 GMT</pubDate></item></channel></rss>