StrangeLoopGames / EcoSuggestions

Repo for storing Eco game suggestions, separate from EcoIssues
35 stars 1 forks source link

Server gets full, people from day1 can't join: Add auto-whitelist feature with chat management commands. #895

Open Dreepa opened 5 years ago

Dreepa commented 5 years ago

From #ideafactory:

Dreepa: So most server providers have a cap on max connections, depending on what package you buy. In ECO there seems to be no way to limit the amount of "citizens" which leads to people not being able to join once the limit is reached. It would be nice if such a limit would be implemented.

Deantwol: @Dreepa (UTC+1), but then "window shoppers" and players that abandon the server will count again that limit even if they never returned :sweat: the current "max connections" seem fine for what the server hosts want :shrug: the server hosts shouldn't care about the number of citizens :confused:

Dreepa: @Dennis @Deantwo That's the whole point. The issue is that you cannot limit the accounts on the server. So people will try to join, that have been there from day 1, and will not be able to connect, since their slot was taken by a new player. Window shoppers and players that abandon the game will be dealt with by the admins anyway. Making room for new players. And not every server host has the $$$ to provide a 50 slot server.

Deantwo: so yeah, some optional whitelist feature would be a lot more useful than a "max unique players in world" limit @Dreepa currently removing players from the database is impossible

Dreepa: Okay, so maybe the wording was just the problem then. Let's call it auto-whitelist with admin chat-commands to manage at runtime.

johnkslg commented 5 years ago

Could the server admin just make the server private and hidden from the browser once the desired limit is reached?

Deantwo commented 5 years ago

He could, but a simple whitelist feature probably wouldn't require too much work.

But it would be annoying to suddenly have a bunch of servers on the server list that you can't join because they have whitelists/passwords. So making the server private would likely be easier for everyone.

Dreepa commented 5 years ago

I see 2 "downsides" to that:

  1. You need to be constantly monitoring the server to do that. (impossible).
  2. Making the server private requires other people to remember the IP if they switch device.

(And setting private is also requiring a restart iirc, right? Kicking everyone).

D3nnis3n commented 4 years ago

What you probably want is a reserved slot list, so when specific people join others get kicked. That's a cool idea, but an automatic registration method for them is too much, no other game with reserved slot lists provides that out of the box and they still work.

Dreepa commented 4 years ago

It should also be noted that no other game is like ECO :) 30day "semi-persistent" game-play. Kind of a "micro-mmo" game-play. If a game is successful, server will be full (-> Login queues etc.) If you have empty server on day 10, it might be a non-issue, but that might change when a game gains traction and 100 users have signed up on a 50 user server. Ofc I don't wish ECO to never encounter that issue by not becoming a successful and much played game. :) But I agree, if the server populations stay like they are currently, with a huge drop-off in the early days, it won't be an issue except for small privately run public servers with 10 slots.

D3nnis3n commented 4 years ago

