Tree of Savior Forum

Proper channel load balancing needed

From what I saw in the game, the server was spawning more channels after a certain threshold of players per channel was reached. This in itself is good, but not enough, because of the following problems:

  • the server seems to always send you to ch1 when you teleport to a map instead of switching from map to map
  • the threshold itself was set a bit high, so even with 2 dots per channel, the server couldn’t handle the requests anymore sometimes, thus disconnecting people.

What we need is for the server to

  • create a new channel if one of the channels reaches the defined threshold
  • move the player coming to the map to the least populated channel by default
  • if the above player is part of a party, then other players will be moved to that channel as well
  • allow the player to switch channels manually, if they wish to
  • remove the channel when the last player leaves it

The first and last point is already implemented from what I could see, but it could have also been done by GMs, because I saw all 4 channels having 3 red dots in Mines 1F at some point. I imagine this was to stress test the servers, though, so that will hopefully be better later on.

1 Like

I honestly believe that we won’t have to worry about channel optimization being better fleshed out as the game comes along. I think it did a pretty good job even in this beta, and that they will be making improvements onto it.

However, and I may be wrong, I think I did notice sometimes when either going to the lodge, or zoning, that I would get moved from a channel if it had 4 dots.

I have to disagree with auto-zoning players within the same party to each other. Unless this was something you could toggle in the settings ( and it could even be enabled by default ). It would be annoying for me, if I chose to be in another channel for whatever reason, and was in a party just to chat with someone, and I kept getting moved to their channel. I wouldn’t want any automatic functionality to override my manual choice of channel.

Also just to note, the point about allowing the player to switch channels manually was already implemented in the beta.

From my experience, I didn’t have any issues in busy channels, and the areas seemed to adequately create channels whenever there were enough people to handle them. This may be more of an issue for those on low-end machines or laptops.

I also want to touch on a point that others have made ( that I know isn’t a point you are making ) - that the channels were too crowded with people. I think the levels were generally just right. You couldn’t just switch to an empty channel to have entire spawns to yourself, and there was a healthy level of competition. You needed to deal with it as a player, and either join a party ( encouraging party play, good design in my book ), or go to a zone that had mobs around your level so that you could compete for kills efficiently ( leading the player by design to better decisions ).

[quote=“zhouyu47, post:2, topic:36658”]
However, and I may be wrong, I think I did notice sometimes when either going to the lodge, or zoning, that I would get moved from a channel if it had 4 dots.
[/quote]The only move I saw was getting moved to ch1 when teleporting, instead of keeping me on the channel I was in already.

[quote=“zhouyu47, post:2, topic:36658”]
I have to disagree with auto-zoning players within the same party to each other. Unless this was something you could toggle in the settings ( and it could even be enabled by default ). It would be annoying for me, if I chose to be in another channel for whatever reason, and was in a party just to chat with someone, and I kept getting moved to their channel. I wouldn’t want any automatic functionality to override my manual choice of channel.
[/quote]The reason why I suggested it was that being in a party means you want to do stuff together. If the server would balance all people among channels indiscriminately, you’d end up with every party member in another channel every time your party changes maps. To clarify, this moving of party members would only happen to those that change maps together. So if you are on another channel already, you are not going to be force moved to the other channel. It wouldn’t make any sense anyway, because other members would be on another map.

So: if you choose to follow your party members to the same map, then you will be automatically put on the same channel as them. There is no overriding your choice.

I hope that clears it up.

Yes, I know.

[quote=“zhouyu47, post:2, topic:36658”]
From my experience, I didn’t have any issues in busy channels, and the areas seemed to adequately create channels whenever there were enough people to handle them. This may be more of an issue for those on low-end machines or laptops.
[/quote]Latency issues are completely unrelated to your PC specs, which is a common misunderstanding. Your location, signal quality (if using WLAN) and the path your signal takes to the server are the main reasons.

Load balancing aims to solve another: the server not being able to handle all the requests. You can tell this type of lag from the usual one when you suddenly become unable to switch channels or log out. It’s different in the sense that the data you send to the server never gets handled, because it’s busy processing other users’ requests and there is a timeout after which the data is invalidated to prevent abuse.

The channels we see are actually separate machines (or clusters), with maps being automatically hosted on them as needed to alleviate the load. I’ve had the server lag at peak times very badly, where suddenly all sort of things broke, magic circles not working, game not detecting I defeated the demons around a magic circle, or letting me clear a circle without killing off the demons around. On off times, it was perfectly fine as you describe.

[quote=“zhouyu47, post:2, topic:36658”]
I also want to touch on a point that others have made ( that I know isn’t a point you are making ) - that the channels were too crowded with people. I think the levels were generally just right. You couldn’t just switch to an empty channel to have entire spawns to yourself, and there was a healthy level of competition. You needed to deal with it as a player, and either join a party ( encouraging party play, good design in my book ), or go to a zone that had mobs around your level so that you could compete for kills efficiently ( leading the player by design to better decisions ).
[/quote]Agreed. This is why choosing a correct threshold to add a channel is important.

I see, so you were speaking to the load balancing changing your channel taking priority on your party’s channel, as opposed to just an automatic channel change based on party regardless. That makes sense.

[quote=“Soukyuu, post:3, topic:36658”]

I do understand this ( part of my job is devops ). I was only speaking anecdotally to my experience in reference to what can happen when many animations are onscreen, although I see how my wording didn’t reflect that.

[quote=“zhouyu47, post:4, topic:36658”]
I do understand this ( part of my job is devops ). I was only speaking anecdotally to my experience in reference to what can happen when many animations are onscreen, although I see how my wording didn’t reflect that.
[/quote]Actually, there are some badly implemented games where you having low fps for example makes monster telegraphs appear later than intended, so if you have low fps, you are risking to get hit by the mobs even if you were safe according to the telegraphs. I don’t think ToS is one of them, though, at least it hasn’t happened to me so far.

The game should automatically move players to channels that have less people rather than always putting us in channel 1 or 2 be default. This helps spread people around and I hate having to change the channel all the time because of the amount of people in one spot causing lag