Channels and map servers #170
Replies: 5 comments
-
My personal opinion matches with yours. I think that feature should be implemented if enough people request it. |
Beta Was this translation helpful? Give feedback.
-
I agree, right now we don't need channels. |
Beta Was this translation helpful? Give feedback.
-
Melia should be able to support multiple channels, but that is not a current priority. When designing the architecture, we should be mindful that channel support could be wanted or desired at some point, and thus we don't want to lock into a design that prevents support of that. The goal of the project is to emulate the official servers except in the case of uncontested bad decisions made by the producers. Channel support and map server support are not poor decisions, and a server operator should be able to employ the strategy which they prefer without us making that decision in their place. |
Beta Was this translation helpful? Give feedback.
-
Based on the comments, I think it's safe to say that while we all believe that we don't need channels right now, it should probably be a feature at some point. In that case we might want to think about adding support rather sooner than later though, as adding it later, even if we're mindful about it in the meantime, will only complicate things and require refactoring. Consider how many "TODO: Channel support" comments we have already at this point. The design might actually gonna be interesting. With map servers you have to consider that every map could be on a different machine. With channels you have to consider that a character might be on a different machine, but all machines will have all maps, and the channels are like sub-servers. With both, you have a network of "maps exist X times, anything could be anywhere, deal with it"^^ |
Beta Was this translation helpful? Give feedback.
-
I honestly don't remember why I even made this a discussion. Map/Zone servers are just channel servers that don't necessarily support all maps, so when switching between them you just have to check whether the target server serves a map, and if it doesn't you choose another server. This requires very little additional work and actually seems like a no-brainer, as it's almost a free feature. Whether channels need to be supported also seems like a silly question, because this game doesn't lend itself to running on single channels. The maps are too small and linear for no user to ever want multiple channels. The logical conclusion is that we do need map servers, and we will add them sooner or later. |
Beta Was this translation helpful? Give feedback.
-
Intro
I've been thinking about our future server structure, and I'd like to discuss what exactly we want and need from it.
IMC designed ToS's servers for maximum efficiency. On one hand they have the ability to create dedicated map servers for a single map, for highly populated areas, on the other hand they support channels, allowing players to hop onto a different one, should a location be too crowded. This approach has obvious advantages, but it complicates the design. You basically have to assume that any command that involves another character might have to cross server borders, and you need to synchronize everything between X channel servers.
Ragnarok
I imagine many of us here will have experience with Ragnarok and Athena, where things were different. While I seem to remember that Athena (like Aegis) technically supports dedicated map servers, I don't think I've ever seen anyone use that setup, and one of the few references I just found on that feature mentions that there are multiple issues that make it tricky to use, suggesting that it was never implemented properly. There were also no channels in Ragnarok.
What Athena admins would do instead, is simply set up one set of servers for every one of their game servers. Maybe one Login+Char+Map server for a high rate, then a Char+Map for low rate, etc. The reason companies stopped using that model, and came up with map servers, channels, etc, is that it's not scaleable. It worked in the early days of MMOs, when you had only a few thousand players tops, but it doesn't work well if your player base goes into the tens or hundreds of thousands. That's the thing though, even really big pservers very rarely had to worry about numbers like that.
No problem
Not only do pservers usually have a smaller population, the players are also scattered across all the pservers out there. There's not one big publisher that has to take care of millions of players, but dozens if not hundreds of small "publishers", who manage a total of a few tens of thousands of players, leaving just thousands or hundreds for each one. Amounts that you don't usually need dedicated map servers or channels for.
Map servers are mainly a question of how much traffic you want to be able to handle. A single server can ideally handle several thousands of players, but at some point there will be a bottle-neck, be it CPU, RAM, or network. For channels however there are two sides to the argument on the user side.
Pros and Cons
One might say that channels are bad for the community, because they split the population. I remember on another game, when you would switch channels, it was like you entered a different server. Different market, people you had never seen before, forum signatures saying "I'm always on Ch ...", they were basically "sub-servers". An argument can also be made that searching for your friends across channels can be annoying.
On the other side players are competing over hunting grounds, and popular areas might make the client lag: the reasons channels became a thing. While I believe that these problems speak for poor design, because there are hotspots that attract players, with the game failing to distribute them over different fields and towns, the issue is kinda forced on us when emulating a game 1:1, because we can't really mess with the official quests, monsters, and relevant NPCs. (Or can we? Maybe a discussion for another day.)
Summary
In short, map servers and channels are more difficult to code, and I wonder whether we even need them. There's always the argument that a Melia user might want or need these features, and generally I'm in favor of providing users with everything they might have a use for, but then again I've just so rarely seen these features in action on pservers that it seems like a waste of time to design the entire server structure around them, when it would be so easy to just assume that the player will never leave the one map/channel server. And while it's not exactly the same, users could always make a second server that uses the same login database.
What do you think? Do we need channels? Do we need map servers? Do we actually need both? Personally I'm leaning towards not needing either.
Beta Was this translation helpful? Give feedback.
All reactions