Double weave for everyone, including PC, Mac, and PS4 users. No more being forced to single weaving because you are physically far away from game servers.
If you're running a custom VPN server on linux, just run the script as root, and you're good to go.
If you're running Windows, you can use XivAlexander addon instead. You can use both solutions at the same time, in which case, XivAlexander will take precedence.
- If you have a linux machine running in same network, skip to 5.
- If you have a virtualization solution installed regardless of host operating system, add an empty virtual machine with only DVD Drive enabled without hard drive, mount linux installation ISO into VM, power on, and then skip to 5.
- For Windows: install Hyper-V, using
Hyper-V-Enabler.bat
. - Create a new virtual machine.
- Open
New Virtual Machine Wizard
withNew > Virtual Machine
. - Pick
Generation 2
inSpecify Generation
. - Write
256MB
or above intoStartup Memory
inAssign Memory
. - Pick the new adapter you've set up from 3-4 in
Connection
inConfigure Networking
. - Pick
Attach a virtual hard disk later
inConnect Virtual Hard Disk
. - Using default choices for everything else, finish the wizard.
- Open
Settings
at right bottom panel ofHyper-V Manager
. - Go to
SCSI Controller
at the left panel, and add aDVD Drive
. - Go to
DVD Drive
at the left panel, pickImage file:
, click onBrowse
, and select a linux distribution of your choice. - Go to
Security
, and turn offEnable Secure Boot
. - Go to
Firmware
, selectDVD Drive
, and pressMove Up
.
- Press
OK
. - Press
Connect...
at the right bottom panel, and then power on the virtual machine.
- Open
- Run
ip addr show
to figure out your virtual machine's IP address. It should result in something like the following:1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:12:1d:00 brd ff:ff:ff:ff:ff:ff inet 192.168.0.5/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe12:1d00/64 scope link valid_lft forever preferred_lft forever
- Run
iptables -t nat -A POSTROUTING -s <local_ip> -o <device_name> -j MASQUERADE
, replacing:<device_name>
with the equivalent ofeth0
on above output.<local_ip>
with the equivalent of192.168.0.5/24
on above output.
- Copy
ffxiv.exe
from your local Windows/Mac game installation into the VM.- Download and run HFS, and then drag
ffxiv.exe
into its main interface. - You should be able to download that by typing
curl -O ffxiv.exe http://<HFS-IP>/ffxiv.exe
, replacing<HFS-IP>
with the displayed IP address from HFS.
- Download and run HFS, and then drag
- Install gcc(g++) with 32-bit libraries.
- For Arch, do
pacman -S gcc
- For Debian/Ubuntu, do
apt install g++ gcc-multilib g++-multilib
. - If this fails due to
not enough free space
, then you will have to install the operating system instead of running this on an installation media.
- For Arch, do
- Run
curl https://raw.githubusercontent.com/Soreepeong/XivMitmLatencyMitigator/main/mitigate.py | python
- Configure your gaming device to use the virtual machine to route game traffic, replacing
<vm_ip>
with the equivalent of192.168.0.5
on above output.- Windows: Run a
Command Prompt
as Administrator, and then run the following.route add 204.2.229.0 mask 255.255.255.0 <vm_ip> route add 124.150.157.0 mask 255.255.255.0 <vm_ip> route add 183.111.189.0 mask 255.255.255.0 <vm_ip> route add 195.82.50.0 mask 255.255.255.0 <vm_ip>
- Mac: Run a
Terminal
, and the run the following.sudo route -n add -net 204.2.229.0/24 <vm_ip> sudo route -n add -net 124.150.157.0/24 <vm_ip> sudo route -n add -net 183.111.189.0/24 <vm_ip> sudo route -n add -net 195.82.50.0/24 <vm_ip>
- PS4: Set up Static IP (Guide), but use
<vm_ip>
instead forDefault Gateway
.
- Windows: Run a
- Run the game and see things get printed in the virtual machine, and if it does, it's working.
- When you're done, you can force quit the virtual machine without "safe" procedures.
Apache License 2.0