Lobby protocol - move player from battle to battle
Moderator: Moderators
Lobby protocol - move player from battle to battle
To implement more advanced features - quickmatching, automatic game split, automatic game setup based on personal preferences - ZK team would like ability to move players from one battle to another.
Requested feature:
- allow host or bot with mod/admin persmissions to move user into a battle
Requested feature:
- allow host or bot with mod/admin persmissions to move user into a battle
Re: Lobby protocol - move player from battle to battle
imo zero everyday protocol features should require admin privileges, and nothing but keeping order should require mod privileges.
for the command itself, implementation can be done with an assumed voluntary system via an INVITE command and lobby implementation like "[ ] always accept battle invites from ZKBot"
or through a set of "service" permission levels, which could be segmented further into something like, "battle" service, "channel" service, "player" service, etc...
for the command itself, implementation can be done with an assumed voluntary system via an INVITE command and lobby implementation like "[ ] always accept battle invites from ZKBot"
or through a set of "service" permission levels, which could be segmented further into something like, "battle" service, "channel" service, "player" service, etc...
Re: Lobby protocol - move player from battle to battle
For the feature to make any sense, it must not be voluntary - it cannot ask user! User "enables" the system by joining specific autohost - like "ranked 1v1 battles" or "FFA battles".
Asking user would defeat purpose of the system - which is to assign user into battle without his interaction (he should be able to AFK while quickmatching shuffles him around several candidate battles).
Asking user would defeat purpose of the system - which is to assign user into battle without his interaction (he should be able to AFK while quickmatching shuffles him around several candidate battles).
Last edited by Licho on 05 Jul 2011, 01:34, edited 1 time in total.
Re: Lobby protocol - move player from battle to battle
aegis meant: Make lobby tickbox to auto accept invites!aegis wrote: and lobby implementation like "[ ] always accept battle invites from ZKBot"
Re: Lobby protocol - move player from battle to battle
I understand it, but if there is checkbox thats default off (and setting too obscure for general nub), why to even go through hassle to support other lobbies than ZKL?
Re: Lobby protocol - move player from battle to battle
a "make this permanent" checkbox on the "you've been invited to join a battle" prompt wouldn't exactly be an obscure setting for nubs
if you want to appeal to nubs, nothing wrong with making them use ZK as well...
also, invite wasn't the only alternative I gave
if you want to appeal to nubs, nothing wrong with making them use ZK as well...
also, invite wasn't the only alternative I gave
Re: Lobby protocol - move player from battle to battle
Ah Licho you crafty
Main spam will no longer be needed if you can just look at the ingame time of anyone joining, and instantly push them into a battle...
Main spam will no longer be needed if you can just look at the ingame time of anyone joining, and instantly push them into a battle...
Re: Lobby protocol - move player from battle to battle
Yeah checkbox on dialog would work fine.
And ability to force to channel would also be nice- for planetwars clan channels.
And ability to force to channel would also be nice- for planetwars clan channels.
Re: Lobby protocol - move player from battle to battle
I could see invite spam being annoying. I'd prefer some kind of pure opt-in approach, although obviously you'd need the opt-in system to be highly visible to encourage players to opt-in - messaging a bot in a chat-room isn't good enough.
Ideally (and this is would be too much work to implement, so it's not a realistic suggestion, but this is how I'd want it to work) there would be a special class of rooms that function as a halfway-ground between battle-rooms and chat-rooms. Call them metabattleroomes.
Membership in metabattlerooms are exclusive (like a battleroom, you can't be in multiple metabattlerooms at a time) and they appear in the "battles" list instead of the "chat rooms", but otherwise they behave like chat rooms - any map/mod/game settings metadata is purely optional and just for organization purposes.
Membership in a metabattleroom allows the metabattleroom's owner to assign you into battlerooms. You cannot join a battleroom while in a metabattleroom, but if the metabattleroom bot *assigns* you into a battleroom you will remain in the metabattleroom so you can still chat in there. Battles created by a metabattleroom can be visible to the public, visible only to members, or completely hidden from the public.
For non-exclusive access to a metabattleroom you can join as a spectator - in this mode, you can be in many metabattlerooms at the same time and spectate the "visible-only-to-members" battles, but you can't play and won't be invited to a battle.
So a player can join the PlanetWars metabattleroom and do their planet wars stuff.
Or they can join a mod-specific matching service metabattleroom. Or a general, multi-mod matching-service battleroom, although that one won't have the nice mod metadata listed in the main game list.
Ideally (and this is would be too much work to implement, so it's not a realistic suggestion, but this is how I'd want it to work) there would be a special class of rooms that function as a halfway-ground between battle-rooms and chat-rooms. Call them metabattleroomes.
Membership in metabattlerooms are exclusive (like a battleroom, you can't be in multiple metabattlerooms at a time) and they appear in the "battles" list instead of the "chat rooms", but otherwise they behave like chat rooms - any map/mod/game settings metadata is purely optional and just for organization purposes.
Membership in a metabattleroom allows the metabattleroom's owner to assign you into battlerooms. You cannot join a battleroom while in a metabattleroom, but if the metabattleroom bot *assigns* you into a battleroom you will remain in the metabattleroom so you can still chat in there. Battles created by a metabattleroom can be visible to the public, visible only to members, or completely hidden from the public.
For non-exclusive access to a metabattleroom you can join as a spectator - in this mode, you can be in many metabattlerooms at the same time and spectate the "visible-only-to-members" battles, but you can't play and won't be invited to a battle.
So a player can join the PlanetWars metabattleroom and do their planet wars stuff.
Or they can join a mod-specific matching service metabattleroom. Or a general, multi-mod matching-service battleroom, although that one won't have the nice mod metadata listed in the main game list.
Re: Lobby protocol - move player from battle to battle
Its not an invite.. its low level service for bot only - for one specific bot meant to handle specific task of quickmatching..
Ordinary user wont be able to send invite!
And yes I plan to create "metabattleroom" - thats needed for backwards compatibility with SL.
Ordinary user wont be able to send invite!
And yes I plan to create "metabattleroom" - thats needed for backwards compatibility with SL.
Re: Lobby protocol - move player from battle to battle
it's an invite, you can't just move the user on the server and not on the client, you have to tell the client to move to another battle, and it doesn't have to move ... so it's just an invite command that could be automatically accepted if it comes from admin bot and that's a good idea, could auto accept invite from friends and ignore all other etc
Re: Lobby protocol - move player from battle to battle
Meta battleroom and opt-in autoinvite sounds way too much complicated and confusing for players.
I'd say just ignore battleroom protocol and do your own ZK thing.
I'd say just ignore battleroom protocol and do your own ZK thing.
Re: Lobby protocol - move player from battle to battle
Satirik technically you can move client now from the server alone - using forged messages - but thats a hacky way.
Zwsg its not so complicated - "meta" battle room is just ordinarry battleroom that never starts a game .. instead people are auto moved from ther eto final battle or back. Thats all there is..
Zwsg its not so complicated - "meta" battle room is just ordinarry battleroom that never starts a game .. instead people are auto moved from ther eto final battle or back. Thats all there is..
Re: Lobby protocol - move player from battle to battle
I mean that you can choose to opt-in by joining the room.zwzsg wrote:Meta battleroom and opt-in autoinvite sounds way too much complicated and confusing for players.
I'd say just ignore battleroom protocol and do your own ZK thing.
Basically, I want to play Planetwars. So I join the Planetwars metabattleroom (which looks like joining any other battleroom except that it never starts a game and has no player cap). By joining this metabattleroom, I agree to be redirected to an *actual* battleroom by the Planetwars bot.
See? The idea is to make redirection as seamless and intuitive as possible for the user. This way the user is just joining a battle like any other, and where they kick around until they're assigned into a game.
It sounds like Licho has something similar in mind, which, obviously, I like.
You can use this for any similar metagaming - for tournaments, ladders, matchmaking, etc. You join the tourney metaroom and the bot handles the details from there.
Re: Lobby protocol - move player from battle to battle
It would make the most sense to build this into the server, so it becomes a standard, lobby supportable feature.
Add lobbyprotocol commands such as FINDBATTLE with settable filters and let the lobbys show a better ui than joining a "metabattleroom".
Add SPLITBATTLE command for battleroom host to initiate.
Add lobbyprotocol commands such as FINDBATTLE with settable filters and let the lobbys show a better ui than joining a "metabattleroom".
Add SPLITBATTLE command for battleroom host to initiate.
Re: Lobby protocol - move player from battle to battle
Its not about "finding" its about assigning people in best possible combination.
For this you need central agent who knows it all - in this case bot who knows preferences set by each player - for example on website - or indicated by joining some "meta" room.
Central agent then has to shuffle people around possibly multiple times..
We already had simpler quickmatching implement - evne such that knew intentio nof other people but it was never as good as it could be with proper coordinator.
For this you need central agent who knows it all - in this case bot who knows preferences set by each player - for example on website - or indicated by joining some "meta" room.
Central agent then has to shuffle people around possibly multiple times..
We already had simpler quickmatching implement - evne such that knew intentio nof other people but it was never as good as it could be with proper coordinator.
Re: Lobby protocol - move player from battle to battle
why to create a new battle/move players arround? why not directly start game if there are enough players ready? (this would be really quick! :)
this could work like this: the agent asks the user a few questions and start the game, when enough users are found.
imo moving players arround has some problems:
* what if one of the players disconnects? move the already moved players back?
* imo joining / leaving a battle automaticly is very confusing: "where are the other guys?" "why am i alone here?" "why doesn't the other respont" ...? if users stay in one room/battle, things would be much more clearer.
+++1 for quickmatching!
this could work like this: the agent asks the user a few questions and start the game, when enough users are found.
imo moving players arround has some problems:
* what if one of the players disconnects? move the already moved players back?
* imo joining / leaving a battle automaticly is very confusing: "where are the other guys?" "why am i alone here?" "why doesn't the other respont" ...? if users stay in one room/battle, things would be much more clearer.
+++1 for quickmatching!
Re: Lobby protocol - move player from battle to battle
because players are stupid. Why do people join a running game to wait for it to finish until there are as many waiting specs as players? Instead of just starting a new game.why not directly start game if there are enough players ready? (this would be really quick! :)
I dont understand the talk about "accepting invite"?
If INVITE is to be some protocoll command send by the server then the client has no yes/no choice. It would merely be a notification to the client that something happend server side, similiar to the message a client gets on being muted or kicked.
I think that is what Licho wants?
Wouldnt that mean that every time the quickmatching system is fine tuned, the server would have to be restarted? It seems easier to give bots some new powers (like this INVITE thing) and then let the bot makers implent the actual matchfinding logic.It would make the most sense to build this into the server, so it becomes a standard, lobby supportable feature.
Re: Lobby protocol - move player from battle to battle
@knorke:
looks like my explaination was bad: i thought about that:
an authost (or maybe just a channel with a bot?) that waits for players who selected the game settings they want (like 1v1), and if there are enough players, a dedicated host will be started and only those two players get the game-started + connect-to command. all others will stay there.
looks like my explaination was bad: i thought about that:
an authost (or maybe just a channel with a bot?) that waits for players who selected the game settings they want (like 1v1), and if there are enough players, a dedicated host will be started and only those two players get the game-started + connect-to command. all others will stay there.
Re: Lobby protocol - move player from battle to battle
metabattle sounds doable:
give bots the ability to open a metabattle i.e. "2v2 quickmatch". the server could even allow a single bot to open more than one of these (potentially simplifying infrastructure)
once a player joins a metabattle, the metabattle host is able to move them into any battle until any of the following happens:
on the clientside, this would just require implementation of a "move me into target battle" command (which can be handled in any way, including an option to be prompted before switching battles for control freaks)
on the serverside, this would maybe just require a third battle type (currently we have normal and replay) mapping client <--> metabattle, and an incoming and outgoing command for GETINTOTHATBATTLEOVERTHEREGOODSIR
on the botside, it should theoretically be able to host multiple of them, and would just need to track when clients entered their metabattle or exited any battle or the server to know when to shuffle
with a third battle type lobbies can even separate metabattles from normal in some way
give bots the ability to open a metabattle i.e. "2v2 quickmatch". the server could even allow a single bot to open more than one of these (potentially simplifying infrastructure)
once a player joins a metabattle, the metabattle host is able to move them into any battle until any of the following happens:
- the player leaves their current battle (whether this is the metabattle or a battle they were moved into)
- the player's current battle is closed
- the player leaves the server
on the clientside, this would just require implementation of a "move me into target battle" command (which can be handled in any way, including an option to be prompted before switching battles for control freaks)
on the serverside, this would maybe just require a third battle type (currently we have normal and replay) mapping client <--> metabattle, and an incoming and outgoing command for GETINTOTHATBATTLEOVERTHEREGOODSIR
on the botside, it should theoretically be able to host multiple of them, and would just need to track when clients entered their metabattle or exited any battle or the server to know when to shuffle
with a third battle type lobbies can even separate metabattles from normal in some way