Closed Licho1 closed 10 years ago
whats the error message?
the stuff you wrote should work.
also you should read docs how it works:
http://springrts.com/dl/LobbyProtocol/ProtocolDescription.html#FORCEJOINBATTLE:client
(it doesn't look so...)
Oh you mean its extra command? But lobbies wont support it .. does it have legacy support via flag?
springlobby supports FORCEJOINBATTLE since version 0.147...
Yeah but it asked user there...
thats up to the lobby devs / user if he wants a prompt or not imo. also this command was discussed a lot in meetings.
side note: also current springlobby DOES NOT prompt. why do you write so many assumptions?
this command works! if not provide details.
Sadly that makes it unusable... in all meanings its "force" move..
Thats why forge is used .. command which does not need client to implement anything new
a client could add a check if it issued the command or not. if it didn't issue the command it ignores the JOIN.
if you split host, it happens at a fraction second before game starts. If user wont react in time one game will be bigger
thats non-sense. you don't split a host which you don't have control at. -> don't start when you want to split it at the same time.
when using move/forcemove - meaning is to move entire population of battleroom to a new room..
you can with current command.
when using matchmaker/pw it has to move even semi-idle person in, because move happens again split second before matched battle starts..
i don't understand that.
Atm FORCEJOINBATTLE does not work if client is already connected in a battle.
i tested it some time ago, it worked.
Instead of giving up uberserver should make player leave battle (ordinary playerleft message so that there is no error from kick popup etc) and then join him to a target battle.
FORCEJOINBATTLE works like that, but depends on client implementation.
It seems Zero-K Lobby Client doesn't support it, springlobby does!
Personally I think it's weird that clients get the FORCEJOINBATTLE sent to them. I don't think users should have the option to ignore FORCEJOINBATTLE: it just complicates client code and gives room for differing behavior/non-compliance between lobbies.
Users should just get the JOINBATTLE/LEFTBATTLE or whatever else they might need. It shouldn't matter whether it was FORCE* or not.
I'm guessing you already had that discussion once, but I'm too lazy to find out the dev meetings :P
i can't say to reasons, etc. but it was discussed a lot it seems:
http://springrts.com/phpbb/viewtopic.php?f=80&t=27730&p=515419
@gajop:
FORCEJOINBATTLE is a replacement for:
FORGEREVERSEMSG user LEAVEBATTLE FORGEREVERSEMSG user JOINBATTLE battleid
FORGEREVERSEMSG was/is a command which allows a user to fake any message to a client. this is a huge bug-trap/security hole, this is why it will be removed.
Ok I will switch to forcejoinbattle but if there are lobbies that will make it optional etc. they will make it unusable. In that case I hope you can just implement leavebattle/joinbattel from server instead of relying on client compliance..
For common scenario, we want to move people from existing battle to another. This happens:
Atm FORCEJOINBATTLE does not work if client is already connected in a battle. Instead of giving up uberserver should make player leave battle (ordinary playerleft message so that there is no error from kick popup etc) and then join him to a target battle.