MT-Eurythmia / Eurythmia-server

Eurythmia server repository: mods, subgame, configuration, issues tracker, and a few other.
http://eurythmia.langg.net
7 stars 7 forks source link

PVP #90

Closed matt8fr closed 7 years ago

matt8fr commented 7 years ago

Il y a plusieurs soucis avec le PVP et le mod PVPplus:

il fraudais un son au moment ou la cmd /tournament est lancé pour indiquer au joueurs qu'un tournois commence, je pense que le message dans le chat passe parfois inaperçus dans un flux de chat parfois conséquent.

du coup 60 sec pour dire a tout les joueur de faire /engage pour faire du pvp est trop juste.

après avoirs tester un tournois avec swag et caramel il me semble il en ressort que ni moi ni caramel ne soit mort durant le tournois, pourtant on est presque rester l'un devant l'autre a se taper dessus, lui armure diams épée mithril et moi armure mithril épée nyan, je ne lui est infliger aucun dégâts.

swag sans armure est mort en moins d'une minute.

mgl512 commented 7 years ago

Pour le chat, la plupart du temps je ne remarque un tournoi que dans les 5 dernières secondes d'enregistrement parce qu'il y a une avalanche de messages d'avertissement qui arrivent. Mais c'est normal je pense parce que tout le monde me demande tout le temps des trucs et j'ai du mal à suivre le chat.

Pour le combat en armure, c'est normal. Le PvP en armure ne se finit presque jamais par la mort de l'un des joueurs sauf si l'un des participants est un noob, même sur les autres serveurs. J'ai eu des combats contre Sauron et son frère sur Axinite (à l'époque où ils étaient "méchants") qui se sont toujours finis par la téléportation de celui qui était le plus en difficulté. MFF a essayé de se dédier au PvP et c'est un fiasco total. Ils n'ont fait que lutter contre les joueurs et contre tout ce qui est pratique. Les mobs super-endurants qui tuent en un coup viennent de ça, le stuff éparpillé et perdu à jamais aussi, tout ce qui est détestable sur leur serveur. Je suggère de ne surtout rien faire pour améliorer le PvP. C'est aux joueurs de fixer des règles de combat. Sur Axinite, ils font des tournois avec stuff précis et commun à tout le monde, comme pas d'armure et épée mese. Ceux qui ne respectent pas ce stuff ne participent pas. L'arbitrage se fait par un joueur ou un modérateur. Ils ont déjà modifié les monstres, qui sont très endurants et usent énormément les épées. C'est déjà une peine de miner dans des grottes chez eux. Ils ont créé la mana pour les commandes comme /spawn, qui est plutôt impopulaire. Ils se MMFisent. Je n'ai rien vu qui soit fait en faveur du PvP qui ne soit pas devenu une nuisance pour le jeu.

En pratique, modifier les armes et les armure causerait encore plus de maintenance. Je trouve qu'on a déjà trop de mods à maintenir nous-mêmes. Et tous ceux qui ont fait ça avant nous ont pourri leur serveur.

matt8fr commented 7 years ago

voila pourquoi un jingle genre 'PVP!!!!!' bien fort dans les oreilles serait plus 'visible'.

je ne pensait pas non-plus modifier les armes et armures mais si le mod pvpplus pouvait vider l'inventaire puis donner un stuff identique a tous le combat serait plus équitable!

paly2 commented 7 years ago

Un son est une bonne idée, j'invite tous les joueurs qui s'y connaissent dans ce domaine à proposer des sons!

mais si le mod pvpplus pouvait vider l'inventaire puis donner un stuff identique a tous le combat serait plus équitable!

Je suis tout à fait d'accord, mais c'est compliqué, sinon impossible. Cela implique en effet d'interdire aux joueurs de modifier le contenu de leur inventaire pendant le tournoi (afin qu'ils ne gardent pas les armes qui leur sont fournies et qu'ils ne se remettent pas d'armure après que le tournoi aie commencé), et ça n'est pas possible avec l'API actuelle de Minetest - du moins pas à ma connaissance, peut-être qu'il y a des hacks pour faire ça :p

matt8fr commented 7 years ago

