teeuniverse / teeuniverses-old-draft

A retro multiplayer shooter
http://teeworlds.com
Other
7 stars 1 forks source link

Add way to redirect player to other servers #37

Open abck opened 8 years ago

abck commented 8 years ago

Add way to redirect player to other servers

Henningstone commented 8 years ago

Would be possible and not hard at all with a both-side implementation, but I'm unsure if this would be a good idea though... People may open a bunch of servers with just 1 slot to advertise one other server, and all the advert servers instantly redirect to the "main" server. Teeworlds team would not be happy about such a possibility :/ Btw, what should this feature be used for? I don't see an actual point in it…

Anyway, I will do that and let @necropotame decide to implement it or not :P

abck commented 8 years ago

this way, over votes or a menu the players can be redicted to the map they want without annoying the players that want to keep the current map. also this allows to balance load between servers/processes this could be also used for multi-map-games

necropotame commented 8 years ago

For multi-map-game, I think that an implementation using only one server is better. But much more difficult to implement. For server with different map, what you want is to display the server list in game, and show only a subset of it, based on some server-sided parameter (like "cluster ID"). I'm wrong ?

abck commented 8 years ago

i think multimap on different gameservers is better, maily because you can maintain/do changes on one server without shutting the whole game down, also an crash on one server only affects the map the server is hosting. but also because i can shut the servers down and only start them if a player joins the map.

and my second idea was, if for example a ddrace-server (with teams) votes to change a map, but one team is still racing, the mapvote will actually move all the players that were for the vote to the map they wanted. (or that team)

necropotame commented 8 years ago

i think multimap on different gameservers is better, maily because you can maintain/do changes on one server without shutting the whole game down, also an crash on one server only affects the map the server is hosting. but also because i can shut the servers down and only start them if a player joins the map.

Well, assuming you have already multiple servers running, if you do maintenance on one, only this one will be affected. The only difference is that players will be kicked instead of being migrated to one another server. But if the other server is full, you will randomly kick some of them. You can just announce that you will shutdown the server and let players migrate them self. If the server crash, we can't do anything, since there is no more server to force the migration ^^

and my second idea was, if for example a ddrace-server (with teams) votes to change a map, but one team is still racing, the mapvote will actually move all the players that were for the vote to the map they wanted. (or that team)

Why vote when they can just leave to an another server ? In all case, I think that it's not a good idea to force a player to migrate somewhere else.

I think that a cluster system can be done. But What a servers can share if they are in the same cluster ? Players ? Chat messages ? Broadcast ? Score ? Leadboard ? Anyway, this is not the priority for now. But we can still think about it ;-) Please continue to post if you have some new arguments or suggestion.

abck commented 8 years ago

maybe add a permission system (east and Krisko had that idea), where the user can decide: Server can redirect to other servers: yes/no/only favorite servers (can redirect)/only to favorite servers/prompt/only same IP

Henningstone commented 8 years ago

For the purposes you guys were talking about, redirection could be easily be done clientside and would seem to be a cheap solution, especially because the client already has a serverlist. Of course not the cluster-system clientside that would make no sence :D

necropotame commented 8 years ago

abck: maybe add a permission system (east and Krisko had that idea), where the user can decide: Server can redirect to other servers: yes/no/only favorite servers (can redirect)/only to favorite servers/prompt/only same IP

It could be a solution. Or just a dialog box with Accept/Reject and a reason given by the server.

Henningstone: For the purposes guys were talking about, it could be easily be done clientside would seem to be a cheap solution, especially because the client already has a serverlist.

He talk about server that send an order to the client to force him to migrate. This can't be done only on the client side.

ghost commented 8 years ago

Hmm I don't think teeworlds guys are happy with the whole project. I have some better featues: you could display the right number of players (allow n=Integer players by protocol and let map makers decide how many players are good). or allow multiple maps per server (I mean multiple at the same time. The server sends a list of his (revealed working) maps and a connecting client can choose which one (maybe grouped for ddnet kind mods, then send the list also to clients grabbing stats in order for the client so search)