Slots are uncommon at hosts for Eco. (I actually don't know where "most hosting providers" comes from, as most hosting providers i'm working with do NOT do that) Mostly they are restricted by server resources (buying RAM, Space and CPU - like for Minecraft and similar games, too), not slots, as slots is something Eco does not really use. (It's not even displaying the slots anywhere)

We also don't recommend selling by slots, as slots do say nothing about server resource usage. Little players could use tons of resources while many people could use little, if they dont use much government and economy stuff.

D3nnis3n commented 4 years ago

In any case a reserved slots list is definately useful, but resources for making a register system are spent better elsewhere. In general the only reason you should use slots is to block players joining when your server is overloaded as a temporary measure - which hopefully will no longer be "possible" after all the optimizations will be done. At the moment any server would break down at 50 players online the same time, lol. (I tried)

Dreepa commented 4 years ago

Just FYI: Maybe the slot thing is a german phenomenon, I don't know. The top google results for me are mostly slot-based payed servers where ECO is already installed and it's all done for you. Gaming-server providers. They are pretty common over here. Like these: https://gameserver.4players.de (8 slots 4EUR/Month, 16 slots 6EUR/Month 32Slots/Month) https://www.g-portal.com (4-16 slot, 1 EUR/slot/month) https://host-unlimited.de (10-200 slots, base price 2EUR + X per slot) https://server.nitrado.net (4 slots 4 EUR, 12 slots 11EUR, 16 slots 13EUR, and up to 200 with varying price)

Usually these services have an interface and it's all done for you. I know quite some people/friends (here in Germany) that do not know too much about computers or servers, but used something like this, as they can easily get a server up and running with just some clicks and minimum friction. Maybe it's not a thing in the US/Canada. Not sure.

Not making a case here for registers, just letting you know about this "slot based server" thing.

As you already said " as slots is something Eco does not really use. (It's not even displaying the slots anywhere)" . So the server-provider is probably just limiting the max concurrent connections. Which would translate into: I join, and cannot connect. (Maybe without even understanding why? Does it actually say to the user "Server full"? Or just a generic "cannot connect" message?)

D3nnis3n commented 4 years ago

Yeah, that says everything. I'd recommend https://eco-server.host/ (which is a german host) if you ever want to switch hosts and not have issues with slots. Obviously quality hosting costs more money, though.

D3nnis3n commented 4 years ago

Or: https://gameserver.gamed.de/eco-global-survival-server-mieten.html Also not slot based. (I'm quite sure we could throw examples at each other for both cases unlimited, still, slots is not the way it's meant to be hosted)

For reference: Those mentioned by you also offer slots for minecraft, lol, which is really uncommon. It's not the majority. Everyone knows minecraft resource usage depends on installed mods mostly, can get up to 32 GB RAM for two players easily if you really want to.

Same for Eco, you'll have a bad time when you want a 16km² map on one of those slot servers. A really bad time. Using slots for such games is a very bad mixed pricing calculation that you'll feel as soon as you do stuff that is not absolute default. That means i'm probably not working with these hosts for this exact reason, as they cannot offer quality hosting for Eco. Especially considering Nitrado i also have the experience from support that their servers are not suitable to host Eco well.

Another point: Eco savefiles could get as big as 7 GB. Plus 24 backups by default for a total of nearly 100 GB. Slot servers likely won't support that, as slot based games simply don't need these amounts of space. (This is what you can expect for the 50 player server you mentioned, though - White tiger reached that amount with less.)

I don't feel it's our job to fix stuff that some hosting companies have decided to do as their business model, especially knowing it's one that is not in favor of clients and usually causes issues to them. Reserved slots are fine, a register feature is something any mod creator should be able to do for you.

I'm from Germany btw, greetings from Augsburg.

D3nnis3n commented 4 years ago

Approved as far as reserved slots go.

Dreepa commented 4 years ago

I was hoping and tried to make clear that I was not relaying that info to make a point (so I do not know where the "throw examples at each other" comes from). I was just trying to inform. I really do not care what your solution is, but since I worked in games-QA for 10y myself, this would be a relevant information. How that use-case is handled is an entirely different story. However, if I would be going by my QA standards, I would at least make sure to inform the player about "Server is full" (maybe it's already in the game, I don't know, but I think it's not).

And I will state again: "Not making a case here for registers". Maybe you missed that part before. :)

BTW: Another way of dealing with this is communication. Making games means dealing with uninformed people that just want to be entertained and enjoy their time. It is our responsibility as game-developers to inform them and try to handle all error cases (also RL error cases). :) When I hear things like "I don't feel it's our job to fix stuff that some hosting companies have decided to do as their business model" I find it a very personal and emotionally loaded statement. The user that unknowingly will buy a "wrong server model" will not be at fault. The user couldn't have known better at that point in time, especially if you make a game that targets education as well (maybe a teacher creates a server for his class, and has no clue about how it works). ECO appeals to a wide range of people (and that is a good thing). So taking any emotion out of the equation, it might be an idea to add a button to the game that opens an URL, that explains the in and outs of server hosting and what you just said up there. At least that's what I would push for it I was doing QA on such a project. 1 handled bad user behavior might be 1 player more not dropping out, playing something else or giving a bad review :)

Greetings from Hagen. (PS: My name is also Dennis,what a coincidence :) )

D3nnis3n commented 4 years ago

I've been totally unemotional in my answer, actually. (People tend to interpret stuff into my language all time, i'm used to it.) I prefer to fix such issues by adressing the hosting providers directly, as i'd rather not see anyone hosting servers there as in the end they will complain to us and not their host in the usual case (which you surely also know).

And yes, players get a notification that the server is full, i'm not quite sure what it says, but it says try again later.

