alyx-multiplayer is a multiplayer mod for Half-Life:
Alyx running on Windows. The mod tracks head position and rotation to send across clients.
Our code is open source! You can view
and contribute here.
A lotta folks made this possible, notably:
- DerkO, Lyfeless, and 2838 for writing the original LiveSplit ASL script.
- 2838 and Kube for refactoring this ASL script into a standalone program.
- Kube's partner for some slick debugging.
- illicit and fieldy for debugging a pesky float delimiter issue.
- All the LiveSplit repo contributors (most of this code comes from that repo's memory-watching tools).
- The SuperSimpleTCP contributors and their excellent example code (which we also cribbed).
- The TF2Maps, SourceRuns, and Speedrun Tool Development communities.
Trailer music composed by the talented Emberlynn Bland, and is available in full. Multiplayer avatar inhabited by generic_icon.
- Open TCP port 6655 on your router using port-forwarding. This step will differ based on your router model.
- Download the latest release.
- Unzip the download into [Steam directory]\steamapps\common\Half-Life Alyx\game\hlvr_addons\alyx_multiplayer
- Run alyx-multiplayer.exe located in hlvr_addons\alyx_multiplayer as administrator.
- Copy the path of the scripts\vscripts folder into the Folder path of script textbox, then press Submit.
- Tell a friend to follow the instructions above.
- Your IP and port number should appear on the bottom-left. Exchange this info with your friend!
- Copy your friend's IP and port number into their respective textboxes, then press Submit.
- Launch Half-Life: Alyx, then enable the alyx_multiplayer addon in the Addons menu.
- Create a New Game with Addons, then load any of the base game maps.
If your friend is in the same map, you should see their head floating about!
Here's how alyx-multiplayer ticks, in order of execution:
- Using LiveSplit code written for use in autosplitters, we fetch player position and rotation directly from their spots in memory. Or more accurately, we fetch the position of an empty set to the same origin and angles as the player.
- A SuperSimpleTCP-based TCP implementation networks these coordinates in string form.
- We write the received coordinates to a VScript, which moves the addon-embedded avatar model. This script runs every arbitrary tick.
...invite a friend into Half-Life: Alyx in a very limited fashion—as the floating faceplate of a Combine scanner, drifting and jittering around Alyx as a kind of robot buddy.
Did you find the trek through Half-Life: Alyx a tad lonely? As ever, there's now a mod to remedy that.
Modders have made an open-source multiplayer mod that lets you play the game alongside a friend, spawning them in as a floating moral support robot. And it's well cute.
More: GamesRadar+ | MSPoweruser | TheGamer | VRScout
If you'd like to get in touch, email Zachary Talis aka Kube (they/them).
This isn't a support line: don't email asking for technical help. Zachary no longer has access to a Windows machine to help ya debug.