À propos du projet

Dark Souls 3 - Open Server (ds3os) est une implémentation open source des serveurs de jeu pour Dark Souls 2 (SOTFS) et Dark Souls 3. Son objectif déclaré est d'offrir une alternative pour jouer en ligne avec des mods sans risque de bannissement, ou pour les joueurs souhaitant des sessions privées sans tricheurs ni invasions. Le projet authentifie les tickets Steam, il ne prend donc pas en charge les copies piratées, les émulateurs Steam ou autres solutions similaires. Les téléchargements sont publiés sur la page des versions GitHub. Après compilation, la sortie comprend un dossier Bin avec les sous-dossiers Loader et Server : le loader permet de créer ou rejoindre un serveur, tandis que Server.exe exécute un serveur dédié. Au premier lancement, le serveur émet Saved\default\config.json, qui contient les paramètres de matchmaking pouvant être ajustés et appliqués en redémarrant. Les serveurs peuvent être protégés par mot de passe via cette configuration. Le client Steam (sans connexion requise) doit être installé pour que Server.exe s'initialise. Un tableau de fonctionnalités liste le support du transport réseau, des messages d'annonce, de la gestion des profils, des messages de sang, des taches de sang, des fantômes, de l'invocation, des invasions, de l'auto-invocation (covenants), du matchmaking, des classements, de la sonnerie de cloche, des matchs rapides (arènes), de la télémétrie, de l'authentification des tickets, du support du serveur maître, du support du loader, d'une interface Web d'administration et du sharding. Dark Souls 3 est décrit comme suffisamment stable pour une utilisation, tandis que le support de Dark Souls 2 SOTFS est expérimental et en cours de développement. Une feuille de route mentionne des paramètres de mods par serveur (comme la suppression des limites d'invocation) et un anti-triche renforcé. Le projet utilise ses propres fichiers de sauvegarde pour éviter les conflits avec les sauvegardes commerciales ; une option du loader peut copier les sauvegardes commerciales dans ds3os, mais la copie inverse n'est volontairement pas automatisée. Des images Docker sont publiées pour le serveur principal et le serveur maître, avec une commande d'exécution en une ligne qui monte le dossier Saved. Les notes de dépannage couvrent les privilèges administrateur pour le lanceur, la redirection de ports (50000, 50010, 50050, 50020 pour TCP et UDP), les règles de pare-feu et les valeurs correctes de ServerHostname/ServerPrivateHostname. Les propriétés de configuration sont documentées dans RuntimeConfig.h. La compilation utilise Visual Studio 2022 et C++17 avec des fichiers de projet générés par CMake, et des commandes de compilation/exécution Nix sont également fournies. Le dépôt contient des définitions Protobuf, des ressources, le code source de la DLL d'injection, le loader, le serveur maître NodeJS, le serveur principal, le code serveur spécifique aux jeux pour Dark Souls 2 et 3, du code partagé, des bibliothèques tierces, des ressources statiques WebUI et des outils d'analyse. Les contributions sont invitées, en particulier pour les appels serveur non implémentés et les champs protobuf inconnus. Les crédits reconnaissent la recherche communautaire et plusieurs dépôts liés à la rétro-ingénierie et au modding.