Thread: [634] (Absolutely useless) load balancing

Page 1 of 3 123 LastLast
Results 1 to 10 of 23
  1. #1 [634] (Absolutely useless) load balancing 
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    654
    Thanks received
    640
    Rep Power
    358
    I know there isn't really a purpose for a small RSPS, but how would I go about making a load balancer so that the clients don't always connect to the same server? Is there already a way to do this inside the RS client? Doesn't necessarily have to be for 634, just curious to know if/how Jagex does it.
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  2. #2  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    654
    Thanks received
    640
    Rep Power
    358
    bump
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  3. #3  
    Be the change you wanna see!

    Nozemi's Avatar
    Join Date
    Jul 2010
    Posts
    378
    Thanks given
    166
    Thanks received
    182
    Discord
    View profile
    Rep Power
    852
    OSRS has worlds, and cap them at 2k players iirc.

    I don't think what you're suggesting is even invented for RS or any private servers. You would need to write a server that can communicate with other instances of the server. Otherwise you'll also end up having separate worlds, which is probably the way to go about it.

    However, realistically; you don't have to worry about this at all. If your server can't handle the amount of players you get, it's most likely due to shit code.

    The more realistic question is how to load balance connections to prevent DDoS. Not entirely sure how to go about this, but I'd try reverse proxying the traffic. However, in most cases, using OVH should suffice for this as well.
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  4. Thankful user:


  5. #4  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    654
    Thanks received
    640
    Rep Power
    358
    Quote Originally Posted by Nozemi View Post
    OSRS has worlds, and cap them at 2k players iirc.

    I don't think what you're suggesting is even invented for RS or any private servers. You would need to write a server that can communicate with other instances of the server. Otherwise you'll also end up having separate worlds, which is probably the way to go about it.

    However, realistically; you don't have to worry about this at all. If your server can't handle the amount of players you get, it's most likely due to shit code.

    The more realistic question is how to load balance connections to prevent DDoS. Not entirely sure how to go about this, but I'd try reverse proxying the traffic. However, in most cases, using OVH should suffice for this as well.
    Yes, I'm thinking of using a solution that would work in the case where I would have 2+ different game servers on 2+ different physical devices. Reverse proxy was a solution I thought about, but wouldn't that have the same original issue since it would still be a single server processing all the requests (at least until the user is actually logged ingame)? That's why I was looking at a way to distribute the traffic directly from the client by having the original server that the client connects to send back the details of which server to connect to next. I would still be using a reverse proxy, but it would only have to deal with the first packet from the client, instead of everything up to login (JS5, lobby, etc.)

    What do you think? Does everything I say make sense?
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  6. #5  
    Be the change you wanna see!

    Nozemi's Avatar
    Join Date
    Jul 2010
    Posts
    378
    Thanks given
    166
    Thanks received
    182
    Discord
    View profile
    Rep Power
    852
    Quote Originally Posted by clem585 View Post
    Yes, I'm thinking of using a solution that would work in the case where I would have 2+ different game servers on 2+ different physical devices. Reverse proxy was a solution I thought about, but wouldn't that have the same original issue since it would still be a single server processing all the requests (at least until the user is actually logged ingame)? That's why I was looking at a way to distribute the traffic directly from the client by having the original server that the client connects to send back the details of which server to connect to next. I would still be using a reverse proxy, but it would only have to deal with the first packet from the client, instead of everything up to login (JS5, lobby, etc.)

    What do you think? Does everything I say make sense?
    The reverse proxy has nothing to do with the hardware related load balancing. Not sure how much that even affects the ping, which could affect PvP quite a bit.

    If you want two server instances on two separate physical servers, you'll need to re-design quite a bit. I'm not the right person to tell you how much work that is, but I can imagine it'd be A LOT of work, and quite difficult.

    There was a discussion in Discord about RAM, and Ikov is allocated 512MB RAM, same is Eden. Not sure what kind of CPU they use, but I seriously doubt you'll ever have to worry about hardware, other than getting a beefier server for your RSPS.
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  7. Thankful user:


  8. #6  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    654
    Thanks received
    640
    Rep Power
    358
    Quote Originally Posted by Nozemi View Post
    The reverse proxy has nothing to do with the hardware related load balancing.
    What do you mean by that? Isn't the point of the reverse proxy to distribute the load between 2+ servers so more than one can process JS5/lobby packets?

    Quote Originally Posted by Nozemi View Post
    If you want two server instances on two separate physical servers, you'll need to re-design quite a bit. I'm not the right person to tell you how much work that is, but I can imagine it'd be A LOT of work, and quite difficult.
    I'm using my own server which already supports that, that's the reason I'm interested in this idea.

    Quote Originally Posted by Nozemi View Post
    There was a discussion in Discord about RAM, and Ikov is allocated 512MB RAM, same is Eden. Not sure what kind of CPU they use, but I seriously doubt you'll ever have to worry about hardware, other than getting a beefier server for your RSPS.
    I agree it's not something that will be needed for any RSPS, I was just researching how to do it in order to gain more knowledge about traffic balancing. Judging from the information you've given me, there doesn't seem to be an existing client-sided solution for what I'm trying to create.
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  9. #7  
    Be the change you wanna see!

    Nozemi's Avatar
    Join Date
    Jul 2010
    Posts
    378
    Thanks given
    166
    Thanks received
    182
    Discord
    View profile
    Rep Power
    852
    Quote Originally Posted by clem585 View Post
    What do you mean by that? Isn't the point of the reverse proxy to distribute the load between 2+ servers so more than one can process JS5/lobby packets?
    Yes, it would distribute the traffic, but it doesn't necessarily distribute it between different physical servers. Personally (given the fact that RS(PS) in most cases has one server instance per world), I would just do it to hide the actual IP, so if someone chose to DDoS my server, they'd hit offline a proxy.

    Quote Originally Posted by clem585 View Post
    I'm using my own server which already supports that, that's the reason I'm interested in this idea.

    I agree it's not something that will be needed for any RSPS, I was just researching how to do it in order to gain more knowledge about traffic balancing. Judging from the information you've given me, there doesn't seem to be an existing client-sided solution for what I'm trying to create.
    Never done load balancing myself, so wouldn't really know the best practice. However, you could have your client ask a web service what server instances are listening for connections. Then choose the one with least load.

    Though I'm fairly sure a load balancer will distribute the connections between the servers you have configured for it, so don't think the client really needs to have support for that. It just connects to a load balancer, then that balancer distributes the traffic where it needs to go.
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  10. Thankful users:


  11. #8  
    Registered Member

    Join Date
    Sep 2016
    Posts
    161
    Thanks given
    76
    Thanks received
    70
    Discord
    View profile
    Rep Power
    404
    I thought rs hosted 4 worlds per server. Idk where i got that info from could be wrong
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  12. #9  
    Registered Member

    Join Date
    Nov 2014
    Posts
    41
    Thanks given
    17
    Thanks received
    33
    Rep Power
    120
    I'm not sure about older game versions, but in RS3 the game configuration (jav_config.ws) contains the default hosts.

    Unfortunately many clients and servers hardcode the startup parameters. If you load them from a website you can set the default host for js5, lobby et cetera. In RS3 the default world server is sent during lobby login.
    Reply With Quote  
     

  13. Thankful user:


  14. #10  
    zen2
    Corey's Avatar
    Join Date
    Feb 2012
    Age
    23
    Posts
    1,388
    Thanks given
    1,090
    Thanks received
    1,451
    Discord
    View profile
    Rep Power
    5000
    Quote Originally Posted by techdaan View Post
    I'm not sure about older game versions, but in RS3 the game configuration (jav_config.ws) contains the default hosts.

    Unfortunately many clients and servers hardcode the startup parameters. If you load them from a website you can set the default host for js5, lobby et cetera. In RS3 the default world server is sent during lobby login.
    The same goes for OSRS, and almost certainly the revision OP is using. You could change the default world depending on server load, round-robin, whatever lb-strategy you want.
    You could also load balance the config script (with parameters etc) endpoint.
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  15. Thankful user:


Page 1 of 3 123 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Selling 614 Loading 634 Client
    By dylan12 in forum Selling
    Replies: 0
    Last Post: 04-17-2011, 03:44 AM
  2. [PI] Loading ALL 634 item stats
    By Alexander in forum Snippets
    Replies: 23
    Last Post: 03-21-2011, 05:49 PM
  3. 614 client loading a 634 cache
    By shadder in forum Requests
    Replies: 23
    Last Post: 03-12-2011, 10:36 PM
  4. Replies: 434
    Last Post: 02-26-2011, 02:17 AM
  5. Replies: 0
    Last Post: 01-31-2011, 10:09 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •