Ce guide couvre le développement de ressources, la configuration de base de données, les outils d'administration, la gestion des joueurs, la gestion des véhicules et des armes, ainsi que le dépannage de votre serveur alt:V sur Legion Hosting. Pour la configuration initiale du serveur, la configuration de server.toml et les instructions de connexion, consultez le Guide de Configuration du Serveur alt:V.
Configuration Admin
alt:V ne dispose pas d'un système d'administration intégré. Les fonctionnalités d'administration sont implémentées via des ressources (scripts) que vous créez ou installez. La plupart des modes de jeu implémentent leur propre système d'administration avec des niveaux de permissions, des rôles et des commandes admin.
Approches Admin Courantes
- Rôles basés sur une base de données : La plupart des frameworks roleplay et de modes de jeu stockent les rôles admin dans une base de données. Les administrateurs se voient attribuer des rôles (par ex. modérateur, admin, superadmin) qui accordent différents niveaux de permissions.
- Admins basés sur la configuration : Les configurations plus simples peuvent utiliser un fichier de configuration listant les Steam IDs ou alt:V IDs des admins avec leurs niveaux de permissions.
- Commandes console : La console du serveur GPanel a toujours un accès complet. Vous pouvez écrire des scripts côté serveur qui acceptent les entrées console pour les opérations d'administration.
Configurer une Ressource Admin
- Choisissez ou développez une ressource admin adaptée à votre mode de jeu.
- Téléversez la ressource dans le répertoire
resources/via l'onglet Files ou SFTP. - Ajoutez le nom de la ressource au tableau
resourcesdansserver.toml. - Configurez la ressource admin (définissez vos Steam/alt:V IDs admin, niveaux de permissions, etc.).
- Redémarrez le serveur.
Système de Ressources
Les ressources sont les éléments de base des serveurs alt:V. Chaque ressource est un module autonome qui peut contenir du code côté serveur, côté client, ou les deux. Les ressources sont écrites en JavaScript, TypeScript ou C#.
Structure d'une Ressource
resources/
my-resource/
resource.toml <-- Resource configuration (required)
server/
index.js <-- Server-side entry point
utils.js <-- Additional server-side files
client/
index.js <-- Client-side entry point (runs in player's GTA V)
shared/
config.js <-- Shared code accessible by both server and client
Configuration de resource.toml
type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]
Champs : type (js ou csharp), main (point d'entrée côté serveur), client-main (point d'entrée côté client, s'exécute dans le GTA V du joueur), client-files (fichiers à envoyer au client, supporte les globs), deps (autres ressources à charger en premier).
Installation de Ressources
Pour installer une ressource pré-construite sur votre serveur :
- Téléchargez les fichiers de la ressource (généralement un dossier contenant
resource.tomlet les fichiers de script). - Arrêtez votre serveur dans GPanel.
- Téléversez le dossier de la ressource dans
resources/via l'onglet Files ou SFTP. - Ajoutez le nom du dossier de la ressource au tableau
resourcesdansserver.toml:
resources = ["existing-resource", "new-resource"]
- Si la ressource a des dépendances, assurez-vous qu'elles sont également installées et listées.
- Configurez la ressource selon sa documentation (fichiers de configuration, configuration de base de données, etc.).
- Démarrez le serveur. Vérifiez la console pour les messages de chargement des ressources et les éventuelles erreurs.
Supprimer une Ressource
- Arrêtez votre serveur.
- Supprimez le nom de la ressource du tableau
resourcesdansserver.toml. - Supprimez éventuellement le dossier de la ressource de
resources/. - Démarrez le serveur.
deps des autres ressources avant de supprimer.
Configuration de la Base de Données
La plupart des modes de jeu alt:V nécessitent une base de données pour stocker les données des joueurs, les véhicules, les inventaires et d'autres informations persistantes. Les deux systèmes de base de données les plus courants pour alt:V sont MongoDB et MySQL/MariaDB.
MongoDB
MongoDB est une base de données de documents NoSQL couramment utilisée avec les ressources JavaScript/TypeScript. Utilisez un service géré comme MongoDB Atlas (offre gratuite disponible) ou une instance auto-hébergée. Obtenez votre chaîne de connexion (par ex. mongodb+srv://user:[email protected]/mydb) et configurez-la dans le fichier de configuration de votre ressource. Les ressources Node.js utilisent le package npm mongodb.
MySQL / MariaDB
MySQL est couramment utilisé avec les ressources C# et certains frameworks JavaScript. Obtenez une base de données auprès d'un service géré ou d'une instance auto-hébergée, configurez vos ressources avec les détails de connexion (hôte, port, nom d'utilisateur, mot de passe, nom de la base de données) et exécutez les scripts de migration SQL requis.
Gestion des Joueurs
La gestion des joueurs dans alt:V se fait via vos ressources. Les opérations courantes incluent :
Identifier les Joueurs
alt:V fournit plusieurs identifiants pour chaque joueur connecté :
| Identifiant | Description |
|---|---|
player.id |
Un ID numérique temporaire attribué pour la session en cours. Change à la reconnexion. |
player.socialID |
L'ID Rockstar Social Club du joueur. Persistant entre les sessions. |
player.hwidHash |
Un hash d'identifiant matériel. Utile pour l'application des bannissements. |
player.ip |
L'adresse IP du joueur. |
Expulsion et Bannissement
Implémentez les fonctionnalités d'expulsion et de bannissement dans vos ressources :
import alt from "alt-server";
// Kick a player
player.kick("Reason for kick");
// Ban check on connect (store bans in database)
alt.on("playerConnect", (player) => {
if (isPlayerBanned(player.socialID)) {
player.kick("You are banned from this server.");
}
});
socialID et hwidHash pour une application fiable.
Gestion des Véhicules et des Armes
Les véhicules et les armes sont gérés via des scripts côté serveur. alt:V vous donne un contrôle total sur l'apparition, la modification et la suppression des véhicules et des armes.
Faire Apparaître des Véhicules
import alt from "alt-server";
// Spawn a vehicle at a position
const vehicle = new alt.Vehicle(
"sultan", // Vehicle model name
0, 0, 72, // Position (x, y, z)
0, 0, 0 // Rotation (rx, ry, rz)
);
vehicle.numberPlateText = "LEGION";
Donner des Armes
// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);
// Remove all weapons
player.removeAllWeapons();
Persistance des Véhicules
Par défaut, les véhicules n'existent qu'en mémoire serveur et sont perdus au redémarrage. Pour persister les véhicules entre les redémarrages, stockez leurs données (modèle, position, modifications, propriétaire) dans une base de données et recréez-les au démarrage du serveur.
Dépannage
Les Ressources ne se Chargent pas
- Vérifiez que le nom de la ressource dans
server.tomlcorrespond exactement au nom du dossier dansresources/. - Vérifiez que la ressource possède un fichier
resource.tomlvalide avec les champstypeetmaincorrects. - Consultez la console pour les messages d'erreur lors du chargement des ressources. Les erreurs de syntaxe dans les scripts empêcheront le démarrage de la ressource.
- Assurez-vous que toutes les dépendances listées dans
depssont installées et chargées. - Vérifiez que le bon module est chargé dans
server.toml(js-modulepour JavaScript,csharp-modulepour C#).
Les Joueurs ne Peuvent pas se Connecter
- Vérifiez que le serveur est en cours d'exécution et affiché comme en ligne dans GPanel.
- Vérifiez que les joueurs utilisent le lanceur alt:V, et non le lanceur GTA V classique.
- Assurez-vous que la branche du serveur alt:V correspond à celle des joueurs (release, rc ou dev). Des branches différentes empêchent les connexions.
- Si le serveur est protégé par mot de passe, vérifiez que les joueurs entrent le bon mot de passe.
- Demandez aux joueurs d'essayer la connexion directe avec l'IP et le port. Consultez Comment Trouver l'IP et le Port de votre Serveur.
Crashes du Serveur
- Consultez la console pour les messages d'erreur avant le crash.
- Les ressources défectueuses sont la cause la plus courante de crashes. Désactivez les ressources récemment ajoutées pour isoler le problème.
- Assurez-vous que vos fichiers serveur sont à jour. Déclenchez une réinstallation depuis l'onglet Startup si nécessaire.
- Les fuites de mémoire dans les ressources peuvent entraîner un manque de RAM du serveur au fil du temps. Surveillez les graphiques de ressources de GPanel pour une utilisation mémoire en augmentation constante.
Problèmes de Base de Données et de Voix
- Vérifiez les identifiants de base de données et les chaînes de connexion. Pour MongoDB Atlas, ajoutez l'IP de votre serveur à la liste blanche dans les paramètres d'accès réseau.
- Consultez la console pour les messages d'erreur de connexion à la base de données.
- Le chat vocal nécessite la section
[voice]dansserver.tomlainsi que des ressources qui implémentent la logique des canaux vocaux. La configuration seule ne met en place que l'infrastructure.
Problèmes de Performance
- Profilez vos ressources pour les opérations coûteuses (boucles lourdes, appels de base de données synchrones, création excessive d'entités).
- Utilisez
alt.setIntervaletalt.setTimeoutavec modération. Les opérations lourdes par tick sont le facteur de baisse de performance le plus courant. - Surveillez les graphiques de ressources de GPanel pour l'utilisation du CPU et de la RAM.
- Envisagez de mettre à niveau votre plan serveur pour un nombre élevé de joueurs. Ouvrez un ticket de support pour discuter des options.
Articles Connexes
- Guide de Configuration du Serveur alt:V — Configuration initiale, configuration de server.toml, chat vocal et instructions de connexion
- Comment Trouver l'IP et le Port de votre Serveur
- Comment Transférer des Fichiers via SFTP
- Guide de Démarrage du Serveur — Guide général pour démarrer n'importe quel serveur de jeu sur Legion Hosting
Besoin d'Aide Supplémentaire ?
Si vous rencontrez des problèmes non couverts par ce guide, notre équipe de support est disponible pour vous aider. Ouvrez un ticket sur legionhosting.net/submitticket.php avec les détails de votre serveur, une description du problème et tout message d'erreur pertinent de la console GPanel.