Page 1 sur 1

CSSharp

Posté : 05 janv. 2024, 17:24
par Papy___
cssharp.jpg



CounterStrikeSharp (CSSharp) est un framework qui fonctionne parallèlement à Metamod et qui facilite l'installation de plugins. CSSharp fonctionne sous Linux et Windows.


Pour commencer

Vous devez installer Metamod pour que CSSharp fonctionne. Vous devez installer la version DEV . Voici le lien pour télécharger la dernière version Metamod (ici)


Installation

Pour la 1ère installation vous devez prendre la version CSSharp avec runtime inclus donc au bas de ce tutoriel téléchargez la bonne version. Lorsque vous mettre à jour CSSharp vous ne serrez pas obligé de prendre la version avec runtime. Si vous prenez avec runtime ce n'est pas grave vous écrasez les anciens fichiers.

Une fois téléchargé et décompressé sur votre PC vous avez le dossier addons.
Ce dossier vous l'envoyez sur votre ftp serveur dans csgo
Comme vous avez déjà installé Metamod, le dossier addons existe déjà mais ne vous inquiétez pas il ne l'écrasera pas il enverra son contenu dedans.
Vous pouvez reboot votre serveur et en console si vous tapez meta list vous devriez voir
[Client] [01] CounterStrikeSharp (0.1.0) by Roflmuffin
Le plugin est bien installé et fonctionnel.


Un peu de configuration

Allez dans
addons/counterstrikesharp/configs
vous avez des fichiers example qui ne sont pas pris en compte car il faut les renommer en retirant dans le nom du fichier le .example
Lorsque c'est fait vous éditez le fichier core.json
Pour mettre le plugin en français vous remplacez
"ServerLanguage": "en"
en
"ServerLanguage": "fr"
et lorsque vous installerez des plugins, si ils ont une traduction fr c'est celle-ci qui sera appliquée.
Refermez et sauvegardez.

Dans le fichier admin_groups.json vous avez ceci

Code : Tout sélectionner

{
  "#css/admin": {
    "flags": [
      "@css/reservation",
      "@css/generic",
      "@css/kick",
      "@css/ban",
      "@css/unban",
      "@css/vip",
      "@css/slay",
      "@css/changemap",
      "@css/cvar",
      "@css/config",
      "@css/chat",
      "@css/vote",
      "@css/password",
      "@css/rcon",
      "@css/cheats",
      "@css/root"
    ],
    "immunity": 100
  }
}
le groupe c'est css/admin en dessous les flags autorisés et le niveau d'immunitée.
Vous pouvez créer d'autres groupes avec des autorisations différentes.

Voici un exemple. Je veux que le groupe se nomme modo avec le droit de kick, ban, slay et une immunité de 70. Ce qui donnera

Code : Tout sélectionner

{
  "#css/modo": {
    "flags": [
      "@css/kick",
      "@css/ban",
      "@css/slay"
    ],
    "immunity": 70
  }
}
et le fichier complet donnera ceci

Code : Tout sélectionner

{
  "#css/admin": {
    "flags": [
      "@css/reservation",
      "@css/generic",
      "@css/kick",
      "@css/ban",
      "@css/unban",
      "@css/vip",
      "@css/slay",
      "@css/changemap",
      "@css/cvar",
      "@css/config",
      "@css/chat",
      "@css/vote",
      "@css/password",
      "@css/rcon",
      "@css/cheats",
      "@css/root"
    ],
    "immunity": 100
  }
  
  "#css/modo": {
    "flags": [
      "@css/kick",
      "@css/ban",
      "@css/slay"
    ],
    "immunity": 70
  }
}
Pour l'immunité, un groupe niveau 90 ne pourra pas appliquer des actions sur le groupe de niveau 100 mais l'inverse oui.

vous pouvez voir sur la denière ligne qui commence par un @ il n'y a pas de virgule à la fin et c'est normal. Faites bien attention à ce genre de détails car ça suffit à ce que ça ne fonctionne pas.
Certains plugins peuvent fournir un flag pour accéder à la fonction. Par exemple @css/pluginsfr. Dans ce cas vous éditez le fichier admin_groups.json et vous ajoutez le flag dans le groupe qui doit y avoir accès.

Vous avez définis vos groupes, maintenant on va mettre des joueurs dedans.
Vous éditez le fichier
addons/counterstrikesharp/configs/admins.json
voici son contenu

Code : Tout sélectionner

{
  "Erikj": {
    "identity": "76561197960265731",
    "immunity": 100,
    "flags": [
      "@css/custom-flag-1",
      "@css/custom-flag-2"
    ],
    "groups": [
      "#css/admin"
    ],
    "command_overrides": {
      "css_plugins": true,
      "css": false
    }
  },
  "Another erikj": {
    "identity": "STEAM_0:1:1",
    "flags": ["@mycustomplugin/admin"]
  }
}
description :
  • Erikj = pseudo du joueur
  • "identity" = Steamid au format Steamid 64
  • immunity = niveau d'immunité.
  • "flags" = vous n'êtes pas obligé d'en mettre vu que c'est le groupe qui définit vos droits
  • "groups" = définir le groupe
  • "command_override" = vous permet d'attribuer une commande de plugin spécifique à un joueur.
Je n'ai pas testé mais pour l'accès à 2 joueurs ce serait

Code : Tout sélectionner

{
  "Erikj": {
    "identity": "76561197960265731",
    "immunity": 100,
    "flags": [
      "@css/custom-flag-1",
      "@css/custom-flag-2"
    ],
    "groups": [
      "#css/admin"
    ],
    "command_overrides": {
      "css_plugins": true,
      "css": false
    }
  },
  "JOUEUR 2": {
    "identity": "75842569412545841",
    "immunity": 70,
    "flags": [
    ],
    "groups": [
      "#css/modo"
    ],
    "command_overrides": {
    }
  }
}
Veillez à respecter scrupuleusement les caractères { - } , [ ]


Source : https://github.com/roflmuffin/CounterStrikeSharp