setting up my own lowping service for mmos

hmmm

mines just sitting here

2009/10/16 01:28:52 socat[2790] I setting option "tcp-nodelay" to 1
2009/10/16 01:28:52 socat[2790] I setting option "fork" to 1
2009/10/16 01:28:52 socat[2790] I setting option "so-reuseaddr" to 1
2009/10/16 01:28:52 socat[2790] I setting option "substuser" to 99
2009/10/16 01:28:52 socat[2790] I socket(2, 1, 6) -> 3
2009/10/16 01:28:52 socat[2790] I starting accept loop
2009/10/16 01:28:52 socat[2790] N listening on AF=2 0.0.0.0:2106
 
Last edited:
hmmm

mines just sitting here

2009/10/16 01:28:52 socat[2790] I setting option "tcp-nodelay" to 1
2009/10/16 01:28:52 socat[2790] I setting option "fork" to 1
2009/10/16 01:28:52 socat[2790] I setting option "so-reuseaddr" to 1
2009/10/16 01:28:52 socat[2790] I setting option "substuser" to 99
2009/10/16 01:28:52 socat[2790] I socket(2, 1, 6) -> 3
2009/10/16 01:28:52 socat[2790] I starting accept loop
2009/10/16 01:28:52 socat[2790] N listening on AF=2 0.0.0.0:2106

you have to do all three of them in three different terminal windows; all three are listening for incoming connections.
 
well as i said this is how i have it for now, why i wanted to use ranged:
206.127.156.166:7777 - auth
206.127.156.175:10241 - game
206.127.147.28:2106 -???/game
 
gna try again tomorrow see what happens if no come right gna try a normal vpn service :( dunno y im getting dc
 
going to try this method out as well.

post 224 on http://forums.worldofwarcraft.com/thread.html?topicId=3271071466&sid=1&pageNo=12

* 224. Re: International Lower Ping HOWTO + Observat 12/11/2007 08:26:58 PM PST

quote reply
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.
 
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..
 
Last edited:
cb29e37b.jpg
 
So which one better necuno? cause there is a windows way and my ping sitting between 600 and 650

ill retry the method without the proxy vs the proxy; but i've come to the conclusion that the aion servers still needs work by themselves anyways. should us servers be better ping wise vs uk ones ?

how consistent are your ping rates, i now get anything from 290-600ms at times. i made a macro to ping, got tired to type it in all the time.

i can however mail you the .deb for the compiled ss5 proxy which will have you only to configure it first and start it up. then you can also have a look- pm me with email and i'll send it through tonight somewhere.

the thing is to get windows to have it's tcp stack better "managed" that is why you would do something like this or use lowping for example, if you can tune something to better the way the tcp is handled without changing the your main system as a whole then you are set, since it is bad to just go and disable the nagle via the registry (aka the windows way).

i also tried to finer tune linu'x rwin and mtu, but didn't seem to do any good to the over all latency apart form getting 1KBs more on upload speed in the end and better overall stable download speeds.
 
Last edited:
hmmm i see there is a tut over at aion source (same as i posted on page one just with "aion values")
http://www.aionsource.com/forum/gen...ering-your-latency-virtual-machine-linux.html

server ips i got of a 'list' (not sure of the correctness)
Aion EU Server IP Addresses

Thor
206.127.156.168

Castor
206.127.156.164

Votan
206.127.156.169

Vidar
206.127.156.172

Urtem
206.127.156.171

Gorgos
206.127.156.166

Kromede
206.127.156.167

Balder
206.127.156.170

Perento
206.127.156.165

Spatalos
206.127.156.162

Telemachus:
206.127.156.163

7777 is the game port
 
Last edited:
wow nice ping with that solution, geez- wonder if it going to last
266ms to 319ms

using gorgos in

ubuntu
Code:
sudo iptables -t nat -A PREROUTING -p tcp -d 206.127.156.166 --dport 7777 -j REDIRECT --to-ports 7777
sudo socat -d -d -d TCP4-LISTEN:7777,nodelay,fork,reuseaddr,su=nobody TCP4:206.127.156.166:7777,nodelay

windows
Code:
route add 206.127.156.166 mask 255.255.255.255 10.10.10.6


fd34cc0b.jpg
 
Last edited:
another thing to try is the "Leatrix Latency Fix"; but this messes with your actual OS and could befoul other things that won't like the nagle fix

update:
my first ping string with the Leatrix Latency Fix
a9840d36.jpg



i'm going to do the remote server later on so far ive gather i need to do the following

me -> ssh tunnel -> remote server -> realms

so that means setting up on the remove server
tunneling
routing with the tcp optimizations (socks server or by hand :eek:)
 
Last edited:
Right so. I have no idea whats going on here all I knw is you guys are making your own proxies...no how would I go about doing that? :D
 
Back
Top