Remote GLINK

Results 1 to 11 of 11
  1. #1
    C#/PHP/AJAX/JAVA DEV LegalSin is offline
    True MemberRank
    Dec 2011 Join Date
    RaGEZONELocation
    470Posts

    Remote GLINK

    Hi anyone knows how to setup the server in a way that you can have multiple glink servers on VPS to reduce ping?


  2. #2
    Member wanted587 is offline
    MemberRank
    Aug 2013 Join Date
    BrazilLocation
    57Posts

    Re: Remote GLINK

    this is very easy, I will do a tutorial soon and post here.

  3. #3
    Account Upgraded | Title Enabled! cintapw is offline
    True MemberRank
    Apr 2011 Join Date
    244Posts

    Re: Remote GLINK

    yeah it is easy to setup.

  4. #4
    Hardcore Member w3bm4ster is offline
    MemberRank
    May 2014 Join Date
    CanadaLocation
    127Posts

    Re: Remote GLINK

    Its useless. There's a lot of things that can have directly influence in ping size. What you should do, is buy a server in the same country of your players.Imagine this scenario:- Dedicated from USA;- Players from Netherlands;- VPS in Netherlands for glinkd;Your players will see a lower ping but internally (dedicated <-> VPS) you'll get a huge delay. Is good for security but only if both are on the same network. Like OVH with their VRack / Private Network. Butttttt if you have a lot of players, you'll need more process capacity than a VPS can support so you'll need to buy a new dedicated (wich will increase the monthly cost) and can be solved if you virtualize your server using ESXI, for example.

  5. #5
    C#/PHP/AJAX/JAVA DEV LegalSin is offline
    True MemberRank
    Dec 2011 Join Date
    RaGEZONELocation
    470Posts

    Re: Remote GLINK

    Thank you all for replay!
    w3bm4ster IDK what you mean by a lot of players:D but PW servers don't have more then 200 players online @ once in our days.

    wanted587 I am waiting :D

  6. #6
    Hardcore Member w3bm4ster is offline
    MemberRank
    May 2014 Join Date
    CanadaLocation
    127Posts

    Re: Remote GLINK

    Quote Originally Posted by LegalSin View Post
    Thank you all for replay!
    w3bm4ster IDK what you mean by a lot of players:D but PW servers don't have more then 200 players online @ once in our days.

    wanted587 I am waiting :D
    Bad expressed. Let's restart: Put glinkd in another server (in other location/network) is merely illustrative. Your players you'll see lower ping in login page but internally will have a huge delay and this separation will become useless. Put glinkd in another server (on same location/network) is good for security and will prevent login issues if you have more than 900+ players on the same glinkd.


    In terms of perfomance =
    900+ (for example) players online acessing the same glinkd in some moment a lot of them will not be able to connect. Put the glinkd in another server (same location/network) will fix the issue but will be more expensive, and unecessary. Is possible to keep this expense out if you virtualize the main server and enable other glinkds (29001, 29002, 29003, 29004, etc) as well is possible to keep just one link for users but redirect them to other links internally.

    If you have only 200 players you'll not see this problems mentioned above (login issues). But you'll of course have problems with delay if you put the glinkd in a VPS (in other location/network): If you want reduce the ping you have to ways:


    - Buy a server in your players country;
    - Move to a Private Network;


  7. #7
    Member gebryas is online now
    MemberRank
    Mar 2014 Join Date
    67Posts

    Re: Remote GLINK

    i started with try and error , on 2 split server , glink will connect to main server gdelivery, but when i login it will be DC at entering PWI

    any clue to fix it ?
    my 2nd glink gamesys.conf ( i used glink 2 )
    Code:
    [GLinkServer1]
    type            =    tcp
    port            =    29000
    address            =    0.0.0.0
    so_sndbuf        =    12288
    so_rcvbuf        =    12288
    ibuffermax        =    16384
    obuffermax        =    65536
    tcp_nodelay        =    0
    listen_backlog    =    10
    accumulate        =    131072
    max_users        =    3000
    halflogin_users =    6000
    sender_interval    =    200000
    accumu_packets    =    32768
    mtrace            =    /tmp/m_trace.link
    compress        =    0
    close_discard    =    1
    urgency_support    =    1
    version=10503
    
    [GLinkServer2]
    type            =    tcp
    port            =    29001
    address            =    glink2-ip-address
    so_sndbuf        =    12288
    so_rcvbuf        =    12288
    ibuffermax        =    16384
    obuffermax        =    65536
    tcp_nodelay        =    0
    listen_backlog    =    10
    accumulate        =    131072
    max_users        =    300
    halflogin_users    =    600
    sender_interval    =    200000
    accumu_packets    =    32768
    mtrace            =    /tmp/m_trace.link
    compress        =    0
    close_discard    =    1
    urgency_support    =    1
    version=10503
    
    [GLinkServer3]
    type            =    tcp
    port            =    29002
    address            =    0.0.0.0
    so_sndbuf        =    12288
    so_rcvbuf        =    12288
    ibuffermax        =    16384
    obuffermax        =    65536
    tcp_nodelay        =    0
    listen_backlog    =    10
    accumulate        =    131072
    max_users        =    3000
    halflogin_users =    6000
    sender_interval    =    200000
    accumu_packets    =    32768
    mtrace            =    /tmp/m_trace.link
    compress        =    0
    close_discard    =    1
    urgency_support    =    1
    version=10503
    
    [GLinkServer4]
    type            =    tcp
    port            =    29003
    address            =    0.0.0.0
    so_sndbuf        =    12288
    so_rcvbuf        =    12288
    ibuffermax        =    16384
    obuffermax        =    65536
    tcp_nodelay        =    0
    listen_backlog    =    10
    accumulate        =    131072
    max_users        =    3000
    halflogin_users =    6000
    sender_interval    =    200000
    accumu_packets    =    32768
    mtrace            =    /tmp/m_trace.link
    compress        =    0
    close_discard    =    1
    urgency_support    =    1
    version=10503
    
    [GDeliveryClient]
    type            =    tcp
    port            =    29100
    address            =    main-server-ip
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GProviderServer1]
    type            =    tcp
    port            =    29301
    address            =    0.0.0.0
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GProviderServer2]
    type            =    tcp
    port            =    29302
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GProviderServer3]
    type            =    tcp
    port            =    29303
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GProviderServer4]
    type            =    tcp
    port            =    29304
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GFactionClient]
    type            =    tcp
    port            =    29500
    address            =    main-server-ip
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1638400
    obuffermax        =    1638400
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [LogclientClient]
    type            =    udp
    port            =    11100
    address            =    main-server-ip
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    65536
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [LogclientTcpClient]
    type            =    tcp
    port            =    11101
    address            =    main-server-ip
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    65536
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [ThreadPool]
    threads            =    (1,3)(100,1)(101,1)(0,1)
    max_queuesize    =    1048576
    prior_strict    =    1
    my main gdeliveryd gamesys.conf

    Code:
    [LogclientClient]
    type            =    udp
    port            =    11100
    address            =    0.0.0.0
    so_sndbuf        =    16384
    so_rcvbuf        =    16384
    ibuffermax        =    16384
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [LogclientTcpClient]
    type            =    tcp
    port            =    11101
    address            =    0.0.0.0
    so_sndbuf        =    16384
    so_rcvbuf        =    16384
    ibuffermax        =    16384
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [Intervals]
    ;set accounting interval,unit is second
    account_interval    =    600
    ;set delrole interval,unit is second
    delrole_interval    =    60
    ;set check forbidlogin user's map interval,unit is second
    checkforbidlogin_interval = 60
    
    [GDeliveryServer]
    zoneid=199
    aid=10
    freeaid=1
    zondname        =    zone1
    max_player_num    =    6000
    type            =    tcp
    port            =    29100
    address            =    0.0.0.0
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    listen_backlog        =    10
    accumulate        =    1048576
    mtrace            =    /tmp/m_trace.link
    pvp=0
    battlefield=0
    sellpoint        =0
    freecreatime        =        0
    max_name_len            =     32
    table_name              =     rolename.txt
    name_charset            =     ASCII
    ;table_charset           =     UCS2
    table_charset=GBK
    district_id=districtzone
    recalloldplayer=1
    token_login_support    =    true
    lan_ip_list=124.193.167.1,118.114.253.16,119.153.48.1,211.157.164.1,221.237.152.224
    is_central_ds=false
    max_login_wait_num=2000
    forbid_cross=0
    
    [GAuthClient]
    type            =    tcp
    port            =    29200
    address            =    172.16.2.76
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    131072
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    131072
    isec            =    2
    iseckey            =    n1hxpxztozyxnsvk6RaycpmrCnrdds
    osec            =    2
    oseckey            =    rdppjtaki1MxoHnsnaltiiwfjszs9l
    shared_key        =    4khdwAAcjrg0eqfzazqcemdpgulnje
    au_cert         =     false
    
    [GProviderServer]
    id                =    0
    type            =    tcp
    port            =    29300
    address            =    0.0.0.0
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast        =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [UniqueNameClient]
    type            =    tcp
    port            =    29401
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    isec            =    2
    iseckey            =    hgzmbmeyrQaivu2pTikcp1svqcueef
    osec            =    2
    oseckey            =    7mlyiidbm0kntvhRgjhjzdczDtbhnh
    
    [GameDBClient]
    type            =    tcp
    port            =    29400
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast        =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GAntiCheatClient]
    type            =    tcp
    port            =    29702
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1638400
    obuffermax        =    1638400
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [GFactionClient]
    type            =    tcp
    port            =    29500
    address            =    0.0.0.0
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1638400
    obuffermax        =    1638400
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    
    [ThreadPool]
    threads            =    (1,3)(100,1)(101,1)(0,1)
    max_queuesize    =    1048576
    prior_strict    =    1
    
    [BattleBonus]
    id = 36907
    countoflevel1 = 3
    countoflevel2 = 4
    countoflevel3 = 6
    maxcount = 50000
    proctype = 0
    specialid = 28350
    countofspecial = 1
    specialproctype = 0
    maxcountofspecial = 999
    
    [GWebTradeClient]
    ibuffermax=1638400
    obuffermax=1638400
    type=tcp
    port=29209
    address=180.235.64.132
    so_sndbuf=16384
    so_rcvbuf=16384
    tcp_nodelay=0
    accumulate=268435456
    isec=2
    iseckey=ed3aL0iigypkvjjtclniqwomuWmajguk
    osec=2
    oseckey=taaprYnuYabhjgrvwa89dhhecgkwifjd
    
    [ConsumeReward]
    open = 1
    begin_time = 2013-12-11-12
    end_time = 2013-12-25-0
    reward_type = (5000,1000)(10000,2000)(20000,4000)(50000,10000)(100000,20000)(500000,100000)
    reward_time = (1,1)
    
    [GameTalkClient]
    type = tcp
    port = GAMETALKCLIENTPORT
    address = GAMETALKCLIENTADDRESS
    so_sndbuf = 16384
    so_rcvbuf = 16384
    ibuffermax = 1638400
    obuffermax = 1638400
    tcp_nodelay = 0
    accumulate = 268435456
    isec=2
    iseckey=E5nawckJbyjjg8ehwselue9llxjkmrso
    osec=2
    oseckey=xobBkvxnulzwn8eeAzdf8srgthutwqoG
    
    [SNSClient]
    type = tcp
    port = SNSCLIENTPORT
    address = SNSCLIENTADDRESS
    so_sndbuf = 16384
    so_rcvbuf = 16384
    ibuffermax = 1638400
    obuffermax = 1638400
    tcp_nodelay = 0
    accumulate = 268435456
    
    [COUNTRYBATTLE]
    occupation0 = 1.05;0.4;1.4;1.2;0;1.2
    occupation1 = 1;0.4;1;1;0;1
    occupation2 = 1;0.4;1;1;0;1
    occupation3 = 1.1;0.4;1.2;1.2;0;1.2
    occupation4 = 1.1;0.4;1.5;1.2;0;1.2
    occupation5 = 1;0.4;1;1;0;1
    occupation6 = 1;0.4;1;1;0;1
    occupation7 = 1.05;0.4;1.5;1.1;0;1.1
    occupation8 = 1.1;0.4;1.2;1;0;1.2
    occupation9 = 1.05;0.4;1.2;1.2;0;1.2
    score_limit = 0.3
    win_count_limit = 1
    death_count_limit = 5
    total_bonus = 85000
    is_countrybattle_open = 1
    combat_time_limit = 300
    contribute_val_limit = 10
    kingelection_open=0
    open_day=0,5
    occupation10=1.1;0.4;1.1;1.1;0;1.1
    occupation11=1.1;0.4;1.1;1.1;0;1.1
    
    [CentralDeliveryServer]
    type = tcp
    port = 29101
    address = 0.0.0.0
    so_sndbuf = 16384
    so_rcvbuf = 16384
    ibuffermax = 1048576
    obuffermax = 1048576
    tcp_nodelay = 0
    listen_backlog = 10
    accumulate = 268435456
    isec = 2
    iseckey = z4V8NNoe9WLLpszLgbfRG4QYlcxYA1HX
    osec = 2
    oseckey = VsVx38B2UdBat0JyZMftEViQXDClu98g
    accepted_zone_list = DS_ZONE_LIST
    
    [CentralDeliveryClient]
    type = tcp
    port = 29101
    address = CENTRAL_DS_ADDRSS
    so_sndbuf = 16384
    so_rcvbuf = 16384
    ibuffermax = 1048576
    obuffermax = 1048576
    tcp_nodelay = 0
    accumulate = 268435456
    isec = 2
    iseckey = VsVx38B2UdBat0JyZMftEViQXDClu98g
    osec = 2
    oseckey = z4V8NNoe9WLLpszLgbfRG4QYlcxYA1HX
    
    [TANKBATTLE]
    is_tankbattle_open = 0
    open_day = 2,4
    start_time = 19:00
    end_time = 20:00
    min_time = 20
    max_time = 30
    no_new_battle_time = 15
    cant_enter_time = 2
    max_player = 100
    bonus_item_id = 41074
    bonus_proctype = 16403
    bonus_max_count = 10000
    bonus_count = (1,50)(2,25)(3,20)(4,18)(5,16)(6,14)(7,13)(8,12)(9,11)(10,10)(20,9)(30,8)(40,7)(50,6)(100,5)(200,4)(1000,2)(99999999,1)
    
    [FACTIONRESOURCEBATTLE]
    is_factionresourcebattle_open    =    1
    open_day    =    3,4
    start_time    =    20:00
    end_time    =    21:00
    bonus_item_id    =    43573
    bonus_proctype    =    16403
    bonus_max_count    =    2000
    
    [MNFBATTLE]
    apply_begin_time    =    [4]12:00:00
    apply_end_time    =    [4]24:00:00
    cross_begin_time    =    [6]19:30:00
    battle_begin_time    =    [6]20:00:00
    battle_end_time    =    [6]22:00:00
    credit_a    =    40
    credit_b    =    10
    credit_c    =    10
    domain_count_lvl1    =    5
    domain_count_lvl2    =    9
    domain_count_lvl3    =    12
    max_apply_faction_num    =    2
    bonus_item_a    =    48097:4:999:16403
    bonus_item_b    =    48097:1:999:16403
    bonus_item_c    =    48097:1:999:16403
    bonus_item_master    =    28350:3:999:0
    is_mnfbattle_open    =    1

    my gfaction gamesys.conf on main server

    Code:
    [LogclientClient]
    type            =    udp
    port            =    11100
    address            =    0.0.0.0
    so_sndbuf        =    16384
    so_rcvbuf        =    16384
    ibuffermax        =    16384
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [LogclientTcpClient]
    type            =    tcp
    port            =    11101
    address            =    0.0.0.0
    so_sndbuf        =    16384
    so_rcvbuf        =    16384
    ibuffermax        =    16384
    obuffermax        =    1048576
    accumulate        =    1048576
    
    [GFactionServer]
    type            =    tcp
    port            =    29500
    address            =    0.0.0.0
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    listen_backlog    =    10
    accumulate        =    1048576
    sender_interval    =    100000
    accumu_packets    =    4000
    mtrace            =    /tmp/m_trace.link
    table_name              =       filters
    table_charset           =       GB2312
    name_charset=GBK
    is_central_faction=false
    
    [GProviderServer]
    id                =    101
    type            =    tcp
    port            =    29600
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    1048576
    ;isec            =    2
    ;iseckey        =    123
    ;osec            =    2
    ;oseckey        =    456
    
    [UniqueNameClient]
    type            =    tcp
    port            =    29401
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    268435456
    ;isec            =    2
    ;iseckey            =    hgzmbmeyrQaivu2pTikcp1svqcueef
    ;osec            =    2
    ;oseckey            =    7mlyiidbm0kntvhRgjhjzdczDtbhnh
    
    [GFactionDBClient]
    type            =    tcp
    port            =    29400
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    ;so_broadcast    =    1
    tcp_nodelay        =    0
    accumulate        =    1048576
    ;isec            =    2
    ;iseckey        =    123
    ;osec            =    2
    ;oseckey        =    456
    
    [ThreadPool]
    threads            =    (0,1)(1,4)(100,1)(101,1)
    max_queuesize    =    1048576
    prior_strict    =    0

  8. #8
    Hardcore Member w3bm4ster is offline
    MemberRank
    May 2014 Join Date
    CanadaLocation
    127Posts

    Re: Remote GLINK

    You need to setup gmserver.conf. And don't let your IP's as 0.0.0.0 you can use internal IP address if your host provide that or use a container.

    And as well, don't let you glinkd with IP 0.0.0.0 because if you add multiple glinkds on serverlist (even with different ports) all players will go to por 29000, so in that case you can use port foward for basic redirect or network bound (round robin) for a more robust solution.

  9. #9
    Member gebryas is online now
    MemberRank
    Mar 2014 Join Date
    67Posts

    Re: Remote GLINK

    one disadvantage of try and error is that possiable you forgot what you done that work!
    i changed some thing in gmserver.conf and successfully loged in game , but next time not :| , still cant
    can you help me more clear what i should do with gmserver.conf QQ , i'm really tired cuz about 4 hr i'm on it

  10. #10
    Gamemaster Coldwin is offline
    True MemberRank
    Dec 2011 Join Date
    322Posts

    Re: Remote GLINK

    What's the point of using remote glinkd? It increases lag and delay between the user and server. That fake low ping causes lots of disconnections. Getting a good dedicated server with anti-DDoS with good firewall settings is best.

  11. #11
    Member gebryas is online now
    MemberRank
    Mar 2014 Join Date
    67Posts

    Re: Remote GLINK

    Quote Originally Posted by Coldwin View Post
    What's the point of using remote glinkd? It increases lag and delay between the user and server. That fake low ping causes lots of disconnections. Getting a good dedicated server with anti-DDoS with good firewall settings is best.
    intranet in my country is much cheaper than internet :| we pay alot for gigs of internet :(
    i want to set one glink on a intranet VPS



Advertisement