Sobre el proyecto

Dark Souls 3 - Open Server (ds3os) es una implementación de código abierto de los servidores de juego para Dark Souls 2 (SOTFS) y Dark Souls 3. Su propósito declarado es ofrecer una alternativa para jugar en línea con mods sin riesgo de ser baneado, o para jugadores que deseen sesiones privadas libres de tramposos e invasiones. El proyecto autentica tickets de Steam, por lo que no admite copias pirateadas, emuladores de Steam ni soluciones similares. Las descargas se publican en la página de versiones de GitHub. Tras la compilación, la salida incluye una carpeta Bin con subcarpetas Loader y Server: el cargador permite crear o unirse a un servidor, mientras que Server.exe ejecuta un servidor dedicado. En la primera ejecución, el servidor genera Saved\default\config.json, que contiene parámetros de emparejamiento que pueden ajustarse y aplicarse reiniciando. Los servidores pueden protegerse con contraseña mediante esa configuración. El cliente de Steam (sin necesidad de iniciar sesión) debe estar instalado para que Server.exe se inicialice. Una tabla de características enumera soporte para transporte de red, mensajes de anuncio, gestión de perfiles, mensajes de sangre, manchas de sangre, fantasmas, invocación, invasiones, auto-invocación (pactos), emparejamiento, tablas de clasificación, toque de campanas, partidas rápidas (arenas), telemetría, autenticación de tickets, soporte de servidor maestro, soporte de cargador, una WebUI de administración y fragmentación. Dark Souls 3 se describe como lo suficientemente estable para su uso, mientras que el soporte de Dark Souls 2 SOTFS es experimental y está en desarrollo. Una hoja de ruta menciona ajustes de mod por servidor (como eliminar límites de invocación) y un anticheat más fuerte. El proyecto utiliza sus propios archivos de guardado para evitar conflictos con los guardados comerciales; una opción del cargador puede copiar guardados comerciales a ds3os, pero copiarlos de vuelta no está automatizado intencionalmente. Se publican imágenes de Docker para el servidor principal y el servidor maestro, con un comando de ejecución de una línea que monta la carpeta Saved. Las notas de solución de problemas cubren privilegios de administrador para el lanzador, reenvío de puertos (50000, 50010, 50050, 50020 para TCP y UDP), reglas de firewall y valores correctos de ServerHostname/ServerPrivateHostname. Las propiedades de configuración están documentadas en RuntimeConfig.h. La compilación utiliza Visual Studio 2022 y C++17 con archivos de proyecto generados por CMake, y también se proporcionan comandos de compilación y ejecución con Nix. El repositorio contiene definiciones de Protobuf, recursos, código fuente para la DLL del inyector, el cargador, el servidor maestro de NodeJS, el servidor principal, código de servidor específico para Dark Souls 2 y 3, código compartido, bibliotecas de terceros, recursos estáticos de WebUI y herramientas de análisis. Se invitan contribuciones, particularmente para llamadas de servidor simuladas y campos de protobuf desconocidos. Los créditos reconocen la investigación comunitaria y varios repositorios relacionados de ingeniería inversa y modding.