Doncs obro aquest fil per explicar com funciona ara mateix el tema de les caigudes/desconnexions/abandons (a partir d'ara: caigudes) en les partides de rànquing, i parlar de com millorar-ho (si cal). Ja que sou varis els que m'ho heu preguntat per privat.
Primer de tot, dir que ja m'agradaria a mi no tindre que penalitzar a la persona que cau. Però s'ha de fer, ja que sinó els 2 o 3 espavilats de sempre intentarien "manipular" el seu ELO.
Ara explico com funciona ACTUALMENT el tema d'una caiguda en un cas IDEAL.
1) El jugador A te un problema amb la connexió.
2) Els altres 3 jugadors, observen que el jugador A no tira quan li toca.
3) Passa el temps.
4) El jugador A s'adona que te problemes amb la connexió, es desconnecta i es torna a connectar al ButiNET.
5) El servidor veu que es connecta el jugador A.
5.1) El servidor fa fora del ButiNET al jugador A caigut.
5.2) El servidor deixa entrar al jugador A.
5.3) El servidor convida a la partida on estava jugant el jugador A.
6) El jugador A, manualment, ha d'apretar al convit i entrar a la partida.
7) La partida segueix en el mateix punt que estava, sense cap penalització pel jugador A.
Nota punt 5: en aquest cas, es quan al xat la sortida i entrada d'un jugador instantaniament. Exemple:
[16:25:12] --- 16:25 L'usuari Carles ha abandonat el Xat.
[16:25:12] +++ 16:25 L'usuari Carles ha entrat al Xat.
Ara analitzem alguns casos no ideals.
*1* El jugador A que està caigut es desconnecta del servidor (timeout NO configurable) abans de que es torni a connectar -> qualsevol dels altre jugadors de la partida poden sortir -> es penalitza al jugador A (el primer que surt de la partida).
*2* El jugador A que està caigut no torna al ButiNET abans de 2 minuts -> qualsevol dels altre jugadors de la partida pot fer fora de la partida al jugador A, i aleshores surten de la partida -> es penalitza al jugador A (el primer que surt de la partida).
*3* El jugador A que està caigut torna a entrar al ButiNET, però quan rep el convit, no l'accepta o triga una estona a entrar -> al entrar al ButiNET ha fet fora al seu "altre ego" caigut, i per tant l'ha fet fora de la partida -> qualsevol dels altre jugadors de la partida poden sortir -> es penalitza al jugador A (el primer que surt de la partida).
Casos especials:
*4* El servidor es PENJA (error de programa): totes les partides es perden. Ningú es penalitza.
*5* Cas rebuscat, però que per desgràcia ja ha succeït: el servidor es DESCONNECTA (això va passar el dia 1 gener).
Aquest cas és una loteria: tots els jugadors es desconnecten a la vegada, i el servidor no es dona compte fins que les connexions de cada un dels jugadors fa "timeout" o tornen a entrar al ButiNET un cop recuperada la connexió del servidor.
Si tornen a entrar els 4 jugadors, la partida pot seguir amb normalitat.
Si un dels 4 jugadors no torna: el que hagi fet el timeout primer (aleatòriament), se li contarà la partida per caiguda i serà penalitzat.
En aquest cas, abans de fer cap altre partida, s'ha d'avisar al administrador (o sigui, a mi) i es treu la penalització.
*5.1* Cal tindre en compte que:
- La penalització es efectiva quan l'últim jugador surt de la partida.
- Per tant, si tornes a entrar al ButiNET i encara està la partida creada el servidor te convida, però no entres al convit i crees una altre partida de rànquing, pot ser que jugis i mes tard et penalitzi quan surti el últim jugador de la partida anterior.
-----------------------------------------
Mentre escrivia, se m'han ocorregut algunes solucions:
- Que tothom sigui LEGAL, esperi un temps prudencial (estigui guanyant o perdent) quan algun jugador cau. Em sembla que es utòpica oi ?
- Poder crear partides per rànquing sense penalització. Quan jugues amb gent de "confiança" que pugis seleccionar una casella, i que en cas que algú caigui, no serà penalitzat ...... però després no us queixeu si us abandonen quan aneu guanyant 90 a 0 i feu botifarra
![Smile :-)](./images/smilies/icon_smile.gif)
- Que quan un cau, els altres TRES jugadors després d'esperar un temps prudencial, pugin decidir si la partida s'anul·la (no es penalitza) al jugador caigut (una mena de final consensuat).
Weno ..... com podeu veure, el tema es complex. Per ara ho deixo així
![Smile :-)](./images/smilies/icon_smile.gif)
Adéu !