I had quite a few issues getting Riot Games new first person shooter Valorant running on my laptop. This is a brief post to cover some of the techniques I used to debug and resolve the issue.
I have quite a old laptop (ThinkPad P70) which has been used to develop and debug a wide array of software. This is 100% a issue I caused for myself a few years ago, but I still want to share the experience of debugging the issue incase anyone else needs to tackle the same sort of thing in the future
So! Downloaded, Installed and rebooted
due to the Vanguard intrusive anti-cheat. Then on launch I was prompted with this error message:
Cool, “Restarted the game client” = Same Issue & Rebooted = Same Issue.
I raised a ticket which Valorant support who walked me through some debugging steps including performing a “clean boot” which in my opinion is a tad overkill and required me to disable all non-windows services on my computer. This caused quite a few issues with my PC and I had to boot into safe-mode to re-enable everything.
Side Rant: Why is getting Windows 10 into safe-mode such a pain. Back in Windows 7 you just had to mash F8 on boot. After performing the “clean boot” I could not get into Windows settings menu and the shift key method did not work so I had to “repeatedly turn your device off, then on” which seams a bit silly. Then after that you still need to “reboot for more recovery options” then perform a bitlocker recovery on the drives just to get into safe mode. Like I understand WHY, its because of how the UFI, TPM and trusted boot is configured but its still convoluted.
anyway I continued the support call trying:
however this did not resolve the issue.
Looking at the Valorant “ShooterGame.log” located at
C:\Users\<username>\AppData\Local\VALORANT\Saved\Logs I could see Valorant attempting to connect to
https://127.0.0.1:4693/system/v1/builds. I could reach this address using
curl which produced a HTTP 401 but this proves there is something listening on the other end and the basic auth relm of
RiotRemoting is a dead giveaway. Using Windows
netstat command I could see that port 4693 is owned by the
RiotClientServices.exe process which must be the interface between the player identity and the game, makes sense. What does not make sense is why the
Valorant.exe is unable to communicate to this address. I tried disabling the firewall but that did not help. In the logs I could see that 8888 was being polled but nothing was listening on that port.
I updated the support ticket with my findings and the support team thanked me for my debugging and then closed the ticket. :(
After a few weeks I had no update on the ticket so I decided to try some more debugging.
Using the super handy Process Monitor tool from Sysinternals I created a filter to debug Valorant and Riot:
Then I started Valorant and waited for the events to stream in…
Then applying a TCP specific filter I could look at the network connections:
Cross referencing the process monitor + RiotClientServices + Valorant logs it looked like RiotClientServices opens a port for Valorant to connect to but Valorant never makes the connection, instead it always try’s to connect to the 8888 port!
Ok. Thats a solid lead. So lets spin up a
netcat lister on that port and see what we can find:
Ah! So it must be inheriting some proxy setting. If I spin up a local HTTP proxy server I can launch the game, YAY!. Reading further, Valorant uses
libcurl (no surprises there) for making network connections and I can set the
NO_PROXY=* environment variable to force
libcurl to bypass the proxy server. Putting this all into a .bat file makes it much easier to launch the game:
@echo off echo "Starting Valorant..." set NO_PROXY=* cd "C:/Riot Games/Riot Client" "C:\Riot Games\Riot Client\RiotClientServices.exe" --launch-product=valorant --launch-patchline=live
Further reading then led to the discovery of the Windows
netsh winhttp proxy setting which for some reason was not reset when using the Windows 10 “reset all network setting” button so running
netsh winhttp reset proxy to force reset the proxy settings fixed the problem permanently. I think this might be a leftover from using Fiddler to debug some Web app from a while ago.
I updated the support ticket with all this information incase another Valorant player has the same issue. (However unlikely that would be :D )
I set a proxy setting a few years ago using
netsh winhttp which Valorant was using to connect to a local non-existent proxy server which was preventing the game from starting. Resetting the proxy with
netsh winhttp reset proxy fixes it.