Modding API : introduction et sécurité

Introduction

Cet API (Application Programming Interface ou l'Interface de programmation) est une interface pour remplacer et étendre les fonctionnalités de jeu.  Les fonctionnalités disponibles évolueront en fonction des souhaits de l'utilisateur avec le temps.

Le jeu fonctionne avec un compilateur C# qui autorise les scripts automatiques qui se compilent au début du jeu.

Le dossier Mods de l'utilisateur se trouve ici sur:
Windows C:\Users\\AppData\Local\Colossal Order\Cities_Skylines\Addons\Mods
Mac /Users//Library/Application Support/Colossal Order/Cities_Skylines/Addons/Mods
Linux /home//.local/share/Colossal Order/Cities_Skylines/Addons/Mods/


Chaque mod est implémenté dans un sous dossier du même nom que le mod qui contient un dossier Source où le script C# se trouve. Quand le jeu commence, il va compiler tous les fichiers du dossier Source et va créer un fichier .dll à la racine du dossier Mod. Ce fichier .dll est à son tour exécute et met en œuvre les comportements personnalisés.

Le mod met en œuvre un ensemble d'interfaces définies dans le montage de ICities. Il est possible d'utiliser  Microsoft Visual Studio ou un autre EDI pour compiler un .dll et contourner la compilation automatique que le jeu prévoit. ICities.dll contient les définitions de l'interface et se trouve à cet accès : 
\SteamApps\common\Cities_Skylines\Cities_Data\Managed\ICities.dll

Le montage peut être ajouté comme une référence de projets Visual Studio, permettant aux développeurs de mettre à profit un code d'achèvement intelligent lors de l'écriture de mods. Visual Studio peut également servir à compiler le code vers les montages, ce qui nécessite l'utilisation de techniques de modding poussées.
L'ensemble du langage C# 3.5 est disponible, ainsi que les fonctionnalités du montage UnityEngine. Il faut passer par le gestionnaire de contenu pour partager le mod.

Prendre en compte la sécurité

Le code des mods dans Cities: Skylines n'est pas exécuté dans le bac à sable.
Bien que nous (Colossal Order/Paradox Interactive) faisons confiance à la communauté de joueurs quant à leurs comportements et ainsi, ne pas mettre en ligne des mods malveillants qui, intentionnellement, causeraient des dommages aux utilisateurs car ce qui est partagé dans l'atelier Workshop ne peut être contrôlé.
Comme avec tous les fichiers acquis de l'Internet, la prudence est recommandée lorsque quelque chose est très suspect. Il est toujours possible de désactiver le mod.

Commentaires