À propos du projet

Waygate est une tentative d'implémentation d'un serveur basé sur le protocole de matchmaking d'Elden Ring. Son objectif est d'offrir une expérience en ligne plus proche de la vanille tout en permettant aux utilisateurs de modifier le jeu. Ce n'est pas une refonte : en dehors du remplacement du réseau peer-to-peer du jeu par quelque chose de plus supportable, le mod n'améliore pas en soi l'expérience en ligne. L'auteur s'attend à ce que d'autres mods implémentent des ajustements de l'expérience en ligne. Un avertissement note qu'après plus d'un an de tests avec environ 30 à 40 personnes, personne n'a signalé avoir été banni du jeu en ligne officiel, mais il n'y a aucune garantie que le serveur soit totalement sûr à utiliser. La configuration nécessite une base de données PostgreSQL pour stocker les messages, les taches de sang, les fantômes et plus encore. Le serveur exécute automatiquement les migrations une fois connecté à une base de données. Le jeu utilise des clés fixes pour démarrer la connexion et effectuer l'échange de clés, donc une paire de clés doit être générée une fois lors de la configuration à l'aide de l'outil waygate-generate-keys, qui imprime une paire de clés valide et des instructions pour l'appliquer à la commande de lancement du serveur et au waygate.toml du client. Le serveur est lancé avec des paramètres pour l'adresse de liaison, l'adresse de liaison API, la clé API, l'URL de la base de données, la clé publique du client et la clé secrète du serveur. Chaque paramètre a également une variable d'environnement correspondante. L'URL de la base de données suit la forme postgresql://NOMUTILISATEUR:MOTDEPASSE@HOTE/BASEDEDONNEES. Le serveur démarre également une API HTTP JSON pour les vérifications de santé automatisées, la diffusion de messages et plus à l'avenir. Ce serveur HTTP est lié séparément du serveur de jeu via le paramètre api-bind. L'authentification API utilise la clé API, qui doit correspondre aux requêtes HTTP entrantes. Plus de détails et d'exemples sur l'API sont dans le README de l'API du serveur. La configuration du client est marquée comme à déterminer. La configuration supplémentaire inclut la journalisation, spécifiée dans config/logging.yml en utilisant log4rs, et les annonces, définies dans config/announcement.yml. Une liste de fonctionnalités fonctionnelles inclut l'invocation par signe, les matchs rapides (arène), les invasions, les messages des joueurs, les taches de sang, les fantômes des joueurs, l'invocation par flaque, le bassin de Fia/Guerrrier Pot, les mots de passe de groupe et l'Anneau de Cipher Bleu. Le travail restant comprend le classement des matchs rapides, la densité des matchs (activité PvP sur la carte) et une grande quantité de messagerie liée à la télémétrie. Les crédits remercient Axi, Tremwil, TLeonardUK (Infini), les testeurs DEN, LukeYui, ClayAmore, Steelovsky, Mintal, Metalcrow, Shion, Dasaav et auramalexander (Dylan). Le projet est sous licence AGPL-3.0-only ; les versions modifiées exécutées pour les utilisateurs sur un réseau doivent rendre le code source correspondant disponible conformément à la section 13 de l'AGPLv3.