Pour le sons je vais passer le message, Si le tournoi se déroule dans la zone natural arena je vois pas comment ils pourrai obtenir/caché une armure, pareille pour l'arène de woodbury. Le mod bones arrive à vidé l'inventaire dans un 'coffre' Ça doit être faisable. Si on doit demander à tout les joueurs de se conformer au stuff défini on s'en sortira pas .

paly2 commented 7 years ago

Si le tournoi se déroule dans la zone natural arena je vois pas comment ils pourrai obtenir/caché une armure, pareille pour l'arène de woodbury.

Oui, mais les joueurs peuvent quand même démarrer un faux tournoi en dehors de ces arènes et garder le stuff qui est donné par le mod...

Le mod bones arrive à vidé l'inventaire dans un 'coffre' Ça doit être faisable.

Il serait plus simple pour le mod d'enregistrer le stuff quand il le supprime en mémoire - y compris dans un fichier sur le disque, au cas où il y ait un crash - et le remette dans l'inventaire à la fin du tournoi.

Et pour finir je me cite moi-même:

peut-être qu'il y a des hacks pour faire ça :p

En effet, je viens de penser qu'il y en a un: un globalstep qui vérifie tous les dixièmes de seconde le contenu de l'inventaire ! On peut faire ça EDIT: non ça ne peut pas convenir. Un globalstep peut empêcher de prendre du stuff dans son inventaire pendant le tournoi, mais pas d'en enlever.

paly2 commented 7 years ago

Pour choisir le temps de départ du tournois: https://github.com/Mynetest/pvpplus/commit/2d60436e6d1095cfbfa4defc809b25b238918692

paly2 commented 7 years ago

Des sons ont été ajoutés: https://github.com/Mynetest/pvpplus/commit/5b6f9ddb54381856a2d5ccd2faa616476c1a52d5

matt8fr commented 7 years ago

après teste, les sons apporte un vrais plus !!! la au-moins, il y a tout le monde qui dit: "c'est quoi ce sons ?" et la musique ambiance durant le combat et parfaite !!! tu a des idées a venir pour la suite du mod ?

paly2 commented 7 years ago

tu a des idées a venir pour la suite du mod ?

Pas pour le moment, mais j'aimerais trouver une idée viable pour la question du stuff

matt8fr commented 7 years ago

j'ai vue que tu avais dans ta TO DO liste : Add a HUD for the tournament score j’attends çà avec impatience !! pour le stuff JAPP a proposer un stuff qui a une duré de vie dans le temps ! (10min ?)

paly2 commented 7 years ago

pour le stuff JAPP a proposé un stuff qui a une durée de vie limitée dans le temps ! (10min ?)

C'est une bonne idée, mais, hélas, l'engine ne propose rien pour contrôler la durée de vie d'un item. Et cette fonctionnalité est à peine plus simple à implémenter qu'un contrôle de l'inventaire du client (qui nécessiterait une modification du protocole non rétro-compatible), dès qu'elle doit prendre en compte la copie et le déplacement des items (même si théoriquement, c'est faisable, en ajoutant des callbacks on_item_move, on_item_create et on_item_delete par exemple, ce qui permettrait au mod de contrôler où sont les items possédant un lifetime, et des fonctions record_item_moving,record_item_creating, record_item_deleting qui permettraient aux mods de signaler que le callback correspondant doit être appelé).

matt8fr commented 7 years ago

A ce que je comprend il n'y à rien de prévu de basse dans l'engine pour faire ça mais en bidouillant c'est faisable (Mais compliqué!)

Y'a t'il une possibilité de téléporter tout les joueurs en lançant un globale tournament ? /start_global_tournament teleport ?

paly2 commented 7 years ago

Y'a t'il une possibilité de téléporter tout les joueurs en lançant un globale tournament ? /start_global_tournament teleport ?

Non, ou bien manuellement avec /teleport :-) La commande ne le propose pas elle-même car elle démarre immédiatement le tournois, ce qui aurait pour conséquence de téléporter tous les joueurs au même endroit au moment où le tournois commence (ils n'auraient pas le temps de s'éloigner comme avec /tournament teleport).

matt8fr commented 7 years ago

ce qui aurait pour conséquence de téléporter tous les joueurs au même endroit au moment où le tournois commence ,ils n'auraient pas le temps de s'éloigner.

Sauf si le PvP n’était activer que 10 sec après la téléportation.

