Respect game visibility

Ouverte
#50 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
java
Domaine
backend

Piste de recherche

Commencez par GameService#markDirty, DelayedResponse, ClientService#broadcastDelayedResponses et GameResponsesTransformer#game, puis examinez les tests unitaires associés. C’est terminé lorsque les parties privées ne sont pas diffusées, que les parties réservées aux amis ne sont envoyées qu’aux amis, que la visibilité est omise des réponses de jeu du client, que GameAccess est supprimé et que les tests modifiés passent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

beginner-friendly

Currently, the server broadcasts all games to all players. However, games marked as PRIVATE should not be broadcasted at all and games marked as FRIENDS should only be sent to friends.

  1. Remove the unused com.faforever.server.game.GameAccess
  2. Don't serialize visibility when sending games to client (in com.faforever.server.integration.legacy.transformer.GameResponsesTransformer#game)
  3. Implement a method similar to com.faforever.server.game.GameService#markDirty that allows specifying a list of players to send to
  4. Extend com.faforever.server.client.DelayedResponse so that a list of receivers can be specified. The list should be nullable (so make its getter return an Optional), in which case it's considered a broadcast (document this in the getter)
  5. Refactor com.faforever.server.client.ClientService#broadcastDelayedResponses so that it either broadcasts the response or sends it to the list of recipients.
  6. Adjust and add unit tests accordingly
Langage dominant
Java
Étoiles
12
Forks
5
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FAForever/faf-java-server

Toutes les issues de FAForever/faf-java-server

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.