Esta guía cubre el desarrollo de recursos, configuración de bases de datos, herramientas de administración, gestión de jugadores, gestión de vehículos y armas, y solución de problemas para tu servidor alt:V en Legion Hosting. Para la configuración inicial del servidor, configuración de server.toml e instrucciones de conexión, consulta Guía de Configuración del Servidor alt:V.
Configuración de Administración
alt:V no tiene un sistema de administración integrado. La funcionalidad de administración se implementa a través de recursos (scripts) que tú creas o instalas. La mayoría de los modos de juego implementan su propio sistema de administración con niveles de permisos, roles y comandos de administrador.
Enfoques Comunes de Administración
- Roles respaldados por base de datos: La mayoría de los frameworks de roleplay y modos de juego almacenan roles de administrador en una base de datos. A los administradores se les asignan roles (por ejemplo, moderador, admin, superadmin) que otorgan diferentes niveles de permisos.
- Administradores basados en configuración: Las configuraciones más simples pueden usar un archivo de configuración que lista los Steam IDs o alt:V IDs de los administradores con sus niveles de permisos.
- Comandos de consola: La consola del servidor en GPanel siempre tiene acceso completo. Puedes escribir scripts del lado del servidor que acepten entrada de consola para operaciones de administración.
Configuración de un Recurso de Administración
- Elige o desarrolla un recurso de administración que se adapte a tu modo de juego.
- Sube el recurso al directorio
resources/a través de la pestaña Files o SFTP. - Añade el nombre del recurso al array
resourcesenserver.toml. - Configura el recurso de administración (establece tus Steam/alt:V IDs de administrador, niveles de permisos, etc.).
- Reinicia el servidor.
Sistema de Recursos
Los recursos son los bloques de construcción principales de los servidores alt:V. Cada recurso es un módulo autónomo que puede contener código del lado del servidor, código del lado del cliente, o ambos. Los recursos se escriben en JavaScript, TypeScript o C#.
Estructura de Recursos
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
Configuración de resource.toml
type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]
Campos: type (js o csharp), main (punto de entrada del lado del servidor), client-main (punto de entrada del lado del cliente, se ejecuta en el GTA V del jugador), client-files (archivos para enviar al cliente, soporta globs), deps (otros recursos que se deben cargar primero).
Instalación de Recursos
Para instalar un recurso pre-construido en tu servidor:
- Descarga los archivos del recurso (normalmente una carpeta que contiene
resource.tomly archivos de script). - Detén tu servidor en GPanel.
- Sube la carpeta del recurso a
resources/a través de la pestaña Files o SFTP. - Añade el nombre de la carpeta del recurso al array
resourcesenserver.toml:
resources = ["existing-resource", "new-resource"]
- Si el recurso tiene dependencias, asegúrate de que también estén instaladas y listadas.
- Configura el recurso según su documentación (archivos de configuración, configuración de base de datos, etc.).
- Inicia el servidor. Revisa la consola para mensajes de carga de recursos y cualquier error.
Eliminar un Recurso
- Detén tu servidor.
- Elimina el nombre del recurso del array
resourcesenserver.toml. - Opcionalmente elimina la carpeta del recurso de
resources/. - Inicia el servidor.
deps en otros recursos antes de eliminar.
Configuración de Base de Datos
La mayoría de los modos de juego de alt:V requieren una base de datos para almacenar datos de jugadores, vehículos, inventarios y otra información persistente. Los dos sistemas de base de datos más comunes para alt:V son MongoDB y MySQL/MariaDB.
MongoDB
MongoDB es una base de datos de documentos NoSQL comúnmente utilizada con recursos de JavaScript/TypeScript. Usa un servicio administrado como MongoDB Atlas (nivel gratuito disponible) o una instancia auto-alojada. Obtén tu cadena de conexión (por ejemplo, mongodb+srv://user:[email protected]/mydb) y configúrala en el archivo de configuración de tu recurso. Los recursos de Node.js usan el paquete npm mongodb.
MySQL / MariaDB
MySQL se usa comúnmente con recursos de C# y algunos frameworks de JavaScript. Obtén una base de datos de un servicio administrado o instancia auto-alojada, configura tus recursos con los detalles de conexión (host, port, nombre de usuario, contraseña, nombre de base de datos) y ejecuta cualquier script de migración SQL requerido.
Gestión de Jugadores
La gestión de jugadores en alt:V se maneja a través de tus recursos. Las operaciones comunes incluyen:
Identificación de Jugadores
alt:V proporciona varios identificadores para cada jugador conectado:
| Identificador | Descripción |
|---|---|
player.id |
Un ID numérico temporal asignado para la sesión actual. Cambia al reconectarse. |
player.socialID |
El ID de Rockstar Social Club del jugador. Persistente entre sesiones. |
player.hwidHash |
Un hash de identificación de hardware. Útil para la aplicación de prohibiciones. |
player.ip |
La dirección IP del jugador. |
Expulsión y Prohibición
Implementa la funcionalidad de expulsión y prohibición en tus recursos:
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 y hwidHash para una aplicación confiable.
Gestión de Vehículos y Armas
Los vehículos y las armas se gestionan a través de scripts del lado del servidor. alt:V te da control total sobre la creación, modificación y eliminación de vehículos y armas.
Crear Vehículos
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";
Dar Armas
// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);
// Remove all weapons
player.removeAllWeapons();
Persistencia de Vehículos
Por defecto, los vehículos existen solo en la memoria del servidor y se pierden al reiniciar. Para persistir vehículos entre reinicios, almacena sus datos (modelo, posición, modificaciones, propietario) en una base de datos y recréalos al iniciar el servidor.
Solución de Problemas
Los Recursos No Cargan
- Verifica que el nombre del recurso en
server.tomlcoincida exactamente con el nombre de la carpeta enresources/. - Verifica que el recurso tenga un archivo
resource.tomlválido con los campostypeymaincorrectos. - Revisa la consola para mensajes de error durante la carga del recurso. Los errores de sintaxis en los scripts impedirán que el recurso se inicie.
- Asegúrate de que todas las dependencias listadas en
depsestén instaladas y cargadas. - Verifica que el módulo correcto esté cargado en
server.toml(js-modulepara JavaScript,csharp-modulepara C#).
Los Jugadores No Pueden Conectarse
- Verifica que el servidor esté en ejecución y se muestre como en línea en GPanel.
- Comprueba que los jugadores estén usando el launcher de alt:V, no el launcher regular de GTA V.
- Asegúrate de que la rama del servidor alt:V coincida con la que tienen los jugadores (release, rc o dev). Las ramas no coincidentes impiden las conexiones.
- Si está protegido con contraseña, verifica que los jugadores estén ingresando la contraseña correcta.
- Haz que los jugadores intenten la conexión directa con la IP y el port. Consulta Cómo Encontrar la IP y el Puerto de tu Servidor.
Caídas del Servidor
- Revisa la consola para mensajes de error antes de la caída.
- Los recursos defectuosos son la causa más común de caídas. Desactiva los recursos añadidos recientemente para aislar el problema.
- Asegúrate de que los archivos de tu servidor estén actualizados. Activa una reinstalación desde la pestaña Startup si es necesario.
- Las fugas de memoria en los recursos pueden causar que el servidor se quede sin RAM con el tiempo. Monitorea los gráficos de recursos de GPanel para detectar un uso de memoria en aumento constante.
Problemas de Base de Datos y Voz
- Verifica las credenciales de la base de datos y las cadenas de conexión. Para MongoDB Atlas, añade la IP de tu servidor a la lista blanca en la configuración de acceso de red.
- Revisa la consola para mensajes de error de conexión a la base de datos.
- El chat de voz requiere la sección
[voice]enserver.tomlmás recursos que implementen la lógica del canal de voz. La configuración por sí sola solo establece la infraestructura.
Problemas de Rendimiento
- Analiza el rendimiento de tus recursos buscando operaciones costosas (bucles pesados, llamadas síncronas a la base de datos, creación excesiva de entidades).
- Usa
alt.setIntervalyalt.setTimeoutcon moderación. Las operaciones pesadas por tick son la causa más común de problemas de rendimiento. - Monitorea los gráficos de recursos de GPanel para el uso de CPU y RAM.
- Considera actualizar el plan de tu servidor para altas cantidades de jugadores. Abre un ticket de soporte para discutir opciones.
Artículos Relacionados
- Guía de Configuración del Servidor alt:V — Configuración inicial, configuración de server.toml, chat de voz e instrucciones de conexión
- Cómo Encontrar la IP y el Puerto de tu Servidor
- Cómo Subir Archivos vía SFTP
- Guía de Inicio del Servidor — Guía general para iniciar cualquier servidor de juegos en Legion Hosting
¿Necesitas Más Ayuda?
Si estás experimentando problemas no cubiertos en esta guía, nuestro equipo de soporte está disponible para asistirte. Abre un ticket en legionhosting.net/submitticket.php con los detalles de tu servidor, una descripción del problema y cualquier mensaje de error relevante de la consola de GPanel.