As we are going to have our own hosting service, this is going to be a non-issue later on, anyway. 9.0 already includes a button for "Host server", leading to our hosted worlds.

But still, development resources need to be used in a useful way. That includes catering to a majority of people, which a register feature that is a workaround for hosting failures does not. I know that players don't like to hear such stuff, but i've been and ever will be honest. That includes telling players when i don't think we can or should fulfill their wish. That makes me a better, not a worse person, in my personal opinion, though.

Dreepa commented 4 years ago

Awesome!

D3nnis3n commented 4 years ago

Also, that moment when you realize you live in Germany and have no idea where Hagen is, lol.

By the way: While i do QA, i'm the Community Manager, which includes telling people the truth g

Also concerning the Education Usage: That is usually done in strong cooperation with us, as we offer subscriptions for that, so errors there are dealt with us directly. (Including initial setup)

D3nnis3n commented 4 years ago

Out of interest, do i know a game you worked for? :D

Dreepa commented 4 years ago

Hehe, you did it again. I said, registers are out of the equation. Mate, what do I need to do to get that point across? :D :D :D The last part was just about error handling, but that is also covered I guess, and since you got that own Server button and own hosting system (which I couldn't know ofc) the whole issue becomes obsolete anyway. So this ticket is void and a non issue. About games I worked on, yeah, you probably know some of them. I worked on every Anno since 1404. Anno Online and Silent Hunter Online (unfortunately shut down cries a tear). Champions of Anteria (really terrible project to work on at that time). And dependent on how old you are, maybe you also still know an old buggy game called "Söldner - Secret Wars". (Not our QA's fault! :) )

D3nnis3n commented 4 years ago

I've been playing all Annos. I've been in closed tests for some of them. I've met Dirk. Dirk also held a speech for one of my friends at Games Academy. Do we know each other, lol?

Actually i don't feel the ticket is void. Reserved slots in general are still a good idea for people that really want to use a slot count restriction for whatever reason they have and kick players when an admin wants to get on or something.

Also i had to reference the register command as your suggestion explicitly included it and i have approved the suggestion, just without it. Dev that cares about that issue will need to know that later on.

At Söldner time i'd been 11. Also not my type of game g

Dreepa commented 4 years ago

You know Dirk!??! Small world. I hired Dirk back in 2010. He was one of my testers for Anno 2070 then moved on to UX and now is in User Research lab which I collaborate with a lot. We sit in the same room. haha... (Unless you talk about Dirk Riegert, the creative director, he sits in another studio). can't believe this is happening.

D3nnis3n commented 4 years ago

I'm talking about Dirk Riegert, yes. Has there been another Dirk at Games Academy? XD

Your QA had some issues for Anno 1800, though g Take a look around reddit ;P

(Actually my oil harbours still occasionally just stop working and i need to demolish them - I also freakingly do not get the main quest arc from Mercier, like over ninethousand other people)

Dreepa commented 4 years ago

Since you talked about "being in closed tests" I was thinking of Dirk Brendel, the guy leading the UX tests and doing the diary studies (communicating with the test participants every day). He also gave some talks. But yeah, I worked closely with Dirk Riegert as well. We had quite some heated discussions about Anno topics, was a good time. He is one of the guys that you can have an honest and heated fight with about why or why not something should or should not be done, but always with focus on the subject and getting to a solution. Love that guy. Well, until he waives my requests, and I have to go on his nerves :)

Dreepa commented 4 years ago

Can you upload the savegame where those bugs occur and hand me a link?

D3nnis3n commented 4 years ago

The world is way too small, lol. Especially given this game is based in the US and i'm the only German guy working here, lol.

D3nnis3n commented 4 years ago

I sure can, but i fear that me using mods will create an issue? I'm using nearly the whole modset from Taubenangriff. (Spice it Up)

D3nnis3n commented 4 years ago

Get me a heads up if that works anyway, then i'll pack it this evening, for me it's time to get out a bit :)

D3nnis3n commented 4 years ago

I also wrote to you on Discord, if you are interested in a bit of talk about Eco :)

Dreepa commented 4 years ago

Yeah, I cannot provide support for modded savegames, sorry.

D3nnis3n commented 4 years ago

What a pity, but i knew it, we do the same. Nontheless, i only play games with mods, as i ever like to have my games different than the developers intended for some reason, lol.