Introducción

Bienvenido a la documentación oficial de xGuard. Aquí encontrarás toda la información necesaria para instalar, configurar y sacar el máximo provecho de nuestros productos de seguridad para Minecraft.

Nuestra misión es proveer una suite de seguridad robusta, de alto rendimiento y fácil de usar para proteger tu servidor.

Requisitos Previos

  • Servidor Spigot, Paper, o Velocity (según el producto).
  • Java 17 o superior.
  • Conocimientos básicos de administración de servidores de Minecraft.

xAntiCheat

xAntiCheat es nuestra solución integral contra hacks y cheats. Utiliza análisis heurístico y de paquetes para detectar comportamientos ilegítimos con una precisión y rendimiento incomparables.

Instalación de xAntiCheat

Sigue estos pasos para instalar xAntiCheat en tu servidor:

  1. Descarga el archivo xAntiCheat.jar desde nuestra web (o donde lo distribuyas).
  2. Detén tu servidor de Minecraft.
  3. Coloca el .jar en la carpeta /plugins/ de tu servidor Spigot/Paper/etc.
  4. Inicia tu servidor. Se generará la carpeta /plugins/xAntiCheat/ con los archivos de configuración (config.yml, checks.yml, etc.).
  5. ¡Listo! xAntiCheat ya está activo. Revisa la configuración para ajustarlo a tus necesidades.

Configuración de xAntiCheat

La configuración principal se encuentra en config.yml dentro de la carpeta del plugin. Aquí puedes habilitar o deshabilitar chequeos específicos, configurar los comandos de castigo, ajustar la sensibilidad de las detecciones y personalizar mensajes.

config.yml (Ejemplo parcial)

# Archivo: plugins/xAntiCheat/config.yml

# Prefijo para los mensajes del plugin
prefix: "&8[&cXGuard&8] &f"

# Configuración de alertas para el staff (requiere permiso: xguard.alerts)
alerts:
  enabled: true
  message: "&7%player% &fha activado &c%check% &f(VL: &c%vl%&f)"

# Configuración de castigos automáticos
auto-ban:
  enabled: true
  violation-level: 100 # Nivel de violaciones para banear
  command: "ban %player% [xGuard] Detectado uso de hacks."

# Habilitar/deshabilitar chequeos globales (más detalles en checks.yml)
enable-checks:
  movement: true
  combat: true
  world: true
                    

Para ajustes más finos de cada detección (sensibilidad, umbrales, etc.), revisa el archivo checks.yml.

xAntiVPN

xAntiVPN bloquea conexiones de jugadores que usan VPNs, proxies o servicios de anonimato, ayudando a prevenir evasiones de baneo, ataques de bots y asegurando que solo jugadores legítimos puedan unirse a tu red.

Instalación de xAntiVPN

xAntiVPN está diseñado principalmente para redes BungeeCord o Velocity, aunque también puede funcionar en servidores Spigot/Paper individuales.

  1. Descarga el archivo xAntiVPN.jar adecuado para tu plataforma (Proxy o Bukkit).
  2. Coloca el .jar en la carpeta /plugins/ de tu proxy (BungeeCord/Velocity - Recomendado) o servidor backend (Spigot/Paper).
  3. Reinicia el proxy o servidor.
  4. Se generará la carpeta /plugins/xAntiVPN/ con el archivo config.yml.
  5. Configura tu API key (si usas un servicio externo para la detección) o ajusta las opciones según sea necesario.

Nota: Es altamente recomendable usar xAntiVPN en el proxy para bloquear las conexiones antes de que lleguen a los servidores backend.

API de xAntiVPN (Ejemplo Básico)

Si eres desarrollador, puedes integrar las comprobaciones de xAntiVPN en tus propios plugins. Asegúrate de añadir xAntiVPN como dependencia en tu `plugin.yml`.

Java API (Bukkit - Ejemplo)

import com.xguard.antivpn.api.XGuardVPNAPI; // Ajusta el import según tu estructura
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class MyPlugin extends JavaPlugin implements Listener {

    private XGuardVPNAPI vpnApi;

    @Override
    public void onEnable() {
        if (getServer().getPluginManager().isPluginEnabled("xAntiVPN")) {
            vpnApi = XGuardVPNAPI.getInstance(); // O el método estático que uses
            getServer().getPluginManager().registerEvents(this, this);
            getLogger().info("Integración con xAntiVPN activada.");
        } else {
            getLogger().warning("xAntiVPN no encontrado. La funcionalidad de VPN estará desactivada.");
            vpnApi = null;
        }
    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        if (vpnApi == null) return;

        Player player = event.getPlayer();
        String ipAddress = player.getAddress().getAddress().getHostAddress();

        // Comprobar si la IP es considerada VPN/Proxy por xAntiVPN
        // El método puede variar (async/sync, devolver boolean, etc.)
        boolean isProxy = vpnApi.isProxy(ipAddress); 

        if (isProxy) {
            player.sendMessage("§cHas sido detectado usando una VPN/Proxy (comprobado por MyPlugin).");
            // Aquí puedes añadir lógica adicional, como cancelar el evento o notificar al staff
        }
    }
}
                    

Consulta la documentación específica de la API (si la proporcionas por separado) para obtener detalles sobre todos los métodos disponibles y cómo usarlos correctamente (manejo asíncrono, caché, etc.).