IL y a un soucis aussi, a la mort des joueur, ils respawn au spawn ou a leur lit et demande souvent a être TP pour récupéré leur os...

paly2 commented 7 years ago

IL y a un soucis aussi, a la mort des joueur, ils respawn au spawn ou a leur lit et demande souvent a être TP pour récupéré leur os...

https://github.com/Mynetest/pvpplus/commit/3b6ff71bc2f94080435e70e0665a0598e4105ac1

Le stuff est maintenant automatiquement remis dans l'inventaire du joueur 😃 J'avoue cependant que je vois là arriver une nouvelle vague de triche, avec des tournois factices pour ne pas perdre de stuff...

matt8fr commented 7 years ago

Tu veux dire lancer un tournois sans faire vraiment de PvP pour au cas ou on meurt en minant par exemple ? Question subsidiaire: Comment se termine un tournois ? temps écoulé? points max?

paly2 commented 7 years ago

Tu veux dire lancer un tournois sans faire vraiment de PvP pour au cas ou on meurt en minant par exemple ?

Oui 😕

Question subsidiaire: Comment se termine un tournois ? temps écoulé? points max?

Il se termine quand il n'y a plus qu'un seul joueur dans le tournoi. Un joueur peut quitter le tournoi en mourant (c'est-à-dire, généralement, en étant tué par un autre joueur), en déconnectant son client, en tapant /leave_tournament, ou en se faisant retirer par un modérateur de tournoi qui a tapé /remove_from_tournament.

matt8fr commented 7 years ago

peut-être faut il ajouter un délai de fin de partis ? par défaut si un joueur lambda lance un tournois il dure 10 ou 15 min max si c'est un joueur qui a le privs tournament c'est un tournois a mort !

matt8fr commented 7 years ago

l'autre jour, deux joueurs lancer des tournois a répétition cela flooder le chat, une solution?

paly2 commented 7 years ago

l'autre jour, deux joueurs lancer des tournois a répétition cela flooder le chat, une solution?

Je vois trois possibilités de solution:

Qu'en penses-tu ?

matt8fr commented 7 years ago

Je ne pense pas qu'ils le faisait dans l'intention de flooder mais enchainer juste tournoi sur tournoi! sans armure ça ne dure pas donc ... -le timing me semble bien, exemple: pas plus de 3 partis par heur -le privs semble pas mal aussi, je pense aussi en terme de sanction( tu embête tel personne on te retire le privs une semaine) -la suppression des messages pourquoi pas

paly2 commented 7 years ago

j'ai vue que tu avais dans ta TO DO liste : Add a HUD for the tournament score j’attends çà avec impatience !!

C'est fait :-) https://github.com/Mynetest/pvpplus/commit/cc2724d67b627cc800668642a5c6b09a5ec754f0 Le HUD s'affiche mieux avec une police monospace de 5 pixels de largeur, comme le tableau des scores. Cependant (au contraire du tableau des scores...) il reste bien lisible même si ça n'est pas le cas, mais mal aligné. Sur le HUD:

paly2 commented 7 years ago

l'autre jour, deux joueurs lancer des tournois a répétition cela flooder le chat, une solution?

C'est finalement la troisième solution que j'ai choisie 😃 Les messages ne peuvent être envoyés en broadcast que par les joueurs possédant le privilège tournament_mod, et seulement s'ils ajoutent l'option broadcast à la commande /tournament.

Autrement, le décompte (et le messages d'alerte 10 secondes avant le tournoi) n'est envoyé qu'aux joueurs s'étant engagés ; et les messages de suppression (ou plus rarement d'ajout, si un modérateur de tournoi utilise /add_to_tournament) ainsi que le tableau des scores ne sont envoyés qu'aux joueurs qui jouent ou ont joué le tournoi. Au final, le seul message envoyé aux joueurs qui ne souhaitent pas jouer le tournoi est le message d'annonce de l'ouverture, en même temps que le son.

Note: pour préciser le temps de la période d'engagement du tournoi, il faut maintenant le préciser avec l'option start_delay. Par exemple, pour lancer un tournoi sans téléportation en broadcast avec une période d'engagement de 40 secondes, il faut écrire: /tournament noteleport start_delay=40 broadcast (l'ordre des options n'a pas d'importance). Cela permettra d'ajouter un temps limite au tournoi sans apporter d'ambiguité dans la commande.

Deuxième note: des commandes permettent maintenant d'activer et de désactiver le PvP, en plus du bouton de l'inventaire (/pvp_enable et /pvp_disable... je ne sais pas pourquoi je n'ai pas fait un simple /pvp_toggle, maintenant que j'y pense.)

Troisième note: les commandes /remove_from_tournament et /stop_tournament ne sont plus réservées aux joueurs possédant le privilège tournament_mod: le créateur du tournoi (celui qui a tapé /tournament) peut aussi les utiliser sur son propre tournoi.

Quatrième note: ah, et il y a aussi une nouvelle commande /tournament_music_toggle pour arrêter la musique pendant le tournoi (ou la relancer).

matt8fr commented 7 years ago

parfait ! je vais tenter de mettre a jour la doc au spawn et sur le site !

matt8fr commented 7 years ago

Hier il y avait un bug avec le mod, après avoir lancer /tournament le /engage renvoyer une erreur pas de tournois, /tournament_info trouver bien le fameux tournois! j'ai fait un /error et après reboot tout a refonctionner.
Je voulais savoir également si tu avais prévue par la suite de faire d'autre mod de jeux? Si oui seront il intégré dans le mod PvPplus ?

paly2 commented 7 years ago

Je voulais savoir également si tu avais prévue par la suite de faire d'autre mod de jeux? Si oui seront il intégré dans le mod PvPplus ?

Non, mais si quelqu'un a des idées pour compléter ce mod PvPPlus (qui, pour le moment, se réduit entièrement à la possibilité de choisir si on veut jouer en PvP et de faire des tournois), je suis tout ouïe 😃

matt8fr commented 7 years ago

il y a toujours le soucis d'équité, un joueur en full mithril est sur de gagner, si il y en a deux le combat dure des plombes !

j'ai pensée a un mini-jeux, le sumo-test (mysumo, comme on veux): Deux joueurs ou plus s’affronte sur une plateforme (6, 10 cubes de coté) le bute est de pousser l'autre hors de la plateforme avec pourquoi pas un bouclier spécial qui fait reculer les joueurs toucher.

matt8fr commented 7 years ago

D'autre idées: -un joueurs qui ne bouge plus pendant 5 ou 10 sec prend des dégâts pour l'obliger a bouger -un équipement spécial avec différent effets( une classe a choisir avant le combat, archer, chevalier, ... ).

paly2 commented 7 years ago

un joueurs qui ne bouge plus pendant 5 ou 10 sec prend des dégâts pour l'obliger a bouger

Super idée, je vais rapidement implémenter ça !

un équipement spécial avec différent effets( une classe a choisir avant le combat, archer, chevalier, ... ).

C'est plus compliqué, parce que cela implique à nouveau de contrôler le stuff. On retrouve le même problème

paly2 commented 7 years ago

@matt8fr: la détection de l'immobilité est implémentée dans https://github.com/Mynetest/pvpplus/commit/f611843dbb7d2af218e79cc37c481e159b32649d. Il faut ajouter l'option damage_motionless à la commande /tournament pour l'activer.

matt8fr commented 7 years ago

parfait merci ! j’attends avec grande impatience la 0.4.16 pour l'autocomplétion des commandes !

paly2 commented 7 years ago

j’attends avec grande impatience la 0.4.16 pour l'autocomplétion des commandes !

Euh, l'autocomplétition des commandes complètera juste la commande. Elle ne pourra pas compléter, en l'occurence, les options de la commande /tournament

matt8fr commented 7 years ago

ha ? sur Minecraft l'autocomplétion fonctionne avec les option et même plus (un TAB après avoir taper: /tp complète avec les coordonné XYZ du joueur) , je m'attendait a avoirs la même chose, finalement les dev minetest copie uniquement les défaut de minecraft ? on verra bien.

paly2 commented 7 years ago

C'est que l'API de registration des commandes de MT est assez bas niveau en ce qui concerne les paramètres. Les paramètres de la commande sont passés bruts à la fonction correspondante, qui doit se débrouiller elle-même pour les traiter, sans que Minetest ne sache comment elle s'y prend.

matt8fr commented 7 years ago

ok je comprend c'est plus un souci de fonctionnement technique anarchique 😄