These steps require some knowledge of Linux (compiling apps and editing source code) so this post is geared towards those users.
I've modified the source code for SS5 (Socks Server 5) to disable Nagles when accepting SOCKS connections. By doing this you won't need to setup iptables or socat but can deploy a Socks5 server and use the Freecap method (without needing putty).
1) Grab the source code of SS5 and extract
2a) Edit src/SS5Server.c and add this line at line 26;
#include "netinet/tcp.h";
2b) Add this at line 197;
setsockopt(S5SocksSocket, IPPROTO_TCP, TCP_NODELAY, &reuseAddrFlag, sizeof(int));
3) Configure, compile & install. Configure basic settings in /etc/opt/ss5/ss5.conf
4) Setup Freecap to proxify your WoW application through your new Socks server and off you go.
PS: Blizzard Developers, not only has the OP told you what's wrong, many people have provided solutions and you now have C code (albeit with variable name changes) to fix it.
great here is the rough how tow
1) get ss5 's rpm, extract the archive in it and extract the files in that into a folder
2) get needed libs to compile, build and for includes ( i hope i have them all here but the list should do)
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install build-essential
sudo apt-get install libpam0g-dev
sudo apt-get install libldap2-dev
sudo apt-get install libssl-dev
sudo apt-get install checkinstall
3) open the SS5Server.c and at the top under the last include add
#include "netinet/tcp.h"
4) go roughly to line 197 and after the if add
setsockopt(S5SocksSocket, IPPROTO_TCP, TCP_NODELAY, &reuseAddrFlag, sizeof(int));
5) save and exit
6) in the main directory of the extracted files go
./configure
if no errors continue to
make
if no errors continue to
sudo checkinstall -D make install
*on errors i did google them and fixed to return at configure again; it was missing packages and that one include
**will report if this actually worked lol.
update
7) opening up the conf file (/etc/opt/ss5/ss5.conf)
only used these 2 lines for now not sure exactly how to do this yet anyways
Code:
# this should be your according to you VPS’ IP
auth 10.10.10.0/24 - -
# we want to funnel and allow everything throught the socks server
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
8) starting up the bitch
sudo ss5 -b 10.10.10.6:1234
9) active log window
sudo tail -f /var/log/ss5/ss5.log
10) finally proxificate your game through the linux box with socks 5 as
without user/pass
ip 10.10.10.6
port 1234
results so far:
with the windows >> vm >> world
it seems to be around
425ms.
without the windows >> vm >> world
it seems to be around
634ms.
not bad for the rough method i would say, quite sure it can be bettered further if i knew how to..